要點:
1.確認伺服器端SQL服務埠號是否為:1433
2.如果不是1433,配置客戶端
3.建立伺服器端登錄帳號,確保角色及管理資料庫
一、查看伺服器端情況
1. 看ping 伺服器IP能否ping通。
這個實際上是看和遠程sql server 伺服器的物理連接是否存在。如果不行,請檢查網路,查看配置,當然得確保遠程sql server 伺服器的IP拼寫正確。
2. 在Dos或命令行下輸入telnet 伺服器IP 埠,看能否連通。
如telnet 202.114.100.100 1433
通常埠值是1433,因為1433是sql server 的對於Tcp/IP的默認偵聽埠。如果有問題,通常這一步會出問題。通常的提示是「……無法打開連接,連接失敗"。
如果這一步有問題,應該檢查以下選項。
1) 檢查遠程伺服器是否啟動了sql server 服務。如果沒有,則啟動。
2) 檢查sql server伺服器端有沒啟用Tcp/IP協議,因為遠程連接(通過網際網路)需要靠這個協議。檢查方法是,在伺服器上打開 開始菜單->程序->Microsoft SQL Server->伺服器網路實用工具,看啟用的協議里是否有tcp/ip協議,如果沒有,則啟用它。
3) 檢查伺服器的tcp/ip埠是否配置為1433埠。仍然在伺服器網路實用工具里查看啟用協議裡面的tcp/ip的屬性,確保默認埠為1433,並且隱藏伺服器復選框沒有勾上。
事實上,如果默認埠被修改,也是可以的,但是在客戶端做telnet測試時,寫伺服器埠號時必須與伺服器配置的埠號保持一致。如果隱藏sql server伺服器復選框被勾選,則意味著客戶端無法通過枚舉伺服器來看到這台伺服器,起到了保護的作用,但不影響連接,但是Tcp/ip協議的默認埠將被隱式修改為2433,在客戶端連接時必須作相應的改變(具體方式見 二:設置客戶端網路實用工具)。
4) 如果伺服器端操作系統打過sp2補丁,則要對windows防火牆作一定的配置,要對它開放1433埠,通常在測試時可以直接關掉windows防火牆(其他的防火牆也關掉最好)。(4、5步我沒有做就成功了)
5) 檢查伺服器是否在1433埠偵聽。如果sql server伺服器沒有在tcp連接的1433埠偵聽,則是連接不上的。檢查方法是在伺服器的dos或命令行下面輸入
netstat -a -n 或者是netstat -an,在結果列表裡看是否有類似 tcp 127.0.0.1 1433 listening 的項。如果沒有,則通常需要給sql server 2000打上至少sp3的補丁。其實在伺服器端啟動查詢分析器,輸入select @@version 執行後可以看到版本號,版本號在8.0.2039以下的都需要打補丁。
如果以上都沒問題,這時你再做telnet 伺服器ip 1433 測試,將會看到屏幕一閃之後游標在左上角不停閃動。恭喜你,你馬上可以開始在企業管理器或查詢分析器連接
⑵ sql server 什麼是全外連接,左外連接,右外連接,它們的區別又是什麼
全外連接就是左外連接和右外連接的結合。
左外連接和右外連接的區別如下:
1、數據集合上的區別
(1)左外連接:是A與B的交集,然後連接A的所有數據。
(2)右外連接:是A與B的交集,然後連接B的所有數據。
2、計算方法上的區別
(1)左外連接:計算方法是,A左連接B記錄=表3的公用記錄集C +表A的記錄集A1。
(2)右外連接:計算方法是,A右連接B記錄=圖3公共部分記錄集C +表B記錄集B1。
3、語法上的區別
(1)左外連接:SELECT * FROM aleft OUTER JOIN bON a.`ageId` = b.`id`。
(2)右外連接:SELECT * FROM aright OUTER JOIN bON a.`ageId` = b.`id`。
⑶ 在用sql語句查詢資料庫時,何時用左外連接
即從左表中取得所有的行.
如:員工表(左)和工資表(右), 如果是用左外連接,那麼不管該員工有沒有工資都會顯示。如果用inner join 則只顯示有工資的員工。
⑷ sql左外連接和右外連接的區別
一、數據集合不同
1、左外連接:是A和B的交集再並上A的所有數據。
2、右外連接:是A和B的交集再並上B的所有數據。
二、語法不同
1、左外連接:SELECT *FROM aLEFT OUTER JOIN bON a.`ageId` = b.`id`。
2、右外連接:SELECT *FROM aright OUTER JOIN bON a.`ageId` = b.`id`。
三、運算方式不同
1、左外連接:其運算方式為:A左連接B的記錄=圖3公共部分記錄集C+表A記錄集A1。
2、右外連接:其運算方式為:A右連接B的記錄=圖3公共部分記錄集C+表B記錄集B1 。
⑸ 一道關於SQL資料庫外連接的問題,實在不會做,拜託各位啦~~
selectstudent.學號,student.姓名,SC.學號,SC.課程號,SC.成績,course.課程號,course.課程名,course.學分
fromstudentstudent
leftjoinSConstudent.學號=SC.學號
leftjoincourseoncourse.課程號=student.課程號
where(查詢條件,比如哪個班,grade=XX……)
解釋:select後面到from之前的部分是你想顯示出來的欄位名稱,
from表a,leftjoin表bon表a和表b關聯的欄位,比如表a的學號和表b的學號是關聯的,後同
where查詢條件,比如你要查詢的是某個班級或者某段時間……
leftjoin這個是左連接,就是把左邊的表的左右選中欄位顯示出來,如果後面關聯的表的哪一行有數據就顯示出來關聯的數據,如果沒有,那麼現實null反正,第一個表的數據時一定會顯示出來的,而且是顯示在一個表裡面
顯示的結果看下面的圖片
⑹ 如何連接遠程計算機的SQL資料庫
在你需要訪問的數據的
外圍配置里
,在sever配置里把那些紅色的都點擊開啟變成綠色。
如果你想用IP訪問資料庫,那麼就要在sqlsever網路配置里,把那個TCP/IP開啟。
然後用被訪問的資料庫SA和密碼訪問
⑺ 如何建立sqlserver 外部資料庫連接
Windows Vista 和 Windows Server 2008 以及更高版本
以下過程通過使用具有高級安全 Microsoft 管理控制台 (MMC) 管理單元的 Windows 防火牆來配置該 Windows 防火牆。從 Windows Vista 和 Windows Server 2003 開始提供此管理單元。高級安全 Windows 防火牆僅配置當前配置文件。有關高級安全 Windows 防火牆的詳細信息,請參閱配置 Windows 防火牆以允許 SQL Server 訪問。
打開 Windows 防火牆的埠以進行 TCP 訪問
在「開始」菜單上,單擊「運行」,鍵入 WF.msc,然後單擊「確定」。
在「高級安全 Windows 防火牆」的左窗格中,右鍵單擊「入站規則」,然後在操作窗格中單擊「新建規則」。
在「規則類型」對話框中,選擇「埠」,然後單擊「下一步」。
在「協議和埠」對話框中,選擇 TCP。選擇「特定本地埠」,然後鍵入資料庫引擎實例的埠號,例如默認實例的埠號 1433。單擊「下一步」。
在「操作」對話框中,選擇「允許連接」,然後單擊「下一步」。
在「配置文件」對話框中,選擇在您想要連接到資料庫引擎時描述計算機連接環境的任何配置文件,然後單擊「下一步」。
在「名稱」對話框中,輸入此規則的名稱和說明,再單擊「完成」。
在使用動態埠時打開對 SQL Server 的訪問
在「開始」菜單上,單擊「運行」,鍵入 WF.msc,然後單擊「確定」。
在「高級安全 Windows 防火牆」的左窗格中,右鍵單擊「入站規則」,然後在操作窗格中單擊「新建規則」。
在「規則類型」對話框中,選擇「程序」,然後單擊「下一步」。
在「程序」對話框中,選擇「此程序路徑」。單擊「瀏覽」,導航到要通過防火牆訪問的 SQL Server 實例,再單擊「打開」。默認情況下,SQL Server 位於 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe。單擊「下一步」。
在「操作」對話框中,選擇「允許連接」,然後單擊「下一步」。
在「配置文件」對話框中,選擇在您想要連接到資料庫引擎時描述計算機連接環境的任何配置文件,然後單擊「下一步」。
在「名稱」對話框中,輸入此規則的名稱和說明,再單擊「完成」。
網路查詢解決方案:
Step 1: 在伺服器圖標上單擊右鍵,選擇property,然後選connection,把allow remote connection選上,這一步的目的是讓資料庫允許遠程連接。
Step 2: 在資料庫伺服器圖標上,展開目錄,找到Security下的Logins子目錄樹,設置SA賬戶的屬性,改password,在status欄里,login選上enable。這一步的目的是,允許遠程客戶端使用sa用戶鄧肯,sa是system administrator的縮寫,擁有資料庫最高管理許可權,默認狀態下是禁用的。
Step3:在資料庫伺服器圖標上右鍵,打開Facets選項把RemoteDacEnabled的value改成true。這一步的目的是允許建立遠程專用管理員連接,此種連接擁有最高許可權,即使無法建立標准連接,也可以建立DAC連接。
Step4:開啟服務,打開SQL Server Configuration Tool,打開網路配置,選擇TCP/IP協議,點開屬性,IP地址填資料庫所在伺服器的IP地址,如果是本地伺服器,填127.0.0.1。
⑻ sql 怎樣外網連接遠程資料庫
這好像不是你資料庫設置的問題,而是區域網的問題,你試試看,在控制面板>管理工具>本地安全策略,中啟動你和對方的guest帳號,網路訪問方式改為經典-本地訪問 ,在拒絕從網路訪問這台計計算機中刪除所有的,拒絕做為伺服器登陸中清空所有的,然後關閉windows防火牆,
區域網內winXP(professional)的訪問是個經常困擾大家的不大不小的問題,上次說我不夠詳細,你現在可以按以下的方法試一下,如果不成功,也可照此方法來解決區域網中經常出現的莫名奇妙的錯誤!!!我也是做DBMS的,出現的很多問題,貌似資料庫故障,其實不然!!
一、首先啟用guest來賓帳戶;
二、控制面板→管理工具→本地安全策略→本地策略→用戶權利指派里,「從網路訪問此計算機」中加入guest帳戶,而「拒絕從網路訪問這台計算機」中刪除guest帳戶;
三、我的電腦→工具→文件夾選項→查看→去掉「使用簡單文件共享(推薦)」前的勾;
四、設置共享文件夾;
五、控制面板→管理工具→本地安全策略→本地策略→安全選項里,把「網路訪問:本地帳戶的共享和安全模式」設為「僅來賓-本地用戶以來賓的身份驗證」(可選,此項設置可去除訪問時要求輸入密碼的對話框,也可視情況設為「經典-本地用戶以自己的身份驗證」);
六、右擊「我的電腦」→「屬性」→「計算機名」,該選項卡中有沒有出現你的區域網工作組名稱,如「work」等。然後單擊「網路 ID」按鈕,開始「網路標識向導」:單擊「下一步」,選擇「本機是商業網路的一部分,用它連接到其他工作著的計算機」;單擊「下一步」,選擇「公司使用沒有域的網路」;單擊「下一步」按鈕,然後輸入你的區域網的工作組名,如「work」,再次單擊「下一步」按鈕,最後單擊「完成」按鈕完成設置。
一般經過以上步驟,基本可以解決。如果不行,再往下看:
七、檢查本地連接是否被禁用,右擊「本地連接」→「啟用」;
八、關閉網路防火牆;
九、檢查是否啟用了域,是否加入了該域並檢查域設置;
十、檢查是否關閉了server服務;
十一、檢查本地連接IP、子網掩碼、網關及DNS設置是否有誤;
十二、「本地連接」→屬性→常規,檢查是否安裝了「Microsoft網路文件和列印機共享」、「Microsoft網路客戶端」以及TCP/IP協議;
十三、某些區域網游戲和軟體須安裝NetBEUI協議。而且網上有文章說,在小型區域網中,微軟在WinXP中只支持的TCP/IP協議和NWLink IPX/SPX/NetBIOS兼容協議表現不盡如人意,在小型區域網(擁有200台左右電腦的網路)中NetBEUI是佔用內存最少、速度最快的一種協議。
安裝方法:
①放入Windows XP安裝光碟,到「valueaddMsft et etbeui」目錄下將Netnbf.inf復制C:\Windows\INF中;
②將Nbf.sys復制到C:\Windows\System32\Drivers中;
③開始→控制面板→網上鄰居」→「網路連接」→「本地連接」(就是你目前使用中的區域網連接)上按右鍵→「屬性」→「常規」→「安裝」→「通訊協議」→→「添加」,此時就可以看到「NetBEUI Protocol」這一項(此項原來是沒有的),選取NetBEUI之後,按確定就OK了。
十四、作為網路瀏覽伺服器的電腦由於病毒、配置低運行慢以及死機等原因導致網路上的計算機列表得不到更新,使得某些機器有時候在網上鄰居中找不到。
解決辦法:最簡單的辦法是重啟各種網路設備和電腦,或者關閉個別有上述問題的電腦上的網路瀏覽伺服器功能,方法如下:
win2000/XP下禁用Computer Browser服務
十五、給系統打上補丁。WinXP訪問網上鄰居的速度較慢,這是WinXP的一個Bug,當我們打開網上鄰居時,操作系統首先會從計劃任務中進行查找,因此就大大影響了訪問的速度,除非您已經安裝了SP1補丁才不會存在這個問題。
可以手工解決這一問題。從注冊表中找到「\HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace」,這里有一個名為「{D6277990-4C6A-11CF-8D87-00AA0060F5BF}」的子鍵,該子鍵指向「計劃任務(Scheled Tasks)」,將它直接刪除即可。
十六、先卸載網卡驅動,重啟再重裝;
十七、硬體問題,檢查網卡、網線、集線器、路由器等,在檢查之前,最好先重啟一下網路設備(集線器、交換機、路由器)看能否解決;
十八、病毒(木馬)原因。升級病毒庫安全模式下全盤殺毒。
參考資料:經驗
⑼ 外網怎麼連sql資料庫
1. 如果你可以調整單位的 防火牆 或者 路由器
你可以做nat地址轉換, 將單位對外伺服器上的 某2個 埠 映射到 區域網上資料庫的 1433和1434埠。
不過這樣 就把 資料庫暴露在外網了, 有風險
2. 樓上說的vpn,是很安全的做法, 不過需要架設vpn才行。
3. 其他好像什麼辦法了。