SQL Server Management Studio повільно відкриває нові вікна


29

Після оновлення як SQL Server, так і студії управління з 2008 по 2012 рік, Management Studio 2012 відбувається дуже повільно, коли відкриваються нові вікна запитів та діалогові вікна.

Навіть клацання правою кнопкою миші на таблицях відбувається повільно. Зазвичай, як мінімум, на 5 секунд затримка, перш ніж я можу почати робити що-небудь у вікні. Це відбувається щоразу, навіть якщо я відкриваю те саме вікно двічі поспіль. Чому це відбувається і як я можу це виправити?

Інші програми дуже швидко встановлюють з'єднання з базою даних.

Те, що я спробував, це не допомогло:

  • Попадання в Google, де мені потрібно змінити hostsфайл
  • Скидання SSMS "визначених користувачем налаштувань"
  • Оновлення драйверів відео, вимкнення апаратного прискорення, відключення DirectX
  • Відключення служби біометричної автентифікації (у мене її не встановлено).

Мій комп'ютер повинен бути більш ніж швидким, а також у мене є 16 Гб оперативної пам’яті. Моє обладнання не повинно бути проблемою. Схоже, SSMS чогось чекає - я можу керувати іншими програмами плавно, поки це відбувається.

У мене немає можливості встановити оновлення SQL Server 2012 CU1, оскільки, здається, існує певний ризик помилок при встановленні виправлень, і я не можу зараз ризикувати цим.


Я не бачу такої поведінки. Якби я тоді досліджував далі, я б спробував (1) Використовуючи Монітор процесів, щоб побачити, що робить процес, і якщо це дає підказки. (2) Використання Profiler SQL Server, щоб перевірити, чи є який-небудь із запитів, надісланих із SSMS, тривалим (наприклад, блокування) (3) Приєднання налагоджувача до процесу SSMS та ввірвання в нього під час зависання, щоб побачити, чи є назви функцій у стек викликів виявив що-небудь.
Мартін Сміт

Відповіді:


11

Запуск студії управління SQL Server

Коли запускається студія управління SQL Server Microsoft (SSMS), вона намагається підключити список відкликань сертифікатів (CRL) Microsoft:

http://crl.microsoft.com/pki/crl/products/MicrosoftRootAuthority.crl

Основні компоненти .NET SSMS намагаються зв’язатися зі списком скасування сертифікатів, і SSMS не може цього зробити. Це уповільнює загальну процедуру завантаження. (Очевидно, 15 секунд за сертифікат)

Добре, ось ось що відбувається. SSMS має високий відсоток керованого коду, весь цей код підписується, коли ми його відправляємо. Під час запуску (якщо цей параметр встановлено) .Net Runtime намагається зв’язатися з crl.microsoft.com, щоб переконатися, що сертифікат є дійсним (якийсь час назад в імені Microsoft було видано підроблені серти, тому це дуже поважно) . Якщо підключення до Інтернету немає або виникає проблема з контактом із сервером списку відкликань сертифікатів, це затримає запуск SSMS.

Довідка: FAQ, чому SSMS займає 45 секунд для запуску? (Блог MSDN)

Одна з проблем, яка може спричинити цю проблему, полягає в тому, що якщо сервер не має доступу до Інтернету, то .NET Framework не може отримати доступ до веб-сайту crl.microsoft.com для перевірки того, що цифрові підписи використовуються для підпису бінарних файлів керованих програм чинні. Кожна перевірка сертифіката має 15-секундний час очікування в реалізації .NET виконання. Залежно від того, які функції встановлені, це може скласти до хвилини часу запуску для Management Studio.

Довідка: Час запуску студії управління SQL Server (Блог MSDN)

Рішення

Ви можете обійти частину проблеми, завантаживши сертифікат безпосередньо, ввівши посилання у свій браузер, а потім імпортуючи сертифікат до вашої бази сертифікатів

  • АБО -

Ви можете перенастроїти брандмауер своєї компанії (компанії), щоб дозволити з'єднання з CRL Microsoft

  • АБО -

Ви можете налаштувати особистий антивірус / брандмауер, щоб дозволити з'єднання з Microsoft CRL

  • АБО -

Ви можете налаштувати брандмауер своєї компанії (компанії), щоб швидше надсилати тайм-аут своєму клієнту для запитів на отримання доступу до CRL Microsoft.

  • АБО -

Ви можете налаштувати IE більше не "Перевірка ануляції посвідчення видавця" в розширених налаштуваннях.

(Детальну інформацію див. У вищезгаданих блогах 1 та 2 )


7

