sqlcmd を使用して SQL Server に接続します
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
この記事では、sqlcmd ユーティリティを使用して SQL Server データベース エンジンに接続する方法についての説明をします。
概要
SQL Server TCP/IP ネットワーク プロトコル (既定) および名前付きパイプ プロトコルを使用したクライアント通信をサポートしています。 クライアントが、同じコンピューター上でデータベース エンジンのインスタンスに接続している場合は、共有メモリ プロトコルも使用できます。 プロトコルの選択には、3 つの一般的な方法があります。 sqlcmd ユーティリティで使用されるプロトコルは、次の順序で決定されます。
sqlcmd では、この記事で後述するように接続文字列の一部として指定されているプロトコルが使用されます。
接続文字列でプロトコルが指定されていない場合、sqlcmd では、接続先の別名の一部として定義されているプロトコルが使われます。 別名を作成して特定のネットワーク プロトコルを使用するように sqlcmd を構成するには、「クライアントが使用するサーバーの別名の作成または削除 (SQL Server Configuration Manager)」を参照してください。
他の方法でプロトコルが指定されていない場合、SQL Server 構成マネージャーで指定されたプロトコル順序によって、sqlcmd に使われるネットワーク プロトコルが決まります。
次の例では、ポート 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>