Dostaję bardzo długie opóźnienia (10 ~ 30 sekund) w SQL Server Management Studio 2014, gdy próbuję połączyć się z wystąpieniem SQL Server 2012 przez TCP przy użyciu uwierzytelniania systemu Windows . Dzieje się tak po podłączeniu Eksploratora obiektów lub nowego pustego okna zapytania. Po połączeniu uruchamianie zapytań jest szybkie. Problem nie występuje, gdy łączę się przy użyciu uwierzytelniania programu SQL Server.
Środowisko:
- Windows 7, zalogowany jako użytkownik domeny
- Połączenie TCP przez adres IP (nie nazwa hosta)
- Serwer znajduje się w zdalnej lokalizacji połączonej przez VPN
- Bez szyfrowania
Kiedy zalogowałem się do komputera z systemem Windows 7 współpracownika za pomocą mojego konta domeny i połączyłem się z tym samym programem SQL Server za pośrednictwem tej samej sieci VPN, nie było opóźnienia. Gdy ten sam współpracownik zalogował się na moim komputerze za pomocą własnego konta domeny, doświadczył opóźnienia. Te testy pokazują, że problem występuje tylko na moim komputerze. Problem pojawia się także tylko podczas łączenia się z tym konkretnym serwerem SQL Server i VPN; Mogę połączyć się z innymi serwerami SQL w sieci lokalnej za pomocą uwierzytelniania systemu Windows bez żadnych opóźnień.
Rzeczy, których próbowałem bezskutecznie:
- Wyłączono antywirusa i zaporę ogniową
- Zmieniono nazwę folderu „12.0” w „% userprofile% \ AppData \ Roaming \ Microsoft \ SQL Server Management Studio” na „_12.0”, aby wymusić na SSMS odtworzenie moich ustawień użytkownika.
- Wymuś protokół sieciowy na TCP zamiast
<default>
. Próbowałem też potoków nazwanych, ale mój serwer nie jest do tego skonfigurowany. - Zainstalowałem SSMS 2012 i wypróbowałem to zamiast 2014.
- Wyłączone IPv6
- Blackholed crl.microsoft.com do 127.0.0.1 w moim pliku etc \ hosts.
- Wyłączono program poprawy jakości obsługi klienta w SSMS, Visual Studio i Windows.
- Odinstalowałem wszystkie aplikacje związane z SQL Server z mojego komputera i ponownie zainstalowałem w 2012 roku.
Wskazówki TCPView:
- Za pomocą TCPView zauważyłem, że kiedy nawiązuję nowe połączenie, jego stan natychmiast staje się USTAWIONY, ale następnie jedno lub dwa kolejne połączenia z SQL Server są ciągle próbowane i zamykane za pomocą TIME_WAIT . Na komputerze mojego współpracownika połączenia są USTALONE i solidne. Jestem więc prawie pewien, że to jest przyczyna przekroczenia limitu czasu, ale po co są połączenia i dlaczego zawodzą? (Nie mam żadnych dodatków w moim SSMS.)
Jakieś pomysły?
Aktualizacja: Intellisense / Autouzupełnianie wskazówka (?):
Zauważyłem, że kiedy w końcu się połączę, Intellisense / Autocomplete nie działa. Czy wymagają one oddzielnych połączeń z SSMS? Próbowałem je wyłączyć, ale wydawało się, że nie rozwiązało to dużego opóźnienia połączenia.