VPN 経由で既存のネットワークに初めて接続しました。VPN クライアントから SQL Server が使用する IP アドレスに ping を実行できますが、SSMS は SQL Server に接続しません。正しいログイン ID とパスワードを使用しています。
なぜこれが起こるのでしょうか?何か案は?
VPN 経由で既存のネットワークに初めて接続しました。VPN クライアントから SQL Server が使用する IP アドレスに ping を実行できますが、SSMS は SQL Server に接続しません。正しいログイン ID とパスワードを使用しています。
なぜこれが起こるのでしょうか?何か案は?
既定のインスタンスでは、SQL Server は既定で TCP/1433 をリッスンします。これは変更できます。名前付きインスタンスでは、構成が異なる場合を除き、SQL Server は動的 TCP ポートでリッスンします。つまり、ポートが使用中であることを SQL Server が検出すると、別の TCP ポートが選択されます。名前付きインスタンスの場合、クライアントが通常正しいポートを見つける方法は、SQL Server リスナー サービス/SQL ブラウザーと対話することです。これは UDP/1434 でリッスンし、変更できません。名前付きインスタンスがある場合は、静的ポートを構成できます。Kerberos 認証/委任を使用する必要がある場合は、構成する必要があります。
決定する必要があるのは、SQL Server がリッスンしているポートです。次に、ネットワーク/セキュリティ担当者と協力して、VPN 経由でそのポートへの通信を許可しているかどうかを判断する必要があります。表示されている場合は、ファイアウォールの設定を確認してください。一部のシステムには複数のファイアウォールがあります (私のラップトップはその例です)。その場合は、システム上のすべてのファイアウォールを確認する必要があります。
これらがすべて正しい場合は、IP アドレス経由で SQL Server ポートへのアクセスを制限する IPSEC ポリシーがサーバーにないことを確認します。また、ブロックされる可能性もあります。
これが発生した場合、DNS が正しく機能していないことが原因です。SQL Server ログインでサーバー名の代わりに IP アドレスを使用してみてください。
SQL Server が TCP/IP に対して有効になっていることを確認してください (誰かが無効にした可能性があります)。
これは、SQL インスタンスが使用しているポート番号を確認/検証するのにも役立ちます (誰かがデフォルトのポート 1433 から変更した場合)。
明らかに、ポート 1433 (または SQL がリッスンしている任意のポート) は、マシンと SQL が実行されているボックスの間のファイアウォールによってブロックを解除する必要があります。
SQL のネットワーク構成を確認するには (SQL Server クライアント ツールがインストールされている必要があります): [スタート] -> [プログラム] -> [SQL Server 200x] -> [構成ツール] -> [SQL Server 構成マネージャー]
必要なマシンに接続し、ツリー アイテム (LHS) の [SQL Server Network Configuration] を展開して、インスタンスを選択します。共有メモリ、名前付きパイプ、TCP/IP、および VIA の 4 つのオプションが必要です。RHS ウィンドウで TCP/IP が有効になっていることを確認できます。
TCP/IP をダブルクリックして [詳細設定] タブをクリックすると、ポート番号も表示されます。
その他の考え.. SQL 認証または Windows (ドメイン) 認証を使用していますか?
SQL認証(ユーザー名とパスワードを指定して使用していると思います)の場合、接続しているSQLインスタンスで混合モード認証が有効になっていますか?そうでない場合は、管理者として接続し、デフォルトのセキュリティ設定を変更して SQL 認証を許可する必要があります。
Windows 認証の場合、ネットワークで Kerberos が使用されている可能性がありますか? VPN資格情報がハンドシェイクに使用されると考える人もいるでしょう. あなたのアカウントに適切なログイン権限があることを確認します。
Hamachi VPN 経由でリモート接続しようとしたときにも、この問題が発生しました。私はインターネット上で入手可能なすべてのもの (この投稿を含む) を試しましたが、それでもうまくいきませんでした。同じデータベースがローカル ネットワーク上のマシンにインストールされている場合、すべてが正常に機能したことに注意してください。最後に、次の修正を使用して成功を収めることができました。リモート マシンで、次のように TCP/IP プロトコルで IP アドレスを有効にします。
リモート マシンで SQL Server 構成マネージャーを起動し、[SQL Server ネットワーク構成] を展開し、[SQLEXPRESS のプロトコル] (または [MSSQLSERVER]) を選択し、[TCP/IP] を右クリックして、表示されるダイアログ ボックスで [IP アドレス] タブに移動します。 「IP1」要素がActive=Yes
andであることを確認してEnabled=Yes
ください。IP アドレスを書き留めます (私にとっては、これらを変更する必要はありませんでした)。次に、SQL Server サービスを停止して開始します。その後、リモート マシンのファイアウォールが無効になっていることを確認するか、ローカル サブネットと前のダイアログ ボックスでメモしたアドレスのサブネットの両方を含むポート 1433 に対して例外が許可されていることを確認します。192.168.1.22\SQLEXPRESS
ローカル マシンでは、サーバー名を(または)に設定することで接続できるはずです[ip address of remote machine]\[SQL server instance name]
。
それが役立つことを願っています。
SQL Server が使用しているポートが、ファイアウォールまたは VPN によってブロックされていないことを確認してください。
SQL Server インスタンスが使用しているポートを許可するようにファイアウォールを設定している限り、データ ソースを から=Server name
に変更するだけで済みます。=IP,Port
つまり、接続文字列で次のようなものを使用します。
Data Source=190.190.1.100,1433;
クライアント側で何も変更する必要はありません。
この問題は、Citrix Access Gateway でよく発生します。通常、タイムアウトエラーが発生します。ネットワーク上のクライアントからはデータベースに接続できるが、VPN を介してリモート クライアントからは接続できない場合は、ここで示したほとんどの提案を忘れてもかまいません。これらはすべてサーバー側の問題に対処するためです。
タイムアウトをデフォルト (15 秒) から 60 秒に増やすと接続できるようになり、プロトコルを強制的に TCP/IP にします。これらのことは、ログイン ダイアログの [オプション] 画面で実行できます。
SQL Server 2005 を使用している場合は、最初に SQL Server Browser サービスを開始します。
UDP ポートが開いていないか、VPN 転送されていない可能性があります。ポート番号は 1433 です。
"TCP/IP" というクライアント プロトコル名にもかかわらず、mssql はビットバンギングに UDP を使用します。
SQL Server は TCP ポート 1433 を使用します。これは、VPN トンネルまたはサーバーのファイアウォールによってブロックされている可能性があります。
VPN に接続すると、すべてのメッセージが VPN サーバーを通過し、SQL サーバーが動作しているポートにメッセージを転送できませんでした。
試す
VPN 設定を無効にする -> プロパティ -> TCP/IP プロパティ -> 詳細設定 -> リモート ネットワークでデフォルト ゲートウェイを使用する。
この方法では、最初に SQL サーバーのローカル IP への接続を試みてから、VPN サーバーを使用して転送します。
SQL Server 2017 でもこの問題が発生していました。
私は VPN 経由でサーバーと同じネットワーク上にあり、ping を実行できます。どの認証方法も機能しないことに不満を感じた後、SQL サーバー上に SSH サーバーをセットアップしたところ、正常に接続できました。これにより、何らかの理由で正しいポートがヒットしていないことが確認されました。新しいユーザー アカウント、ドメイン アカウント、両端でのファイアウォール チェックなども作成しました。
私にとっての解決策は次のとおり です。 1. SSMS で厳密に TCP/IP を使用するように接続を設定します。
上記の他のすべてのコメントは、これまでのところ機能していません。ポートを含めることが必須だったようです(デフォルトですが)。
これにより、VPN 経由で SQL Server 2012 データベースにアクセスする際の接続の問題が解決されました
SQL Server 2012 構成マネージャーでは、
私はSQL Serverネットワーク構成に行きました
次に、新しいサーバー インスタンスをクリックし、TCP/IP プロトコルをダブルクリックしました [以前にもこのオプションを有効にしてサーバーを再起動しましたが、それでも問題は解決しませんでした]
TCP/IP が有効になったので、TCP/IP プロパティの詳細ダイアログの [IP アドレス] タブにあるすべての IP ポート スロットが [有効] = [いいえ] に設定されていることに気付きました。
新しいインストールでこれらすべての IP スロットが [はい] ではなく [いいえ] に設定されている理由に興味があったので、[はい] に変更しました。
これで、VPN を介したサーバーへの接続が正常に機能するようになりました。ポート番号は変更しませんでした。
注: Visual Studio 2010 の SQL Server 2008 のデフォルトもアンインストールしましたが、それが TCP/IP の状況に直接影響したとは思いません。Visual Studio に付属する 2008 および 2005 のインストールは、SQL 2012 に干渉する可能性があると同僚から言われました。
私の解決策は、サービス「SQL Server Browser」を有効にして開始することでした。また、ファイアウォールでこのサービスを許可してください。