我正在使用 PS 脚本来恢复数据库备份,并且我有以下从 PS Invoke-SQLcmd 命令运行的 SQL 脚本:
USE master
GO
ALTER DATABASE mydatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE mydatabase SET OFFLINE WITH ROLLBACK IMMEDIATE
GO
RESTORE DATABASE mydatabase
FROM DISK = 'Z:\bak\mydatabase.bak'
WITH REPLACE
GO
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
GO
ALTER DATABASE mydatabase SET ONLINE
GO
ALTER DATABASE mydatabase SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO
Run Code Online (Sandbox Code Playgroud)
如您所见,我将数据库切换到单模式,甚至在还原操作之前将其设为离线。但是,我不时收到如下错误:
Transaction (Process ID 61) was deadlocked on lock resources with another process and has been chosen as the …