KB2926712 - ВИПРАВЛЕННЯ: Продуктивність знижується після індексу ALTER... Операція ONLINE перервана в SQL ServerSQL Server 2012 або SQL ServerSQL Server 2014

Застосовується до
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Express SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Ознаки

Нижче описано такий сценарій.

  • Ви запускаєте індекс ALTER ... ONLINE query в Microsoft SQL Server SQL Server 2012 або SQL ServerSQL Server 2014.
  • Цей запит переривається через взаємоблокування або дію, ініційовану користувачем, наприклад запуск команди знищення або скасування запиту.

У цьому сценарії всі операції DML, які мають використовувати метадані індексу, блокуються або виконуються надто довго.

Крім того, можуть виникати такі ознаки:

  • Підвищені значення для типу очікування PWAIT_MD_RELATION_CACHE або MD_LAZYCACHE_RWLOCK під час створення запиту до подань динамічного керування sys.dm_os_wait_stats та sys.dm_exec_requests
  • Підвищені значення для типу очікування SOS_RW під час запиту sys.dm_os_spinlock_stats DMV

Ця проблема зазвичай спостерігається під час уповільнення очищення об'єктів синхронізації за допомогою кожного нового запиту DML. Через характер очікування об'єктів синхронізації використання ЦП зазвичай обмежене.

Спосіб усунення проблеми

Сукупні відомості про оновлення

Вперше виправлено цю проблему в наступному сукупному оновленні SQL ServerSQL Server.

Сукупний пакет оновлень 1 за SQL Server 2014 р. /uk-ua/help/2931693

Сукупний пакет оновлень 9 для SQL Server 2012 р. (SP1) /en-us/help/2931078

Відомості про сукупні оновлення для SQL ServerSQL Server

Кожне нове сукупне оновлення для SQL Server містить усі виправлення та виправлення системи безпеки, які входили до попереднього сукупного пакета оновлень. Перегляньте останні сукупні оновлення для SQL Server.

      

Відомості про виправлення
 Підтримуване поточне виправлення можна отримати від корпорації Майкрософт. Однак це виправлення призначено лише для виправлення проблеми, описаної в цій статті. Застосовуйте це виправлення лише до систем, у яких виникла ця конкретна проблема.

Якщо виправлення доступне для завантаження, угорі цієї статті в базі знань відображається розділ "Доступне завантаження виправлень". Якщо цей розділ не відображається, надішліть запит до служби обслуговування й підтримки клієнтів корпорації Майкрософт, щоб отримати виправлення.

Примітка. У разі виникнення додаткових проблем або необхідності виправлення неполадок може знадобитися створити окремий запит на обслуговування. За додаткові послуги підтримки, не пов'язані з цим конкретним виправленням, плата стягується на загальних засадах. Щоб отримати повний перелік номерів телефонів служби підтримки й підтримки клієнтів корпорації Майкрософт або створити окремий запит на обслуговування, відвідайте веб-сайт корпорації Майкрософт:

/contactus/?ws=support Примітка. У формі "Доступне завантаження виправлень" відображаються мови, для яких доступне виправлення. Якщо ви не бачите свою мову, це означає, що виправлення недоступні для неї.

Увага! Після застосування цього виправлення помилка ALTER INDEX ... Запит ONLINE можна перервати без зниження продуктивності SQL ServerSQL Server.

Спосіб вирішення

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

  • Перезавантажте екземпляр програми SQL Server 2012 або SQL Server 2014.
  • Переведіть проблемну базу даних в автономний стан, а потім знову переведіть її в онлайн.

Стан

Корпорація Microsoft підтвердила, що це одна з проблем з продуктами Microsoft, перелічених у розділі "Застосовується до".