TCP Windows Authenticationを使用してSQL Server 2012インスタンスに接続しようとすると、SQL Server Management Studio 2014で非常に長い遅延(10〜30秒)が発生します。これは、オブジェクトエクスプローラまたは新しい空白のクエリウィンドウを接続するときに発生します。接続すると、クエリの実行が高速になります。SQL Server認証を使用して接続する場合、問題は発生しません。
環境:
ドメインアカウントを使用して同僚のWindows 7コンピューターにログインし、同じVPNを介して同じSQL Serverに接続したところ、遅延はありませんでした。同じ同僚が自分のドメインアカウントで私のPCにログインしたときに、遅延が発生しました。これらのテストは、次のことを示しています問題は私のPCに固有です。また、問題はこの特定のSQL ServerとVPNに接続しているときにのみ発生します。 Windows認証を介してローカルネットワーク上の他のSQL Serverに遅延なく接続できます。
私が成功せずに試したこと:
<default>
ではなくTCP=に強制します。名前付きパイプも試しましたが、サーバーがそのように設定されていません。TCPView手がかり:
何か案は?
更新:Intellisense/Autocomplete clue(?):
最終的に接続すると、Intellisense/Autocompleteが機能しないことに気づきました。それらはSSMSからの個別の接続を必要としますか?私はそれらを無効にしてみましたが、長い接続遅延を解決できなかったようです。
あなたとあなたの同僚がサーバーに接続している間に、SQLプロファイラーでトレースを実行してみてください。
RPC、SQLステートメント、およびPreConnect-開始/完了を選択します。
[結果をテーブルに保存]オプションを選択し、2つのテーブルを比較してボトルネックを見つけます。
または、IPで接続しているため、逆DNSルックアップを実行している可能性があります。その場合は、hostsファイルにエントリを追加します。
最初に確認する必要があるのは、サーバーまたはクライアントのDNS設定です。
SQL ServerがActive Directoryへの接続に問題があるのは珍しいことではありません。ローカルのWindowsアカウントで試してみると、問題が発生することはないと思います。サーバーがパブリックインターネットDNSで構成されていることは珍しいことではなく、SQL ServerがDCに接続して資格情報を確認し、それを確認すると、サーバーのDNSサーバーではなくパブリックDNSに接続しようとします。 AD。この情報はパブリックDNSに保存されないため、検証に失敗し、適切なDNSサーバーに接続するか、NTLM経由でDC=)に接続するまでに遅延が発生します。
他のSQLサーバーで問題が発生していないので、ほとんどの場合、問題はADまたはDC構成に関連していません)
コマンドからIPConfig.exe/allコマンドを実行して、構成されたDNSサーバーを確認します。 ADのDNSサーバーのみを構成する必要があります。すべてのパブリックDNSサーバーを削除し、ADのDNSサーバーのみを残します。
拡張したC:\Windows\System32\drivers\etc\hosts
ファイルに次のような行を追加します。
201.202.203.204 mysqlserver
201.202.203.204
はSQL ServerのIPアドレスです。
mysqlserver
-好きな名前(どこでも使用する必要はありません)。
これにより、サーバーが高速になりました。
おかげで:d -_- b、ヨルダン、リーガー、felickz、RobbZ
ドメインネットワークプロファイルのSQLサーバーでWindowsファイアウォールをオフにします。
Get-NetFirewallProfile -Profile Domain
を実行して、現在の状態を確認しますSet-NetFirewallProfile -Profile Domain -Enabled False
を実行して無効にします。これがそうだった場合は、後で再びオンにして、設定を微調整できます。または、安全な環境にいる場合は、そのままにしておくこともできます。
奇妙なことに、Windowsファイアウォールが通信をブロックした場合でも、接続は可能ですが、最初のハンドシェイクと後続の要求の両方が非常に遅くなります。私の理論(実際の証拠に基づくものではない)は、これらの場合、通信はリモートPC間ではるかに遅い名前付きパイプにフォールバックするというものです。