Ознаки
Розглянемо такий сценарій:
-
Ви використовуєте Microsoft SQL Server 2016 пакет оновлень 2 (SP2) сукупний пакет оновлень 2 (CU2) або пізніших версій.
-
Виконується екземпляр, у якому розміщено багато баз даних (зазвичай їх понад 200), а цей екземпляр входить до групи постійного доступу (AG) (зазвичай із роллю додаткового сервера). Примітка. Усі бази даних користувачів не мають належати до AGs.
-
Запустіть застосунок служби точного копіювання томів (VSS), щоб надіслати запит на резервне копіювання всіх або деяких баз даних SQL Server екземпляра.
У цьому випадку SQL Writer Service може досягти взаємоблокування ситуації і на невизначений час залишити блокування від внутрішньої системної таблиці в головному (sys.sysdbreg з object_id 28). Крім того, ці блокування, у свою чергу, перешкоджають читанню з системних подань динамічного керування (DMV), як-sys.dm_hadr_database_replica_states, і можуть призвести до серйозного додаткового блокування в екземплярі. Крім того, ви помітите, що блок-ланцюг аналіз повертає таку інструкцію, що походить з SQL Server VSS Writer як блокувальник голови:
"select name, recovery_model_desc, state_desc, CONVERT(integer, is_in_standby), ISNULL(source_database_id,0) з master.sys.databases"
Після цього SQL Server матиме стан очікування ASYNC_NETWORK_IO.
Примітка. Оскільки ASYNC_NETWORK_IO очікування реалізовано, wait_time проти нього ніколи не перевищуватиме дві секунди (2000 мс). Однак тип очікування залишиться на місці на невизначений термін, і ця ситуація ніколи не розблокує самостійно. Це вимагає, щоб ви вбили SQL Writer Service, щоб розблокувати ситуацію.
Серед SPID, заблокованих цим блокувальником голови, часто є DBSTARTUP SPID (alwayson Secondary DB redo).
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".
Спосіб вирішення
Цю проблему вирішено в сукупному пакеті оновлень для SQL Server:
Про сукупні оновлення для SQL Server:
Кожен новий сукупний пакет оновлень для SQL Server містить усі виправлення та всі виправлення системи безпеки, які входили в попередній сукупний пакет оновлень. Ознайомтеся з останніми сукупними оновленнями для SQL Server:
Посилання
Дізнайтеся про термінологію, яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.