web-dev-qa-db-ja.com

SSMSがWindows認証を介してIPでリモートサーバーに接続できない

Windows認証を介してIP,portでリモートサーバーに接続しようとしています。
次のエラーで終了します

接続タイムアウトの期限が切れました。ログイン前のハンドシェイクの確認応答を消費しようとしたときにタイムアウト期間が経過しました。これは、ログイン前のハンドシェイクが失敗したか、サーバーが時間内に応答できなかったことが原因である可能性があります。このサーバーへの接続試行中に費やされた時間は-[Pre-Login] initialization = 41306;でした。 handshake = 27677; (Microsoft SQL Server、エラー:-2)

ただし、IP,portに接続し、SQL Server認証を介してsaでログインすると、サーバーに正しく接続できます。

さらに、MachineName,portに切り替えてWindows認証でログインすると、正常に接続できます。

このユースケースを機能させるためにどのような設定/調整が必要かわからない。

環境

  • 私のラップトップはWin10で、SQL Server 2012はWindowsサーバー2012 R2上にあります
  • これら2つのマシンは同じドメインにあります。
  • デフォルトの1433の代わりに別のポートを使用しています。

私が試したケース

  1. windows認証によるリモートIP,port-失敗
  2. windows認証によるリモートMachineName,port-成功
  3. sQL Server認証(saアカウント)経由のリモートIP,port-成功
  4. windows認証によるリモートIP\MSSQLSERVER,port-失敗
  5. リモートへのRDPとWindows認証によるssmsの使用IP,port-成功

私が試した設定

  • SQL Server exeを受信規則に追加する
  • SQL Serverブラウザーを起動する
  • IP1を、使用しているIPv4に変更し、アクティブ/有効にします(再起動サービスも)
  • MSSQLSERVERのプロトコルとクライアントプロトコル(/ 32ビット)でTCP/IPが有効になっていることを確認します。
  • 使用しているポートをIPAll/TCPポートに追加し、動的ポートは空白のままにします
3
蕭為元

つまり、タイムアウトは実際にはタイムアウトであることがわかります...接続タイムアウトを90秒に費やした後、約1分後に接続が終了しました。

インフラストラクチャの人たちは、マシン名などを解決しようとしているので、これは可能性があると言いますか? (私はネットワークと設定に関するものにはあまり詳しくありません)。プロセスをスピードアップする方法が見つかった場合は、この回答を更新します。

2
蕭為元

ケース番号4(IP\MSSQLSERVER,port)は必要ありません。ただし、この問題は、SQLサービスが実行されているWindowsレベルのセキュリティプロトコル/プロバイダーにあるようです。

この投稿 がさらなるトラブルシューティングと回避策の解決に役立つことを願っています。Windowsのセキュリティパスを適用すると、このような問題が適切に修正されます。

1
Shekar Kola