Я пытаюсь проверить отказоустойчивость доставки журналов, и шаг, который предназначен для перевода базы данных в режим восстановления, завершается с ошибкой «Не удалось получить эксклюзивный доступ, поскольку база данных используется».
Действие было выполнено через SSMS, выбрав «Журнал транзакций», а также выбрав «Резервное копирование хвоста журнала» в разделе «Параметры носителя», после чего база данных должна остаться в «режиме восстановления».
После сбоя я попытался поставить сначала база данных переходит в однопользовательский режим, а также отключается, но обе команды не работают (или не работают).
Я повторил действие с тестовой базой данных, и это сработало без проблем. T- SQL находится ниже:
BACKUP LOG [TESTDB] TO DISK = N'U:\MSSQL\Backup\TESTDB.bak' WITH NO_TRUNCATE , NOFORMAT, NOINIT, NAME = N'TESTDB-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, NORECOVERY , STATS = 10, CHECKSUM
GO
declare @backupSetId as int
select @backupSetId = position from msdb..backupset where database_name=N'TESTDB' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'TESTDB' )
if @backupSetId is null begin raiserror(N'Verify failed. Backup information for database ''TESTDB'' not found.', 16, 1) end
RESTORE VERIFYONLY FROM DISK = N'U:\MSSQL\Backup\TESTDB.bak' WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
GO
Я также проверил наличие блокирующих или запущенных транзакций, но ничего не обнаружилось.
Есть идеи у кого-нибудь?