遠程連接SQL Server 服務器的解決方案
需求如下需要遠程連接外地的SQL Server 服務器
測試條件一個公網IP兩個靜態IP
具體步驟
一ping服務器IP能否ping通
觀察遠程SQL Server 服務器的物理連接是否存在如果不行請檢查網絡查看配置當然得確保遠程sql server 服務器的IP拼寫正確
二 在Dos或命令行下輸入telnet 服務器IP 端口看能否連通
如telnet
通常端口值是因為是SQL Server 的對於Tcp/IP的默認偵聽端口如果有問題通常這一步會出問題通常的提示是……無法打開連接連接失敗
如果這一步有問題應該檢查以下選項
檢查遠程服務器是否啟動了sql server 服務如果沒有則啟動
檢查服務器端有沒啟用Tcp/IP協議因為遠程連接(通過因特網)需要靠這個協議檢查方法是在服務器上打開 開始菜單>程序>Microsoft SQL Server>服務器網絡實用工具看啟用的協議裡是否有tcp/ip協議如果沒有則啟用它
檢查服務器的tcp/ip端口是否配置為端口仍然在服務器網絡實用工具裡查看啟用協議裡面的tcp/ip的屬性確保默認端口為並且隱藏服務器復選框沒有勾上
事實上如果默認端口被修改也是可以的但是在客戶端做telnet測試時寫服務器端口號時必須與服務器配置的端口號保持一致如果隱藏服務器復選框被勾選則意味著客戶端無法通過枚舉服務器來看到這台服務器起到了保護的作用但不影響連接但是Tcp/ip協議的默認端口將被隱式修改為在客戶端連接時必須作相應的改變
如果服務器端操作系統打過sp補丁則要對windows防火牆作一定的配置要對它開放端口通常在測試時可以直接關掉windows防火牆(其他的防火牆也關掉最好)
檢查服務器是否在端口偵聽如果服務器沒有在tcp連接的端口偵聽則是連接不上的檢查方法是在服務器的dos或命令行下面輸入netstat a n 或者是netstat an在結果列表裡看是否有類似 tcp listening 的項如果沒有則通常需要給sql server 打上至少sp的補丁其實在服務器端啟動查詢分析器輸入 select @@version 執行後可以看到版本號版本號在以下的都需要打補丁
如果以上都沒問題這時你再做telnet 服務器ip 測試將會看到屏幕一閃之後光標在左上角不停閃動恭喜你你馬上可以開始在企業管理器或查詢分析器連接了
三檢查客戶端設置
程序>Microsoft SQL Server > 客戶端網絡使用工具像在服務器網絡實用工具裡一樣確保客戶端tcp/ip協議啟用並且默認端口為(或其他端口與服務器端保持一致就行)
四在企業管理器裡或查詢那分析器連接測試
企業管理器>右鍵SQlserver組>新建sqlserver注冊>下一步>寫入遠程IP>下一步>選Sqlserver登陸>下一步>寫入登陸名與密碼(sapassword)>下一步>下一步>完成
查詢分析器>文件>連接>寫入遠程IP>寫入登錄名和密碼(sapassword)>確定
通常建議在查詢分析器裡做因為默認情況下通過企業管理器注冊另外一台SQL Server的超時設置是秒而查詢分析器是秒
修改默認連接超時的方法
企業管理器>工具>選項>在彈出的SQL Server企業管理器屬性窗口中點擊高級選項卡>連接設置>在 登錄超時(秒) 後面的框裡輸入一個較大的數字
查詢分析器>工具>選項>連接>在 登錄超時(秒) 後面的框裡輸入一個較大的數字
通常就可以連通了如果提示錯誤則進入下一步
五錯誤產生的原因通常是由於SQL Server使用了僅 Windows的身份驗證方式因此用戶無法使用SQL Server的登錄帳戶(如 sa )進行連接解決方法如下所示
在服務器端使用企業管理器並且選擇使用 Windows 身份驗證連接上 SQL Server
展開SQL Server組鼠標右鍵點擊SQL Server服務器的名稱選擇屬性再選擇安全性選項卡
在身份驗證下選擇SQL Server和 Windows
重新啟動SQL Server服務(在dos或命令行下面net stop mssqlserver停止服務net start mssqlserver啟動服務也是一種快捷的方法)
注釋在連接本地服務器時通常使用的是命名管道協議(在服務器網絡實用工具裡可以看到啟用的協議有這個)默認端口是因此在本地能連通是不能說明什麼問題的連接遠程服務器是完全不同的協議)再次連接顯示連接成功
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22366.html