Почему подключение к SQL Management Studio занимает так много времени?

64912
Andrew J. Brehm

Учитывая, что Microsoft SQL Server технически не является медленной системой управления базами данных, я продолжаю задаваться вопросом, почему для подключения SQL Management Studio часто / обычно требуется так много времени.

Это происходит даже тогда, когда никто другой не обращается к серверу базы данных и когда Management Studio работает на том же компьютере, что и SQL Server.

Кроме того, SQL Management Studio часто занимает очень много времени, чтобы что-то сделать, даже простое отображение разрешений для входа в систему может занять несколько минут на серверах баз данных, в противном случае они не используются.

Есть ли какое-то очевидное объяснение?

16
Как долго это "так долго"? 2 секунды, 20 секунд или 200 секунд? Bevan 14 лет назад 1
У вас есть какие-то странные плагины? Каждый сервер, к которому я пытаюсь подключиться, занимает менее 2 секунд в моей рабочей сети. Bob King 14 лет назад 0
@Bevan для меня, минуты, чтобы соединиться с `localhost` ... это действительно расстраивает. (YMMV) И это началось в какой-то недавний момент времени, это никогда не было так раньше. ANeves 11 лет назад 0
@ Беван, для меня это займет 50 секунд, чтобы начать. Когда я нажимаю на значок, пока что-то не появляется, это 50 секунд, что, на мой взгляд, слишком много времени. FabianVal 5 лет назад 0

13 ответов на вопрос

13
peco

Это сработало для меня: Microsoft SQL Server Management Studio слишком медленный

В корпоративной среде Microsoft SQL Server Management Studio (SSMS) для SQL Server 2005 нередко занимает более 45 секунд для запуска, а также задержки и задержки при открытии различных окон и диалоговых окон из приложения. Если у вас возникла эта проблема, быстрое решение - добавить запись в ваш HOSTS. файл, который указывает crl.microsoft.com на 127.0.0.1

  • Выход из SSMS
  • Нажмите клавиши [Win] + [R]
  • Введите следующее..

    notepad %systemroot%\system32\drivers\etc\hosts. 
  • Добавить следующее ..

    127.0.0.1 crl.microsoft.com 
  • Сохраните файл.

  • Запустите SSMS (ах! Намного лучше)
Боже мой, это странно ... Alex Zhukovskiy 7 лет назад 0
Поскольку `crl` расшифровывается как« Список отзыва сертификатов », это также не идеально с точки зрения безопасности (см. Комментарии к принятому ответу). Heinzi 6 лет назад 0
Для меня это, похоже, привело к задержке с 30 ++ секунд до <5 секунд, но все же медленно. tbone 6 лет назад 0
12
Julien N

Это звучит глупо, но у меня была проблема с очень медленной SQL Server Management Studio, и этот трюк решил ее:

  • Откройте Internet Explorer
  • Перейти в Инструменты -> Интернет
  • Откройте вкладку «Дополнительно»
  • Снимите флажок «Проверка отзыва сертификата сервера (требуется перезагрузка)»

Этот прием эффективен только в том случае, если компьютер, на котором установлена ​​SQL Server Management Studio, НЕ подключен к Интернету. Только это решило мою проблему. Может быть, это решит ваш.

Как ни странно, это, кажется, немного улучшает ситуацию. Но проблема 32/64 бит, упомянутая ниже, также может быть правильной. Я приму этот ответ и поддержу другого. Andrew J. Brehm 14 лет назад 0
Я не эксперт по безопасности, но эта страница http://www.virtualobjectives.com.au/sqlserver/ssms_slow.htm (которая представлена ​​здесь в другом ответе и хорошо сработала для меня) отмечает, что отключение проверки сертификата безопасности не является рекомендуется. Я думаю, что использование этого подхода открывает перед вами большой риск для безопасности: O jinglesthula 10 лет назад 4
В моем случае сервер не был подключен к Интернету, поэтому он не мог выполнить какую-либо проверку безопасности, поэтому он не сильно изменился, за исключением того, что мне не пришлось ждать таймаута :). Но я согласен, что это не очень хорошая идея для сервера, который может выполнить эту проверку. Julien N 10 лет назад 0
3
Sk93

по умолчанию при подключении к локальному серверу используемый сетевой протокол является разделяемой памятью. Это может быть довольно медленно иногда.

У меня возникла та же проблема со скоростью при подключении к аналогичной коробке локально, но не удаленно.

Вы получаете такое же замедление, если при подключении вы указываете сетевой протокол TCP / IP?

РЕДАКТИРОВАТЬ Кроме того, по словам Microsoft, это может быть проблема, вызванная тем, что Management Studio 32-разрядная и работает на 64-разрядной ОС. Смотрите здесь: http://support.microsoft.com/kb/906892

Поэтому Microsoft рекомендует запускать его на 32-битной ОС. Не совсем практическое предложение. * закатывая глаза * mhenry1384 5 лет назад 0
3
Brian Knoblauch

Возможно, нарушена реализация IPv6? Вы используете двойной стек? У нас и была эта проблема раньше. Сначала пробуют IPv6, и, если есть какие-либо ошибки конфигурации, он в конечном итоге не сможет перейти на IPv4.

3
Vern Wold

SSMS is attempting to check with Microsoft for the default root certificate, even though it does not us it. If you are using a proxy server use either proxycfg or netsh to set the system proxy settings. Close and then open SSMS and the time to load will be greatly reduced.

1
Drake

Мой коллега ведет себя точно так же, как вы на своем ПК. Он использовал SQL Server Management Studio 2005 года. Он решил установить новую версию, которая поставляется с SQL Server 2008.

Если вы заметили, что эта проблема возникает только на вашем компьютере, я предлагаю вам попробовать удалить и переустановить весь пакет Microsoft SQL Server.

Это происходит со мной как с SQL Server 2005, так и с 2008 годами. Andrew J. Brehm 14 лет назад 1
1
Martin Marconcini

Может ли это быть проблемой разрешения имен? Если ядро ​​SQL Server находится на той же машине, попробуйте использовать (local) в качестве имени или даже 127.0.0.1 (или IP-адрес машины). Netbios через TCP / IP и / или несовершенные WINS / DNS могут привести к медленному соединению.

Также убедитесь, что на сервере достаточно памяти для работы. SQL Server может хорошо работать под оперативной памятью 512 МБ, но производительность очень быстро падает.

При подключении к серверу не должно быть больше 5 секунд. (Меньше, если местный).

Нет, он соединяется с "." Рассматриваемые серверы являются 64-битными и имеют 8 ГБ и более. Andrew J. Brehm 14 лет назад 0
1

Я добавил sqlservr.exe в список исключений брандмауэра Windows на SQL Server 2005. Результат: очень быстрый ответ!

1
Neil Miller

Adding to Julien N 's answer above, I fixed the problem (a 10-second delay when running a query the first time) by un-ticking:

"Check for Publisher's certificate revocation"

in Internet Explorer advanced options. No restart required.

1
user61982

В моем случае это было не каждый раз, но когда это произошло, потребовалось бы 10 минут, чтобы вернуть даже мою соединительную коробку. Поэтому я посмотрел диспетчер конфигурации и отключил совместную память. Работает как шарм каждый раз!

Немного подробнее, например, какая версия, переход от приложения к этому параметру и т. Д. Будут полезны. Pimp Juice IT 7 лет назад 1
Это сработало для меня. Для этого запустите диспетчер конфигурации SQL Server и отключите «Общая память» в разделе «Конфигурация сети / Протоколы». Mike 6 лет назад 0