MSSQLSERVER_3023
Область применения: SQL Server
Сведения
Атрибут | Значение |
---|---|
Название продукта | SQL Server |
ИД события | 3023 |
Источник событий | MSSQLSERVER |
Компонент | SQLEngine |
Символическое имя | DB_IN_USE_DUMP |
Текст сообщения | Резервное копирование и операции с файлами (такие как ALTER DATABASE ADD FILE) в базе данных должны быть сериализованы. Повторите инструкцию после завершения текущей операции резервного копирования или операции с файлами. |
Описание
Вы пытаетесь выполнить команду резервного копирования, сжатия или изменения базы данных в SQL Server, и вы столкнулись со следующими сообщениями:
Сообщение 3023, уровень 16, состояние 2, строка 1
Резервное копирование и операции с файлами (такие как ALTER DATABASE ADD FILE) в базе данных должны быть сериализованы. Повторите инструкцию после завершения текущей операции резервного копирования или операции с файлами.
Сообщение 3013, уровень 16, состояние 1, строка 1
РЕЗЕРВНОЕ КОПИРОВАНИЕ БАЗЫ ДАННЫХ завершено с ошибкой.
Кроме того, журнал ошибок SQL Server содержит такие сообщения:
<Ошибка резервного копирования datetime> : 3041, серьезность: 16, состояние: 1.
<Не удалось выполнить резервное копирование даты и времени> резервного копирования команды BACKUP DATABASE MyDatabase WITH DIFFERENTIAL. Проверьте дополнительные сообщения в журнале приложения резервного копирования.
Вы также можете заметить, что эти команды возвращают wait_type = LCK_M_U
и wait_resource = DATABASE: <id> [BULKOP_BACKUP_DB]
при просмотре их состояния в различных динамических административных представлениях, например sys.dm_exec_requests
или sys.dm_os_waiting_tasks
.
Возможные причины
Существует ряд правил в отношении того, какие операции разрешены или запрещены в процессе полного резервного копирования базы данных. Ниже приведен ряд примеров.
- Одновременно может выполняться только одно резервное копирование данных (в процессе полного резервного копирования разностное или добавочное резервное копирование выполняться не может).
- Одновременно может выполняться только одно резервное копирование журналов (резервное копирование журналов разрешено во время полного резервного копирования базы данных).
- Во время резервного копирования в базу данных нельзя добавлять файлы или удалять их из базы данных.
- Во время резервного копирования базы данных нельзя сжимать файлы.
- Во время резервного копирования в модель восстановления можно вносить лишь некоторые изменения.
При выполнении любой из этих конфликтующих операций команды будут сталкиваться с ожиданиями блокировки, как указано в разделе "Пояснение" для сообщений 3023 и 3041.
Действие пользователя
Проверьте расписания различных операций по обслуживанию базы данных и скорректируйте их таким образом, чтобы эти операции или команды не конфликтовали друг с другом.
Дополнительные сведения
SQL Server записывает время начала и время окончания резервного копирования в msdb
базе данных. Вы можете проверить журнал резервного копирования, чтобы определить, происходило ли полное резервное копирование базы данных в тот момент, когда была предпринята попытка добавочного резервного копирования, что привело к ошибке. В этом вам может помочь следующий запрос:
select database_name, type, backup_start_date, backup_finish_date
from msdb.dbo.backupset
order by database_name, type, backup_start_date, backup_finish_date
go
Можно также использовать событие User Error Message в трассировке профилировщика SQL или расширенное событие error_reported для отслеживания передачи сообщений 3023 приложению, которое инициировало резервное копирование или другую команду обслуживания.