使用 sqlcmd 連接至 Database Engine
SQL Server 支援使用 TCP/IP 網路通訊協定 (預設值) 和具名管道通訊協定,來進行用戶端通訊。 如果用戶端是連接到同一部電腦上的 Database Engine 執行個體,也可以使用共用記憶體通訊協定。 選取通訊協定有三種常見的方法。 sqlcmd 公用程式所使用的通訊協定是以下列順序決定:
sqlcmd 使用指定為連接字串一部分的通訊協定,如下所述。
如果沒有任何通訊協定指定為連接字串的一部分,則 sqlcmd 會使用定義為所連接之別名一部分的通訊協定。 如需設定 sqlcmd,透過建立別名來使用特定的網路通訊協定,請參閱<建立或刪除用戶端使用的伺服器別名 (SQL Server 組態管理員)>。
如果未使用其他方法指定通訊協定,則 sqlcmd 會使用 SQL Server 組態管理員中通訊協定順序所判斷的網路通訊協定。
下列範例顯示各種不同的方法,用以連接到通訊埠 1433 的預設 Database Engine 執行個體,以及假設要接聽通訊埠 1691 的 Database Engine 具名執行個體。 其中一部分範例使用回送網路卡的 IP 位址 (127.0.0.1)。 請使用您電腦網路介面卡的 IP 位址進行測試。
指定執行個體名稱,以連接到 Database Engine:
sqlcmd -S ComputerA
sqlcmd -S ComputerA\instanceB
指定 IP 位址,以連接到 Database Engine:
sqlcmd -S 127.0.0.1
sqlcmd -S 127.0.0.1\instanceB
指定 TCP\IP 通訊埠編號,以連接到 Database Engine:
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>