Я получаю очень большие задержки (10 ~ 30 секунд) в SQL Server Management Studio 2014 при попытке подключиться к экземпляру SQL Server 2012 через TCP с использованием проверки подлинности Windows . Это происходит при подключении обозревателя объектов или нового пустого окна запроса. После подключения выполнение запросов выполняется быстро. Проблема не возникает при подключении с использованием проверки подлинности SQL Server.
Среда:
- Windows 7, вошел как пользователь домена
- TCP-соединение через IP-адрес (не имя хоста)
- Сервер находится в удаленном месте, подключенном через VPN
- Без шифрования
Когда я вошел в систему на компьютере Windows 7 с моей учетной записью домена и подключился к тому же SQL Server через тот же VPN, задержки не было. Когда тот же сотрудник вошел в мой компьютер со своей учетной записью домена, он испытал задержку. Эти тесты показывают, что проблема уникальна для моего компьютера. Кроме того, проблема появляется только при подключении к этому конкретному SQL Server и VPN; Я могу подключиться к другим серверам SQL в локальной сети через Windows Authentication без каких-либо задержек.
Вещи, которые я пытался безуспешно:
- Отключены антивирус и брандмауэр
- Переименовал папку «12.0» в «% userprofile% \ AppData \ Roaming \ Microsoft \ SQL Server Management Studio» в «_12.0», чтобы заставить SSMS воссоздать мои пользовательские настройки.
- Принудительно использовать сетевой протокол TCP, а не
<default>
. Я также попробовал Named Pipes, но мой сервер не настроен для этого. - Установил SSMS 2012 и попробовал это вместо 2014.
- Отключенный IPv6
- Blackholed crl.microsoft.com до 127.0.0.1 в моем файле etc \ hosts.
- Отключил программу улучшения качества программного обеспечения в SSMS, Visual Studio и Windows.
- Удалите все приложения, связанные с SQL Server, с моего компьютера и переустановите только в 2012 году.
TCPView подсказки:
- Используя TCPView, я заметил, что когда я создаю новое соединение, его состояние сразу устанавливается ESTABLISHED, но затем одно или два дополнительных соединения с SQL Server постоянно пытаются и закрываются с помощью TIME_WAIT . На компьютере моего сотрудника эти соединения установлены и надежны. Так что я почти уверен, что это источник тайм-аутов, но для чего нужны соединения и почему они терпят неудачу? (У меня нет никаких дополнений в моей SSMS.)
Любые идеи?
Обновление: подсказка Intellisense / автозаполнения (?):
Я заметил, что, как только я наконец-то подключился, Intellisense / Autocomplete не работает. Требуются ли для этого отдельные соединения от SSMS? Я попытался отключить их, но это, похоже, не помогло решить проблему длительной задержки соединения.