SQL Server 支援使用 TCP/IP 網路通訊協定 (預設值) 和具名管道通訊協定,來進行用戶端通訊。 如果用戶端是連接到相同電腦上的資料庫引擎執行個體,也可以使用共用記憶體通訊協定。 選取通訊協定有三種常見的方法。 sqlcmd 公用程式所使用的通訊協定是以下列順序決定:
sqlcmd 使用指定為連接字串一部分的通訊協定,如下所述。
如果未將通訊協定指定為連接字串的一部分, sqlcmd 會使用定義為其所連線別名一部分的通訊協定。 若要藉由建立別名將 sqlcmd 設定為使用特定網路通訊協定,請參閱建立或刪除用戶端使用的伺服器別名(SQL Server 組態管理員)。
如果未以其他方式指定通訊協定, sqlcmd 會使用 SQL Server 組態管理員中通訊協定順序所決定的網路通訊協定。
下列範例顯示各種不同的方法,用來連接通訊埠 1433 的預設資料庫引擎執行個體,以及預期可能在通訊埠 1691 上偵聽的具名資料庫引擎執行個體。 其中一部分範例使用回送網路卡的 IP 位址 (127.0.0.1)。 請使用您電腦網路介面卡的 IP 位址進行測試。
藉由指定執行個體名稱來連線到資料庫引擎:
sqlcmd -S ComputerA
sqlcmd -S ComputerA\instanceB
藉由指定 IP 位址來連線到資料庫引擎:
sqlcmd -S 127.0.0.1
sqlcmd -S 127.0.0.1\instanceB
藉由指定 TCP\IP 連接埠號碼來連線到資料庫引擎:
sqlcmd -S ComputerA,1433
sqlcmd -S ComputerA,1691
sqlcmd -S 127.0.0.1,1433
sqlcmd -S 127.0.0.1,1691
若要使用 TCP/IP 進行連線
使用下列常見語法進行連接:
sqlcmd -S tcp:<computer name>,<port number>連接到預設執行個體:
sqlcmd -S tcp:ComputerA,1433 sqlcmd -S tcp:127.0.0.1,1433連接到具名執行個體:
sqlcmd -S tcp:ComputerA,1691 sqlcmd -S tcp:127.0.0.1,1691
使用命名管道進行連線
使用下列其中一個一般語法進行連線:
sqlcmd -S np:\\<computer name>\<pipe name>連接到預設執行個體:
sqlcmd -S np:\\ComputerA\pipe\sql\query sqlcmd -S np:\\127.0.0.1\pipe\sql\query連線至具名實例:
sqlcmd -S np:\\ComputerA\pipe\MSSQL$<instancename>\sql\query sqlcmd -S np:\\127.0.0.1\pipe\MSSQL$<instancename>\sql\query
從伺服器上的用戶端使用共用記憶體連線(本機過程呼叫)
使用下列其中一個一般語法進行連線:
sqlcmd -S lpc:<computer name>連接到預設執行個體:
sqlcmd -S lpc:ComputerA連接到具名執行個體:
sqlcmd -S lpc:ComputerA\<instancename>