我有一个 SQL 脚本,它备份一个数据库,然后通过另一个数据库恢复它。我遇到的问题是被覆盖的数据库被用户锁定打开,因此作业失败。我可以手动杀死附加的用户并且它运行良好,但我需要这个过程每晚自动运行。是否有我可以每晚执行的 kill 命令?或者在恢复选项中有什么东西可以做同样的事情?
有什么想法吗?
谢谢
最佳答案
如果客户端重新连接,KILL 并不总是有效
我会考虑使数据库脱机(或仅 dbo)然后恢复。因此将阻止进一步的重新连接。
ALTER DATABASE TargetDB SET OFFLINE WITH ROLLBACK IMMEDIATE
或者
ALTER DATABASE TargetDB SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE
关于SQL Server 终止命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6451512/