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