Ввод-вывод заблокирован в базе данных DBName. Действие пользователя не требуется - PullRequest
1 голос
/ 19 июня 2020

Мы на Windows Server 2019 на Azure ВМ, с установленным SQL Server 2019 Enterprise CU4. SQL Задания дифференциального резервного копирования сервера периодически выходят из строя.

Я просмотрел журнал ошибок сервера SQL и увидел следующую ошибку для всех баз данных:

Ввод-вывод заблокирован в базе данных DBName. От пользователя не потребуется никаких действий. Однако, если ввод-вывод не возобновлен сразу, вы можете отменить резервное копирование.

, за которым следуют следующие журналы ошибок:

Операции ввода-вывода были возобновлены в базе данных DBName . Никаких действий со стороны пользователя не требуется.

После возникновения этой ошибки задание дифференциального резервного копирования начинает завершаться ошибкой со следующей ошибкой:

Выполнение запроса «BACKUP DATABASE [DBName] TO DISK = N'X: \ MS SQL ... "сбой со следующей ошибкой:" Невозможно выполнить дифференциальное резервное копирование для базы данных "DBName", так как текущая резервная копия базы данных не существует. Выполните полное резервное копирование базы данных, повторно выполнив BACKUP БАЗА ДАННЫХ, опуская параметр С ДИФФЕРЕНЦИАЛОМ. РЕЗЕРВНОЕ КОПИРОВАНИЕ БАЗЫ ДАННЫХ завершается ненормально. ". Возможные причины сбоя: проблемы с запросом, свойство ResultSet неправильно настроено, параметры установлены неправильно или соединение не установлено правильно. сделал полную резервную копию базы данных.

Я проверил, и на этом не запущено другое задание SQL агента, и я не могу понять, почему возникает эта ошибка.

Я провел некоторое онлайн-исследование и выяснил, что это была известная проблема в SQL Server версии 2016, 2017 и 2019, но она была исправлена ​​в CU для всех этих версий. В следующей статье говорится об этой проблеме и подтверждается, что проблема была исправлена ​​в SQL Server 2019 в CU2.

https://support.microsoft.com/en-us/help/4523102/fix-sql-server-database-remains-in-frozen-i-o-state-indefinitely-when

У нас есть SQL Server 2019 с примененным CU4. Так что все исправления должны быть из CU2. Однако мы по-прежнему сталкиваемся с проблемой зависания ввода-вывода.

Любые указатели или предложения приветствуются. Заранее спасибо.

1 Ответ

0 голосов
/ 19 июня 2020

Удалось найти эту статью, в которой предлагается сделать запись в реестре, чтобы изменить поведение Azure резервных копий виртуальных машин, и это приводит к тому, что резервные копии виртуальных машин не нарушают цепочку дифференциальных резервных копий.

Запись в реестре, которую вы должны сделать:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ BCDRAGENT] «USEVSSCOPYBACKUP» = «TRUE»

Источник : https://docs.microsoft.com/en-us/azure/backup/backup-azure-vms-troubleshoot#troubleshoot -vm-snapshot-issues

Раздел статьи: Troubleshoot VM snapshot issues

...