
サーバーに Sql Server 2008 R2 (Express Edition) をインストールしましたが、クライアントからそのサーバーに接続したいと考えています。
しかし、次のエラーが表示されます。
cannot connect to SMSERVER\SMTECH
これをどうすれば解決できますか?
答え1
ローカルでは接続できるがリモートでは接続できない場合は、試せることがいくつかあります。
Windowsファイアウォール
接続を許可するには、サーバーの Windows ファイアウォールで例外を設定する必要があるかもしれません。デフォルトではポート 1433 と 1434 を開く必要があります。当然、デフォルトのポートを変更した場合は、この設定も変わります。
TCP/IP接続を有効にする
SQL Server 構成マネージャーを開き、ネットワーク構成からインスタンスを選択して、下の図に示すように TCP/IP を有効にします。
クライアントとサーバー間の他のファイアウォールを確認する
どちらも問題ない場合、クライアントとサーバー間のポートをブロックしている何か他のものがある可能性があります。 両者間の ACL のポリシーを検査し、必要なポートが宛先に到達できることを確認します。
答え2
Microsoft SQL Server の経験から、SQL Server をクライアントで動作させるには、次の 2 つの設定を行う必要があると考えられます。
サーバー サイトのファイアウォール 新しい Microsoft OS (サーバーおよびクライアント) には、Microsoft ファイアウォールがプリインストールされ、アクティブ化されています。したがって、適切なファイアウォール ポートを開いていない場合、これが問題になります。Microsoft Technet に、ファイアウォールの構成方法に関する記事があります。http://technet.microsoft.com/en-us/library/cc646023.aspx
SQL Server のプロトコル設定 クライアント プログラムが SQL Server インスタンスでアクティブ化されていないプロトコルを使用している場合も、接続エラーが発生します。 アクティブ化されているプロトコルを表示し、それらを制御するには、Microsoft SQL Server 構成マネージャー ユーティリティを使用します。 このトピックの詳細については、Microsoft Technet にも記載されています。http://technet.microsoft.com/en-us/library/ms345343.aspx