リモート接続が許可されるように SQL Server 2005 を構成する方法

適用対象: Microsoft SQL Server 2005 Developer EditionMicrosoft SQL Server 2005 Express Edition

はじめに


リモート コンピューターから Microsoft SQL Server 2005 のインスタンスに接続するときに、次のエラー メッセージが表示されることがあります。 この問題は、何らかのプログラムを使用して SQL Server に接続するときに発生することがあります。

たとえば、SQLCMD ユーティリティを使用して SQL Server に接続した場合、次のエラー メッセージが表示されます。
Sqlcmd: エラー: Microsoft SQL Native Client: サーバーへの接続の確立中にエラーが発生しました (An error has occurred while establishing a connection to the server)。 SQL Server 2005 への接続時、既定の設定で SQL Server がリモート接続を許可するように構成されていないため、このエラーが発生した可能性があります (When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections)。


この問題は、SQL Server 2005 がリモート接続を受け付けるように構成されていない場合に発生することがあります。 既定では、SQL Server 2005 Express Edition および SQL Server 2005 Developer Edition は、リモート接続を許可しません。

リモート接続を許可するように SQL Server 2005 を構成するには、次の手順を実行する必要があります。
  • リモート コンピュータから接続する先の SQL Server のインスタンスでリモート接続を有効にします。
  • SQL Server Browser サービスを有効にします。
  • SQL Server および SQL Server Browser サービスに関連するネットワーク トラフィックが許可されるようにファイアウォールを構成します。
この資料では、これらの各手順の実行方法について説明します。

詳細情報


SQL Server 2005 のインスタンスでリモート接続を有効にし、SQL Server Browser サービスを有効にするには、SQL Server 2005 セキュリティ構成ツールを使用します。 セキュリティ構成ツールは、SQL Server 2005 のインストール時にインストールされます。
SQL Server 2005 Express または SQL Server 2005 Developer Edition へのリモート接続を有効にする
リモート コンピュータから接続する先の SQL Server 2005 のインスタンスごとに、リモート接続を有効にする必要があります。 これを行うには、次の手順を実行します。
  1. [スタート] ボタンをクリックし、[プログラム]、[Microsoft SQL Server 2005]、[構成ツール] を順にポイントして、[SQL Server セキュリティ構成] をクリックします。
  2. [SQL Server 2005 セキュリティ構成] ページで、[サービスと接続のセキュリティ構成] をクリックします。
  3. [サービスと接続のセキュリティ構成] ページで、[データベース エンジン] を展開し、[リモート接続] をクリックします。[ローカル接続およびリモート接続] をクリックし、その環境で有効にするプロトコルをクリックして、[適用] をクリックします。

    注: 次のメッセージが表示されたら [OK] をクリックします。
    接続設定の変更は、データベース エンジン サービスを再開するまで有効になりません。
  4. [サービスと接続のセキュリティ構成] ページで、[データベース エンジン] を展開し、[サービス] をクリックします。[停止] をクリックし、MSSQLSERVER サービスが停止するまで待機してから、[開始] をクリックして MSSQLSERVER サービスを再開します。

SQL Server Browser サービスを有効にする
インスタンス名を使用して SQL Server 2005 を実行中であり、かつ接続文字列に特定の TCP/IP ポート番号を使用していない場合、リモート接続を許可するには SQL Server Browser サービスを有効にします。 たとえば、SQL Server 2005 Express のインストール時の 既定のインスタンス名は Computer Name\SQLEXPRESS です。 実行中の SQL Server 2005 のインスタンス数には関係なく、SQL Server Browser サービスを有効にする必要があるのは 1 回だけです。 SQL Server Browser サービスを有効にするには、以下の手順を実行します。

重要: 以下の手順を実行すると、セキュリティ リスクが高まるおそれがあります。 また、悪意のあるユーザーやウイルスなど悪意のあるソフトウェアによる攻撃をコンピューターまたはネットワークが受けやすくなる場合もあります。 この資料の手順は、プログラムの設計どおりの動作を可能にする場合、または特定のプログラム機能を実装する場合にお勧めします。 これらの変更を行う前に、記載された回避策を現在の環境に適用した場合の危険性を評価することをお勧めします。 この手順の使用を選択した場合は、記載されている手順以外にも、システムを保護するための適切な手順を実行してください。 この手順はどうしても必要な場合にのみ実行することをお勧めします。
  1. [スタート] ボタンをクリックし、[プログラム]、[Microsoft SQL Server 2005]、[構成ツール] を順にポイントして、[SQL Server セキュリティ構成] をクリックします。
  2. [SQL Server 2005 セキュリティ構成] ページで、[サービスと接続のセキュリティ構成] をクリックします。
  3. [サービスと接続のセキュリティ構成] ページで、[SQL Server Browser] をクリックし、[スタートアップの種類] ボックスの一覧の [自動] をクリックして、[適用] をクリックします。

    注: [自動] をクリックした場合は、Microsoft Windows を起動するたびに SQL Server Browser サービスが自動的に開始されます。
  4. [開始] をクリックし、[OK] をクリックします。