У мене такий самий досвід, як у вас, коли я підключаюся до Імені сервера "./". За глупою удачею я виявив, що у мене не виникає проблем з продуктивністю, коли я підключаюся до Імені сервера "(локальний)" Можливо, існує проблема з тим, як SSMS 2012 вирішує сервер через "./".

Редагувати: Я не думаю, що це пов’язано із SSMS, оскільки я можу відтворити повільність із ./ у з'єднанні ADO.NET.


6

Можливо, сталося, що SSMS імпортував налаштування, які більше не можуть бути оброблені правильно (наприклад, підключення до якогось сервера або, можливо, деякі налаштування надбудови).

Існує жорстокий спосіб "скинути" налаштовані користувачем налаштування SSMS.

Закрийте SSMS, перейдіть до папки:

C:\Users\YOURWINLOGINNAME\AppData\Roaming\Microsoft\SQL Server Management Studio\

Ви знайдете підпапку "11.0". Перейменуйте його на "11.0_", щоб ви завжди могли перейменувати його назад. Тепер запустіть SSMS - це відновить чисті налаштування, і можливо, ваша проблема буде вирішена. Якщо ні - видаліть новостворену "11.0" та перейменуйте "11.0_" назад на "11.0".

Це також може бути поведінка якогось додатку, який пошкодився після оновлення. Надбудови зареєструються як обробники деяких команд або подій, і система може стати нестабільною, якщо вони відсутні / викидають винятки.

Власне, v2012 використовує інший механізм реєстрації надбудов, але деякі додатки встановлюють себе у всіх випадках. Щоб перевірити, перегляньте цей ключ реєстру:

[HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio\11.0_Config\AutomationOptions\LookInFolder]

Ви знайдете там список папок. Перевірте всі ці папки - вони повинні бути порожніми (означає, що у вас немає додатків).


4

Спробуйте відключити антивірус, а потім перевірте працездатність для студії управління sql сервером 2012.


4
Яке обґрунтування цієї пропозиції?
Мартін Сміт

3

Я особисто не стикався з цим питанням, проте є довга нитка ( тут ), де є багато людей. Здається, загальна порада стосується роботи з вашим відеодрайвером будь-яким

  1. Встановлення оновленого драйвера відео -OR-
  2. Скорочення або вимкнення удосконалення обладнання -OR-
  3. Вимкнення підтримки DirectX

Із потоку з'явилася і така відповідь ... "Процедура Windows 7 Clean Boot виявила проблему служби біометричної автентифікації (DigitalPersona DPHostw.exe). Відключення служби виправило проблему."

Мені буде цікаво дізнатися, чи працює будь-який із цих підходів і у вашому випадку, оскільки тема, яку я знайшов, стосується старих версій SSMS, тобто 2005, 2008 років тощо ...


3

Я б припустив, що проблема полягає в тому, що відкриття нового з'єднання з вашим сервером займає 5 секунд. Чому саме це справа, я не можу сказати, і для її аналізу та діагностики знадобиться дротяний слід. Ви повинні дослідити, які протоколи (и) намагаються здійснити та який протокол врешті-решт вдаються. Можливо, ваш клієнт намагається спершу назвати труби (що залежить від SMB), а потім повертається до TCP (хоча звичайна затримка в такому випадку значно довша, приблизно 20-30 секунд).

Я рекомендую вам перевірити порядок дії клієнтських протоколів у конфігурації мережі клієнта . Перевірте протокол, що використовується клієнтом, знайшовши власний запис у sys.dm_exec_connections.


3

У мене така ж проблема, і виявляється, що сканування Trend Micro Office викликає цю проблему.

Я спробував усе, що описано в кількох інших подібних темах про цю проблему, безрезультатно. Я подумав, що я спробую відключити програмне забезпечення AV. Після того, як сканування Trend Micro Office вимкнено, SSMS швидко загоряється.

У Windows 7 цього не сталося.


3

Я також зазнав затримки від 5 до 10 секунд, коли клацнув правою кнопкою миші таблицю, щоб відкрити контекстне меню. Моя ситуація може бути дещо іншою, ніж деякі, проте я використовую лише локальні бази даних. Моє рішення:

Прочитавши відповідь imran про відключення антивірусу, я зробив цю концепцію ще більше, оскільки я не хочу повністю відключити свій антивірус ПРОСТО, щоб подолати цю проблему.

Я значно зменшив затримку (зараз це максимум 1 секунда), змінивши розташування бази даних за замовчуванням, а потім виключив цей каталог із антивірусу (у моєму випадку я використовую Microsoft System Center Endpoint Protection 2015).

