sqlcmd.exe を使用してデータベース エンジンを接続する方法
SQL Server では、TCP/IP ネットワーク プロトコル (既定)、名前付きパイプ プロトコル、および VIA プロトコルを使用したクライアント通信をサポートしています。クライアントが、同じコンピューター上でデータベース エンジンのインスタンスに接続している場合は、共有メモリ プロトコルも使用できます。プロトコルの選択には、3 つの一般的な方法があります。sqlcmd ユーティリティで使用されるプロトコルは、次の順序で決定されます。
sqlcmd では、下に示す接続文字列の一部として指定されているプロトコルが使用されます。
接続文字列でプロトコルが指定されていない場合、sqlcmd では、接続先の別名の一部として定義されているプロトコルが使用されます。別名を作成して特定のネットワーク プロトコルを使用するように sqlcmd を構成するには、「クライアントが使用するサーバーの別名を作成する方法 (SQL Server 構成マネージャ)」を参照してください。
他の方法でプロトコルが指定されていない場合、sqlcmd では、SQL Server 構成マネージャーで指定されているプロトコル順序によって使用するネットワーク プロトコルが決定されます。詳細については、「特定のネットワーク プロトコルを使用するようにクライアントを構成する (SQL Server 構成マネージャー)」を参照してください。
次の例では、ポート 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 ユーティリティ」を参照してください。 |