IPアドレスを使用してSQL Server 2008にリモートで接続するにはどうすればよいですか?
-
06-07-2019 - |
質問
プロジェクトを公開するとき、クライアントは初期構成をセットアップできる必要があります。その一部はSql Database Connectionです。私のシステム(MSSQLSERVER2008)とSQLEXPRESS2005で実行されているSql Server 2008のインスタンスがあります。これが機能するかどうかを確認するために、ローカルで次の接続文字列を使用しようとしていますが、機能しません:
ConnectionString = {Data Source=127.0.0.1;Initial Catalog=DCOMProductionsDesktop;Integrated Security=False;User ID=DCOMProductionsDesktopService;Password=;Network Library=dbmssocn}
エラーは、通常「ターゲットマシンが接続を拒否しました」というエラーです。
*ファイアウォールは実行されておらず、とにかくネットワーク内にあります * TCP / IPプロトコルが有効になっています *リモート接続が有効で許可されています
だから、私は困惑しています。
編集
接続文字列のデータソースを次のように変更しました
DataSource=192.168.0.2\MSSQLSERVER2008 on my WinXP VM (for testing remotely)
これでうまくいきました。しかし、これをインターネットに展開すると、次のようなドメイン名を使用してネットワーク外のクライアントに同じ接続文字列が機能します。
DataSource=desktop.dcomproductions.com\MSSQLSERVER2008
または別のことをする必要がありますか?
解決
" desktop.dcomproductions.com"または何であれ、適切なIPアドレスに解決されます。そのため、その名前は、パブリックDNSまたはプライベートDNSのいずれかで適切に設定する必要があります。
また、クライアントのスクリプトがSQLサーバーと同じネットワーク内にある場合を除き、パブリック/外部IPアドレスに解決されることを確認してください。
コメントではなく、回答として投稿することを考えました:)
他のヒント
しばらくの間、名前付きパイプ以外を使用してsqlサーバーインスタンスに接続したため、これは関係ないかもしれませんが、データソースをサーバーに変更してみてください。
それらは同義語かもしれません、私が言ったように、それはしばらくの間です。
また、IPアドレスを使用している場合でも、接続先のSQLサーバーのインスタンスを指定していないため、問題が発生している可能性があります