注: SQL Server Browser サービスが実行されているコンピューターでは、そのコンピューター上で実行されている SQL Server のインスタンスごとにインスタンス名と接続情報が表示されます。 このリスクは、SQL Server Browser サービスを有効にしないことと、割り当てられた TCP ポート経由で直接 SQL Server のインスタンスに接続することで、軽減できます。 TCP ポート経由での SQL Server インスタンスへの直接接続については、この資料では説明しません。 SQL Server Browser サービスの詳細および SQL Server のインスタンスへの接続については、SQL Server Books Online の以下のトピックを参照してください。
  • SQL Server Browser サービス
  • SQL Server データベース エンジンへの接続
  • クライアント ネットワーク構成

Windows ファイアウォールで例外を作成する
以下の手順は、Windows XP Service Pack 2 (SP2) に含まれる Windows ファイアウォールと、Windows Server 2003 に含まれる Windows ファイアウォールに適用されます。 別のファイアウォールを使用している場合、詳細についてはそのファイアウォールのマニュアルを参照してください。

SQL Server 2005 を実行しているコンピューターでファイアウォールを実行中の場合、SQL Server 2005 と SQL Server Browser サービスがファイアウォールを通して通信できないと、SQL Server 2005 への外部接続はブロックされます。 リモート接続を受け付ける SQL Server 2005 のインスタンスごとの例外と、SQL Server Browser サービスの例外を作成する必要があります。

SQL Server 2005 では、プログラム ファイルのインストール時にパスの一部としてインスタンス ID が使用されます。 SQL Server のインスタンスごとに例外を作成するには、正しいインスタンス ID を特定する必要があります。 インスタンス ID を取得するには、次の手順を実行します。
  1. [スタート] ボタンをクリックし、[プログラム]、[Microsoft SQL Server 2005]、[構成ツール] を順にポイントして、[SQL Server 構成マネージャー] をクリックします。
  2. SQL Server 構成マネージャーの右側のウィンドウで、[SQL Server Browser サービス] をクリックし、メイン ウィンドウでインスタンス名を右クリックして [プロパティ] をクリックします。
  3. [SQL Server Browser のプロパティ] ページで、[詳細設定] タブをクリックし、プロパティ一覧でインスタンス ID を確認して、[OK] をクリックします。
Windows ファイアウォールを開くには、[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。「firewall.cpl」と入力し、[OK] をクリックします。

Windows ファイアウォールで SQL Server 2005 に対する例外を作成する

Windows ファイアウォールで SQL Server 2005 に対する例外を作成するには、次の手順を実行します。
  1. Windows ファイアウォールで、[例外] タブをクリックし、[プログラムの追加] をクリックします。
  2. [プログラムの追加] ウィンドウで、[参照] をクリックします。
  3. C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe をクリックし、[開く] をクリックして、[OK] をクリックします。

    注: SQL Server 2005 をインストールした場所によっては、パスが異なる場合があります。 MSSQL.1 には、前の手順のステップ 3. で入手したインスタンス ID を入力します。
  4. 例外が必要な SQL Server 2005 のインスタンスごとに手順 1. ~ 3. を繰り返します。

Windows ファイアウォールで SQL Server Browser サービスに対する例外を作成する

Windows ファイアウォールで SQL Server Browser サービスに対する例外を作成するには、次の手順を実行します。
  1. Windows ファイアウォールで、[例外] タブをクリックし、[プログラムの追加] をクリックします。
  2. [プログラムの追加] ウィンドウで、[参照] をクリックします。
  3. C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe 実行可能プログラムをクリックし、[開く] をクリックして、[OK] をクリックします。

    注: SQL Server 2005 をインストールした場所によっては、パスが異なる場合があります。