三.提示連接超時
如果遇到第三個錯誤,一般而言表示客戶端已經找到了這台服務器,並且可以進行連接,不過是由於連接的時間大於允許的時間而導致出錯。
這種情況一般會發生在當用戶在Internet上運行企業管理器來注冊另外一台同樣在Internet上的服務器, 並且是慢速連接時,有可能會導致以上的超時錯誤.有些情況下,由於局域網的網絡問題,也會導致這樣的錯誤。
要解決這樣的錯誤,可以修改客戶端的連接超時設置. 默認情況下,通過企業管理器注冊另外一台SQL Server的超時設置是4秒, 而查詢分析器是15秒(這也是為什麼在企業管理器裡發生錯誤的可能性比較大的原因).
具體步驟為:
企業管理器中的設置:
1.在企業管理器中,選擇菜單上的"工具",再選擇"選項"
2.在彈出的"SQL Server企業管理器屬性"窗口中,點擊"高級"選項卡
3.在"連接設置"下的"登錄超時(秒)"右邊的框中輸入一個比較大的數字,如20.
查詢分析器中的設置:
工具--選項--連接--將登錄超時設置為一個較大的數字
-------------------------------------------------
四.大部分機都用Tcp/ip才能成功,有時你會發現用Named Pipes才可以?
這是由於在Windows 2000以後的操作系統中,MS為解決SQL SERVER的安全問題將TCP/IP配置為SQL Server的默認連接協議,你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE 的順序。
也可以在:
[HKEY_LOCAL_MacHINE\SOFTWARE\Microsoft\MSSQLServer\ClIEnt\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
此處可以看到默認的協議。
問:怎麼在程序中更改Named Pipes,Tcp/ip其sql語句怎麼寫?
答:可以在以上提到的注冊表的相對位置來修改,示例如下:
·CLIENT端:
[HKEY_LOCAL_MacHINE\SOFTWARE\Microsoft\MSSQLServer\ClIEnt\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
·SERVER端:
[HKEY_LOCAL_MacHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00