sqlcmd.exe を使用してデータベース エンジンを接続する方法

SQL Server では、TCP/IP ネットワーク プロトコル (既定)、名前付きパイプ プロトコル、および VIA プロトコルを使用したクライアント通信をサポートしています。クライアントが、同じコンピューター上でデータベース エンジンのインスタンスに接続している場合は、共有メモリ プロトコルも使用できます。プロトコルの選択には、3 つの一般的な方法があります。sqlcmd ユーティリティで使用されるプロトコルは、次の順序で決定されます。

次の例では、ポート 1433 のデータベース エンジンの既定のインスタンスと、ポート 1691 でリッスンしていると想定されるデータベース エンジンの名前付きインスタンスに接続するさまざまな方法を示しています。一部の例では、ループバック アダプターの IP アドレス (127.0.0.1) を使用しています。使用しているコンピューターのネットワーク インターフェイス カードの IP アドレスを使用してテストしてください。

インスタンス名を指定して、データベース エンジンに接続します。

sqlcmd -S ComputerA
sqlcmd -S ComputerA\instanceB

sqlcmd -S ComputerA
sqlcmd -S ComputerA\instanceB

IP アドレスを指定して、データベース エンジンに接続します。

sqlcmd -S 127.0.0.1
sqlcmd -S 127.0.0.1\instanceB

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

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:<computer name>,<port number>
    
  • 既定のインスタンスに接続します。

    sqlcmd -S tcp:ComputerA,1433
    sqlcmd -S tcp:127.0.0.1,1433
    
    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 tcp:ComputerA,1691
    sqlcmd -S tcp:127.0.0.1,1691
    

名前付きパイプを使用して接続するには

  • 次に示す一般構文のいずれかを使用して接続します。

    sqlcmd -S np:\\<computer name>\<pipe name>
    
    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\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 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:<computer name>
    
  • 既定のインスタンスに接続します。

    sqlcmd -S lpc:ComputerA
    
    sqlcmd -S lpc:ComputerA
    
  • 名前付きインスタンスに接続します。

    sqlcmd -S lpc:ComputerA\<instancename>
    
    sqlcmd -S lpc:ComputerA\<instancename>
    

VIA を使用して接続するには

  • 次に示す一般構文のいずれかを使用して接続します。

    sqlcmd -S via:<computer name>,<port number>,<NIC number>
    
    sqlcmd -S via:<computer name>,<port number>,<NIC number>
    
  • 既定のインスタンスに接続します。

    sqlcmd -S via:ComputerA,1433,0
    
    sqlcmd -S via:ComputerA,1433,0
    
  • 名前付きインスタンスに接続します。

    sqlcmd -S via:ComputerA,1691,0
    
    sqlcmd -S via:ComputerA,1691,0
    
重要な注意事項重要

VIA プロトコルは推奨されません。この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。

注意

完全な接続情報が指定されていない場合は、SQL Server Browser により、既定のポートと NIC の接続情報が指定されます (実行している場合)。

注意

このトピックでは、sqlcmd ユーティリティの接続オプションについてのみ説明しています。他にも sqlcmd ユーティリティで使用できるパラメーターは多数あります。詳細については、「sqlcmd ユーティリティ」を参照してください。