預設用戶端連接行為
在用戶端電腦上安裝 SQL Server Native Client 後,用戶端即可準備連接到 Database Engine 的執行個體。在大部份情況下,SQL Server 用戶端不需要任何特殊組態,就可以連接到 Database Engine 的執行個體。用戶端應用程式必須提供的唯一資訊是電腦名稱與執行個體名稱。如果伺服器上沒有執行 SQL Server Browser 服務,則您必須提供連接端點 (TCP/IP 通訊埠或具名管道) 以連接到具名執行個體。
[!附註]
預設不會啟用伺服器網路通訊協定。如需詳細資訊,請參閱<如何:啟用或停用伺服器網路通訊協定 (SQL Server 組態管理員)>。
伺服器上的本機連接
當您從本機用戶端連接到 Database Engine 時 (用戶端應用程式和 SQL Server 位於相同電腦),依預設連接會使用共用記憶體通訊協定。SQL Server Native Client 可接受以下列任何一種格式,使用共用記憶體通訊協定進行本機連接:
"<computer_name>"
"<computer_name>\<instance_name>" 代表具名執行個體
"(local)"
"(local)\<instance_name>" 代表具名執行個體
"Localhost"
"localhost\<instance_name>" 代表具名執行個體
單一句號 "."
".\<instance_name>" 代表具名執行個體
若要使用其他通訊協定進行本機連接 (以便疑難排解),請啟用該通訊協定並執行下列步驟:
連接到指定通訊協定的用戶端別名。如需詳細資訊,請參閱 SQL Server Configuration Manager 說明中的「別名」。
在電腦名稱前面加上通訊協定前置詞 (例如,"np:<computer_name>" 或 "tcp:<computer_name>")。
連接到產生 TCP/IP 連接的 IP 位址。
連接到產生 TCP/IP 連接的完整網域名稱 (FQDN) (例如,"<computer_name>.<domain_name>.com")。
驗證您的連接通訊協定
下列查詢會傳回目前連接所使用的通訊協定。
SELECT net_transport
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
透過網路連接
依預設,SQL Server 用戶端的預設通訊協定為 TCP/IP。如果無法使用 TCP/IP 建立連接,將嘗試使用其他已啟用的通訊協定。共用記憶體連接無法透過網路進行。您可以使用「SQL Server 組態管理員」來啟用或停用用戶端通訊協定,以及變更嘗試建立的連接順序。
與舊版 SQL Server 的相容性
SQL Server 的預設執行個體所接聽的網路位址,與舊版 SQL Server (包括 MicrosoftSQL Server 2000 和 MicrosoftSQL Server 7.0) 相同。使用舊版用戶端連接元件的應用程式,仍可如往常一樣繼續連接到預設執行個體。SQL Server 的具名執行個體則會接聽動態通訊埠。使用舊版用戶端連接元件的用戶端電腦,必須設定為連接到這些位址。如需詳細資訊,請參閱<如何:建立伺服器別名供用戶端使用 (SQL Server 組態管理員)>。
若已安裝 SQL Server Native Client 或 Microsoft Data Access Components (MDAC) 用戶端,則會保留先前的通訊協定設定。對於新的安裝,用戶端會啟用所有通訊協定 (VIA 除外),並以下列通訊協定順序嘗試使用:共用記憶體、TCP、具名管道。
若要連接道具名執行個體,MDAC 用戶端必須升級到 MDAC 2.6 以後的版本。
[!附註]
為了加強安全性,安裝新的 Developer Edition、Evaluation Edition 與 SQL Server Express Edition 時,SQL Server 會停用 SQL Server 的 TCP/IP 連接功能。使用 MDAC 2.8 來連接的 OLEDB 應用程式將無法使用 "."、"(local)" 或 (<blank>) 作為伺服器名稱,來連接到本機伺服器上的預設執行個體。若要解決此問題,請提供伺服器名稱,或啟用伺服器上的 TCP/IP。連接到本機具名執行個體時則不受影響;此外,使用 SQL Server Native Client 的連接也不會受影響。如果先前已安裝 SQL Server,則進行安裝可能也不會受影響。