Щоб змінити розташування баз даних за замовчуванням, детальну інформацію див. У наступній статті. http://thomaslarock.com/2015/02/changing-default-database-file-locations-in-sql-server/


3

У мене була така ж проблема із SSMS 2016. Я використовував промонд, щоб визначити, що останнє, що було зроблено перед затримкою на кілька секунд, - це встановлення мережевого підключення до IP-адреси Microsoft. Потім я спробував вимкнути програму досвіду клієнтів, встановивши HKEY_CURRENT_USER\SOFTWARE\Microsoft\Microsoft SQL Server\130значення ключа реєстру CustomerFeedbackвід 1 до 0. Після перезавантаження SSMS він знову швидко працює. Імовірно, це не завжди призводить до повільних нових вікон запитів, але для мене це було.

Я не знаю, чи це було з вашим SSMS 2012, але, можливо, варто спробувати. Ключ реєстру, ймовірно, буде 110замість 130.


2

Щодо SSMS 2016 та зміни реєстру. Мій шлях був

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\130\Tools\Setup\UserFeedbackOptIn  

Я змінив його з 1 на 0, і SSMS знову був швидким.


2

Іноді цю проблему можна вирішити просто закривши велику кількість вікон кешованих запитів.

У моєму екземплярі SSMS було близько 15 запитів у збереженому кеші (який відкривався щоразу, коли я відкривав SSMS) - я закрив усі ці вікна та перезапустив SSMS, і проблема негайно зникла.


2

У мене ssms v17.0, у мене також була проблема з контекстними меню повільного клацання правою кнопкою миші.

Назва комп’ютера мала в ньому тире, перейменувавши комп'ютер на щось просте, виправляло його.

Я видалив ssms, вилучив сервер sql, перейменував комп'ютер на щось просте, як-от "MyBox" замість "xja-13-asdfa3". Потім я перевстановив сервер sql, потім ssms, і це вирішило ВСІ мої проблеми з контекстним меню SLOW при натисканні правої кнопки на таблиці. Я думаю, що десь проблеми DNS виникали і очікування були пов'язані з очікуванням таймаутів dns.

У мене був ноутбук з 16 гігами оперативної пам’яті, накопичувачами ssd, 3 ГГц-процесором прямо з коробки з фабрики з назвою випадкового ПК за замовчуванням.


1

Це швидко на моєму комп’ютері.

SSMS в SQL Server 2012 тепер використовує оболонку Visual Studio 2010, яка є більш ресурсною, ніж оболонка, яку використовує SSMS у SQL Server 2008. Я пропоную оновити комп'ютер або використовувати SSMS з SQL Server 2008 R2. Ви повинні мати можливість виконувати більшість завдань зі старою версією.

Ви також можете спробувати встановити останнє накопичувальне оновлення, оскільки вони також оновлять клієнтські інструменти. Остання версія для SQL Server 2012 наразі - CU1.

http://support.microsoft.com/kb/2679368/



0

Для мене саме брандмауер BitDefender зробив мій SSM ультра повільним. Мабуть, якесь брандмауер блокує доступ до списку баз даних


-1

Слід перевірити стан властивості бази даних " Автоматично закрити " в групу " Автоматично ".

Якщо це правда, після кожного запиту з’єднання буде закрито та повторно відкрито при кожному новому запиті. Це неодмінно сповільнить вашу роботу в smsms. За замовчуванням помилково.


-2

Можливо, у вас недостатньо оперативної пам’яті на комп’ютері?

Рекомендована оперативна пам’ять для SQL 2012 - це 4 ходи. Для SQL 2008 було 2 рази. Http://msdn.microsoft.com/en-us/library/ms143506.aspx

З моменту оновлення з SQL 2008 до 2012 року, можливо, вам потрібно більше оперативної пам’яті?


-2

Коли я запускаю SSMS за допомогою привілеїв адміністратора (клацніть правою кнопкою миші та запустіть як адміністратор), він справно працює, інакше нове вікно запиту займає більше часу


-3

Причиною цього майже завжди є відсутність мережевого накопичувача - наприклад, якщо у вас є відображення диска на ноутбуці, але ваш ноутбук вимкнено.

На жаль, рішення полягає в тому, щоб увімкнути ноутбук (щоб диски знову підключились) або відключити диски в Провіднику Windows (але потім доведеться їх знову підключити пізніше).

Дивіться тут для отримання додаткової інформації: http://social.msdn.microsoft.com/Forums/en-US/sqltools/thread/64c13a84-3e62-4b0c-a1ce-65fcc78d6787


1
Ця проблема стосується SSMS 2012 - я сумніваюся, що потока msdn від лютого 2010 року буде доречною.
JNK
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.