Windows Server 2008 R2 + SQL Server 2008 R2 の構成で、Localからはデータベースが開けるのにRemoteからはデータベースが開けなかったとき、以下の手順で開く事ができるようになりました。
サーバはActive Directoryのメンバーサーバーで、Windowsファイアウォールはドメイン構成になっています。
1.SQL Server 構成マネージャーでTCP/IPを有効にする
TCP/IPが無効になっていたので、有効にしました。
2.WindowsファイアウォールでSQLServer.exeとSQLBrowser.exeの受信を許可する
[SQLServer]
%ProgramFiles%\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
[SQLBrowser]
%ProgramFiles% (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe
SQLBrowserを許可すると、サーバーの一覧にサーバー名が現れて、サーバーにアクセスできます。
SQLServerを許可すると、データベースの一覧が現れて、データベースを開けました。
exeファイルの所在がよく分からない場合は、サービスから探ると良いと思います。
1.で有効にしたTCP/IPを静的構成にした場合は、プログラムではなく、ポート番号でも良いらしいです。
標準ではSQLServerはTCPの1433、SQLBrowserはUDPの1434です。
今回はプログラム指定でもポート指定でもどちらもOKでした。
トラブル当初、Windowsファイアウォールを無効にしてみたのですが、それでもサーバーの一覧しか現れなかったので、ファイアウォールとは別の原因を探ってしまいましたが、そもそもSQL ServerでTCP/IPが無効になっていたのが原因だったようです。
0 件のコメント:
コメントを投稿