共用方式為


使用命名管道建立有效的連接字串

除非使用者變更,否則 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             .  
  

備註

若要將網路協定指定為 sqlcmd 參數,請參閱《SQL Server 在線叢書》中的<如何:使用 sqlcmd.exe連線到 Database Engine>。

另請參閱

使用共用記憶體通訊協定建立有效的連接字串
使用 TCP IP 建立有效的連接字串
選擇網路通訊協定