使用 sqlcmd 連線到 SQL Server
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
本文說明如何使用 sqlcmd 公用程式連線到 SQL Server 資料庫引擎。
概觀
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>