名前付きパイプを使用した有効な接続文字列の作成
ユーザーが変更しない限り、Microsoft SQL Server の既定のインスタンスは、名前付きパイプ プロトコルで受信を待機する場合に \\.\pipe\sql\query
をパイプ名として使用します。ここで、ピリオドはコンピュータがローカル コンピュータであることを示し、pipe
は接続が名前付きパイプであることを示します。sql\query
はパイプの名前を示します。既定のパイプに接続するには、別名でもパイプ名に \\<computer_name>\pipe\sql\query
を指定する必要があります。SQL Server が別のパイプで受信を待機する構成になっている場合は、パイプ名としてそのパイプを使用する必要があります。たとえば、SQL Server がパイプとして \\.\pipe\unit\app
を使用している場合、別名ではパイプ名として \\<computer_name>\pipe\unit\app
を使用しなければなりません。
有効なパイプ名を作成するには、次の操作を行う必要があります。
- [別名] を指定します。
- [プロトコル] に [名前付きパイプ] を選択します。
- [パイプ名] を入力します。また、[パイプ名] を空白のままにし、SQL Server 構成マネージャで [プロトコル] と [サーバー] を指定した後、適切なパイプ名を完成することもできます。
- [サーバー] を指定します。名前付きのインスタンスの場合は、サーバー名とインスタンス名を指定できます。
SQL Native Client コンポーネントは接続の時点で、指定された別名のサーバー、プロトコル、パイプ名の値をレジストリから読み取り、np:\\<computer_name>\pipe\<pipename>
または np:\\<IPAddress>\pipe\<pipename>
の形式でパイプ名を作成します。名前付きインスタンスの場合、既定のパイプ名は \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query
です。
メモ : |
---|
Microsoft Windows XP Service Pack 2 では Windows ファイアウォールが有効になるので、ポート 445 が既定で閉じられます。Microsoft SQL Server はポート 445 経由で通信するため、名前付きパイプを使用する着信クライアントの受信を待機するように SQL Server を構成している場合は、このポートを再度開く必要があります。ファイアウォールの構成の詳細については、SQL Server Books Online の「SQL Server アクセスに対してファイアウォールを構成する方法」、またはファイアウォールのマニュアルを参照してください。 |
ローカル サーバーへの接続
クライアントと同じコンピュータ上で実行している SQL Server に接続する場合は、サーバー名として (local)
****を使用することもできます。(local)
の使用はあいまいさを残すのでお勧めできませんが、対象のコンピュータ上でクライアントを実行していることがわかっている場合には便利な機能です。たとえば、営業スタッフは、ノート型コンピュータ上で SQL Server を実行し、プロジェクト データもそのノート型コンピュータに保存しておきます。このように、ネットワークに接続しないモバイル ユーザー用のアプリケーションの場合、(local) に接続するクライアントは、常にそのノート型コンピュータで実行している SQL Server に接続することになります。(local)
の代わりに、localhost
またはピリオド (.) を使用することもできます。
接続プロトコルの確認
以下のクエリは、現在の接続に使用しているプロトコルを返します。
SELECT net_transport
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
例
既定のパイプに対するサーバー名による接続 :
Alias Name <serveralias>
Pipe Name <blank>
Protocol Named Pipes
Server <servername>
既定のパイプに対する IP アドレスによる接続 :
Alias Name <serveralias>
Pipe Name <leave blank>
Protocol Named Pipes
Server <IPAddress>
既定以外のパイプに対するサーバー名による接続 :
Alias Name <serveralias>
Pipe Name \\<servername>\pipe\unit\app
Protocol Named Pipes
Server <servername>
名前付きのインスタンスに対するサーバー名による接続 :
Alias Name <serveralias>
Pipe Name \\<servername>\pipe\MSSQL$<instancename>\SQL\query
Protocol Named Pipes
Server <servername>
ローカル コンピュータに対する localhost
による接続 :
Alias Name <serveralias>
Pipe Name <blank>
Protocol Named Pipes
Server localhost
ローカル コンピュータに対するピリオドによる接続 :
Alias Name <serveralias>
Pipe Name <left blank>
Protocol Named Pipes
Server .
メモ : |
---|
sqlcmd パラメータにネットワーク プロトコルを指定する場合は、SQL Server Books Online. の「sqlcmd.exe を使用してデータベース エンジンを接続する方法」を参照してください。 |
参照
関連項目
共有メモリ プロトコルを使用した有効な接続文字列の作成
TCP/IP を使用した有効な接続文字列の作成
VIA プロトコルを使用した有効な接続文字列の作成