除非使用者變更,否則 Microsoft SQL Server 的預設執行個體在具名管道通訊協定上接聽時,會使用 \\.\pipe\sql\query 作為管道名稱。 句點顯示計算機是本機計算機,pipe 表示連接是命名管道,而 sql\query 是管道的名稱。 若要連線到預設管道,別名必須具有 \\<computer_name>\pipe\sql\query 作為管道名稱。 如果 SQL Server 已設定為在不同的管道上接聽,管道名稱必須使用該管道。 例如,如果 SQL Server 使用 \\.\pipe\unit\app 作為管道,別名必須使用 \\<computer_name>\pipe\unit\app 作為管道名稱。
若要建立有效的管道名稱,您必須:
指定 別名名稱。
選取 [命名管道 ] 作為 [ 通訊協定]。
輸入管道名稱。 或者,您可以將管道名稱保留空白,SQL Server 組態管理員會在指定通訊協定和伺服器之後完成適當的管道名稱
指定伺服器。 針對具名執行個體,您可以提供伺服器名稱和執行個體名稱。
在連接時,SQL Server Native Client 元件會從登錄中讀取伺服器、通訊協定和管道名稱的值,根據指定的別名名稱,並以np:\\<computer_name>\pipe\<pipename>或np:\\<IPAddress>\pipe\<pipename>的格式建立管道名稱。對於具名實例,預設管道名稱為\\<computer_name>\pipe\MSSQL$<instance_name>\sql\query。
備註
根據預設,Microsoft Windows 防火牆會關閉連接埠 445。 由於 MicrosoftSQL Server 會透過埠 445 進行通訊,因此如果 SQL Server 設定為使用命名管道接聽連入用戶端連線,則必須重新開啟埠。 如需設定防火牆的相關資訊,請參閱《SQL Server 線上叢書》中的<操作說明:設定防火牆供 SQL Server 存取>,或請檢閱您的防火牆文件集。
連接到本地伺服器
連接到與用戶端在相同電腦上執行的 SQL Server 時,您可以使用 (local)做為伺服器名稱。 不建議使用 (local) ,因為它會導致模棱兩可;不過,當已知用戶端在預定計算機上執行時,可能會很有用。 例如,當為離線行動使用者建立應用程式時,例如銷售團隊,SQL Server 將在筆記型電腦上運行並儲存專案資料,而連接到 (local) 的客戶端將始終連接到筆記型電腦上運行的 SQL Server。 單字 localhost 或句號 (.) 可用來取代 (local)。
驗證連線通訊協定
下列查詢會傳回用於目前連接的通訊協定。
SELECT net_transport
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
範例
依伺服器名稱連線到預設管道:
Alias Name <serveralias>
Pipe Name <blank>
Protocol Named Pipes
Server <servername>
依 IP 位址連線到預設管道:
Alias Name <serveralias>
Pipe Name <leave blank>
Protocol Named Pipes
Server <IPAddress>
依伺服器名稱連線到非預設管道:
Alias Name <serveralias>
Pipe Name \\<servername>\pipe\unit\app
Protocol Named Pipes
Server <servername>
透過伺服器名稱連接至已命名实例:
Alias Name <serveralias>
Pipe Name \\<servername>\pipe\MSSQL$<instancename>\SQL\query
Protocol Named Pipes
Server <servername>
使用 localhost連線到本機電腦:
Alias Name <serveralias>
Pipe Name <blank>
Protocol Named Pipes
Server localhost
使用句號(“.”)連線到本機電腦:
Alias Name <serveralias>
Pipe Name <left blank>
Protocol Named Pipes
Server .
備註
若要將網路協定指定為