我正在尝试进行日志传送故障转移测试,旨在将数据库置于还原模式的步骤失败,并出现错误“无法获得独占访问权限,因为数据库正在使用中”。
该操作是通过 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
我还检查了任何阻塞或正在运行的事务,但没有出现。
有什么想法吗?