在建立與伺服器的串連時出錯.在串連到 SQL Server 2005 時,在預設的設定下 SQL Server 不允許進行遠端連線可能會導致此失敗.
解決方案:
1. 確保伺服器端的資料庫中存在sa,並支援混合登入模式.預設安裝的時候,可能會忽略建立sa.
2. 確保伺服器端的資料庫是支援遠程調用的.開啟SQL Server Management Studio,選擇該資料庫,右鍵菜單"Properties",在開啟的對話方塊中選擇Connections,把Allow remote connections to this server選上.
3. 確保伺服器端的SQL服務的TCP/IP是Enable的.開啟SQL Server Configuration Manager. 選擇SQL Server 2005 Network Configuration下的Protocols for SQL2005( 我安裝的SQL樣本名為SQL2005), 把Named Pipes和TCP/IP都修改為Enabled,預設是Disabled.
4. 確保伺服器端的SQL執行個體的遠程調用是支援TIP/IP和named pipes的. 開啟SQL Server Surface Area Configuration Manager,在開啟的頁面中選擇Surface Area Configuration for Services and Connections.選中執行個體的Remote Connections,把Using both TCP/IP and named pipes選中.
5. 重啟伺服器端的SQL Server 2005服務,確保SQL Server Agent和SQL Server Browser的服務也啟動了. 預設都是需要手動啟動,可以改成Automatic.
6. 因為伺服器端的作業系統是WinXp+SP2,所以還需要檢查防火牆.確保防火牆中的1433連接埠開啟了.
另外, SQL Server 2005的預設連接埠可能不是1433. 我們需要手動修改一下. 開啟SQL Server Configuration Manager. 選擇SQL Server 2005 Network Configuration下的Protocols for SQL2005( 我安裝的SQL樣本名為SQL2005), 查看TCP/IP的屬性.在開啟的對話方塊中選擇IP Address, 把到IPAll下的TCP Dymanic Ports改為0,TCP Port的值修改為1433.
在Windows防火牆中的Exceptions中Add Port:TCP 1433和UDP 1434, 同時還需要Add Program.先開啟SQL Server Configuration Manager,在SQL Server 2005 Services中選中SQL Server,查看屬性,在Advanced中記下Instance ID.如(Mssql.1)
在防火牆的Exceptions中Add Program,找到諸如...\Microsoft SQL Server\MSSQL.1\Mssql\Binn\SQLservr.exe,添加.
所有這些都做完了,用戶端應該就可以訪問了,最好用戶端也在自己的Configration Manager的Client Configuration中設定TCP/IP為Enabled.