sqlcmd - 連線至資料庫引擎

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

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>
    

下一步