別名 (SQL Server 構成マネージャー)
適用対象: SQL Server - Windows のみ
別名は、接続のために使用できる代替名です。 別名は、接続文字列の必須要素をカプセル化したものであり、ユーザーが選択した名前でそれらの要素を公開できます。 このコンピューター上の Microsoft SQL Server クライアントの別名を作成するには、コンソール ペインで [別名] を右クリックして [新しい別名] を選択します。 このコンピューター上の SQL Server クライアントの既存の別名を構成するには、コンソール ペインで [別名] を選択し、詳細ペインで目的の既存の別名を右クリックして [プロパティ] を選択します。
Note
SQL Server の別名は、クライアント側の構成です。 別名を使用する各クライアント コンピューターには同じ別名の構成が必要であり、別名の作成や管理に使用できるツールはSQL Server 構成マネージャーだけではありません。
SQL Server 2022 以降のバージョンでは、SQL Server 構成マネージャーを使用した別名の作成はサポートされていません。 SQL Server 2022 以降のバージョンの別名を作成するには、SQL Server クライアント ネットワーク ユーティリティ ツール を使用します。
別名を使用する状況
SQL Server は既定で、 SQL Server のローカル インスタンスに接続するときには 共有メモリ プロトコルを使用し、別のコンピューター上の SQL Server インスタンスに接続するときには TCP/IP または 名前付きパイプを使用します。 TCP/IP または名前付きパイプを使用するときにカスタム接続文字列を指定する場合や、接続のためにサーバー名以外の名前を使用する場合には、別名を作成してください。
例
SQL Server が既定の TCP/IP ポート 1433 で受信を待機しない場合に、別のポート番号を設定した接続文字列を指定します。
SQL Server が既定の名前付きパイプで受信を待機しない場合に、別のパイプ名を設定した接続文字列を指定します。
ACCT
という名前のサーバー上のデータベースに接続するアプリケーションがありますが、そのデータベースは、ACCT
という名前のサーバー上のCENTRAL
という名前のインスタンスとして統合されています。 そのアプリケーションは、簡単に変更できません。 この場合は、ACCT
という別名を作成し、接続文字列でCENTRAL\ACCT
を参照します。
別名のプロパティ
[別名]
この接続を参照するために使用する名前 (別名) です。
パイプ名またはポート番号
接続文字列の追加要素です。 このボックスの名前は、選択したプロトコルによって異なります。
Protocol
接続に使用するプロトコルです。
[サーバー]
接続先の Microsoft SQL Server インスタンスの名前です。
共有メモリ接続
SQL Server に同じコンピューター上で実行されているクライアントから接続する場合は、共有メモリ プロトコルと名前付きパイプ プロトコルを使用します。 共有メモリには、構成可能なプロパティはありません。 共有メモリは常に最初に試行されるプロトコルであり、[クライアント プロトコルのプロパティ] 一覧にある [有効なプロトコル] 一覧の最上位から移動することはできません。 共有プロトコルを無効にすることは可能です。これは、他のプロトコルのトラブルシューティングを行うときに便利です。
共有メモリ プロトコルを使用して別名を作成することはできませんが、共有メモリが有効になっている状態でデータベース エンジンに名前で接続すると、共有メモリ接続が作成されます。 共有メモリ接続文字列の形式は、 lpc:<servername>[\instancename]
です。
共有メモリを使用してローカル サーバーに接続する
クライアントと同じコンピューター上で実行している SQL Server に接続する場合は、サーバー名として (local)
を使用することもできます。 この値はあいまいなのでお勧めできませんが、対象のコンピューター上でクライアントを実行していることがわかっている場合には便利な機能です。 たとえば、ノート型コンピューター上で SQL Server を実行し、プロジェクト データもそのノート型コンピューターに保存するとします。このように、ネットワークに接続しないモバイル ユーザー用のアプリケーションの場合、(local)
に接続するクライアントは、常にそのノート型コンピューターで実行している SQL Server に接続することになります。 (local)
の代わりに localhost またはピリオド (.) を使用することもできます。
共有メモリ接続の例
共有メモリ プロトコルが有効になっている場合に、以下の名前を使用すると、共有メモリ プロトコルを使用してローカル コンピューターに接続します。
<servername>
<servername>\<instancename>
(local)
localhost
共有メモリ接続のための別名を作成することはできません。
Note
サーバーの構成に応じて、[サーバー] ボックスで IP アドレスを指定すると、名前付きパイプまたは TCP/IP 接続になります。
TCP/IP 接続
TCP/IP で別名を使用して SQL Server に接続するには、次の手順を実行する必要があります:
[別名] を指定します。
[サーバー]ボックスに、 ping ユーティリティを使用して接続できるサーバー名か、 ping ユーティリティを使用して接続できる IP アドレスを入力します。 名前付きインスタンスの場合は、インスタンス名を追加します。
[プロトコル] に [TCP/IP] を指定します。
[ポート番号] にポート番号を入力します。ポート番号は省略できます。 既定値は
1433
です。この既定値は、サーバー上にある データベース エンジン の既定インスタンスのポート番号です。 ポート 1433 でリッスンしていない名前付きインスタンスまたは既定のインスタンスに接続する場合は、ポート番号を指定するか、 SQL Server Browser サービスを開始する必要があります。 SQL Server Browser サービスの構成の詳細については、「 SQL Server Browser サービス」を参照してください。
SQL Server Native Client コンポーネントは接続の時点で、指定された別名のサーバー、プロトコル、ポート番号の値をレジストリから読み取り、 tcp:<servername>[\<instancename>],<port>
または tcp:<IPAddress>[\<instancename>],<port>
の形式で接続文字列を作成します。
Note
既定では、ポート 1433 が Windows ファイアウォールによって閉じられます。 SQL Server はポート 1433 経由で通信するため、TCP/IP を使用する着信クライアント接続をリッスンするように SQL Server を構成している場合は、このポートを再度開く必要があります。 ファイアウォールの構成方法については、 SQL Server オンライン ブックの「SQL Server アクセスのためのファイアウォール構成方法」か、またはファイアウォールについてのドキュメンテーションを参照してください。
SQL Server および SQL Server Native Client では、インターネット プロトコル バージョン 4 (IPv4) とインターネット プロトコル バージョン 6 (IPv6) の両方が完全にサポートされます。 SQL Server 構成マネージャーは、IPv4 と IPv6 のどちらの形式の IP アドレスも受け入れます。
TCP/IP の別名設定の例
サーバー名による接続
エイリアス名: <serveralias>
ポート番号: <blank>
プロトコル: TCP/IP
サーバー: <servername>
名前付きインスタンスに対するサーバー名による接続
エイリアス名: <serveralias>
ポート番号: <blank>
プロトコル: TCP/IP
サーバー: <servername>\<instancename>
指定したポートに対するサーバー名による接続
エイリアス名: <serveralias>
ポート番号: <port number>
プロトコル: TCP/IP
サーバー: <servername>
IP アドレスによる接続
エイリアス名: <serveralias>
ポート番号: <blank>
プロトコル: TCP/IP
サーバー: <IPAddress>
Note
sqlcmd パラメーターとしてネットワーク プロトコルを指定することについては、「sqlcmd - データベース エンジンに接続する」を参照してください。
名前付きパイプ接続
ユーザーが変更しない限り、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 Server 構成マネージャーします。
[サーバー] を指定します。 名前付きのインスタンスの場合は、サーバー名とインスタンス名を指定できます。
SQL Server Native Client コンポーネントは接続の時点で、指定された別名のサーバー、プロトコル、パイプ名の値をレジストリから読み取り、np:\\<computer_name>\pipe\<pipename>
または np:\\<IPAddress>\pipe\<pipename>
の形式でパイプ名を作成します。 名前付きインスタンスの場合、既定のパイプ名は \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query
です。
Note
既定では、ポート 445 が Microsoft Windows ファイアウォールによって閉じられます。 Microsoft SQL Server はポート 445 経由で通信するため、名前付きパイプを使用する着信クライアントをリッスンするように SQL Server を構成している場合は、このポートを再度開く必要があります。
名前付きパイプの別名設定の例
既定のパイプに対するサーバー名による接続
エイリアス名: <serveralias>
パイプ名: <blank>
プロトコル: Named Pipes
サーバー: <servername>
既定のパイプに対する IP アドレスによる接続
エイリアス名: <serveralias>
パイプ名: <blank>
プロトコル: Named Pipes
サーバー: <IPAddress>
既定以外のパイプに対するサーバー名による接続
エイリアス名: <serveralias>
パイプ名: \\<servername>\pipe\unit\app
プロトコル: Named Pipes
サーバー: <servername>
名前付きインスタンスに対するサーバー名による接続
エイリアス名: <serveralias>
パイプ名: \\<servername>\pipe\MSSQL$<instancename>\SQL\query
プロトコル: Named Pipes
サーバー: <servername>
接続プロトコルを確認する
次のクエリからは、現在の接続で使用しているプロトコルが返されます。
SELECT net_transport
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;