環境
・Windows server 2012R
・SQLserver2008 R2
・VB.net
前提・実現したいこと
SQLserver2008 R2で開発したシステムをグローバルIPアドレスで繋げて使用できるようにしたいです。
(前提・検証済みの内容)
・ローカルIPアドレスとグローバルIPアドレスの紐付けが正しいことは検証済み
・SQL serverのポート(14333)をプライベート・パブリック・ドメインで解放しています。
・開発したシステムにバグはありません。
発生している問題・エラーメッセージ
固定IPアドレスを使用しており、ローカルIPアドレスとグローバルIPアドレスの紐付けはルーター・サーバーの設定で完了しています。
以下の記述を行った場合に、グローバルIPアドレスだと接続ができなくなります。
(※以下は続けて記述していません。それぞれコメントアウトして記述して試しました。)
【接続可能】
Public Cn = New SqlClient.SqlConnection("Server=ローカル固定IP,14333;User ID=ユーザーID;Password=パスワード;Initial Catalog=インスタンス名")
【接続不可】
Public Cn = New SqlClient.SqlConnection("Server=グローバル固定IP,14333;User ID=ユーザーID;Password=パスワード;Initial Catalog=インスタンス名")
当記述は、現在運用しているサーバーでは、正常に接続されます。
現在運用しているサーバーと同じ設定でかつ、同じ内容で固定されたIPアドレスを使用しているのに、なぜ動作しないのか分かりません。
エラーメッセージ
グローバルIPアドレスで繋げた場合に、以下のエラーメッセージが出力されます。
SQL Server への接続を確立しているときにネットワーク関SQL Server への接続を確立しているときにネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないかアクセスできません。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。 (provider: TCP プロバイダ, error: 0 - 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。)連またはインスタンス固有のエラーが発生しました。サーバーが見つからないかアクセスできません。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。 (provider: TCP プロバイダ, error: 0 - 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。)
該当のソースコード
上記でも記載していますが、以下の記述だと、エラーになり、接続が出来なくなります。
**Public Cn = New SqlClient.SqlConnection("Server=グローバル固定IP,14333;User ID=ユーザーID;Password=パスワード;Initial Catalog=インスタンス名")
**
試したこと
以下サイトは一例ですが、ファイアウォールの設定・SQL serverの設定・cmdを使用したping送信等全て行っており、正常に動作する別サーバーとの設定内容の差異も確認して修正しています。
・http://ivystar.jp/database/sql-server/how-to-be-able-to-connect-from-the-outside-in-sql-server/
・https://qiita.com/Nanakusajp/items/7211a5721e725fc6329c
回答4件
あなたの回答
tips
プレビュー