今天被朋友问到,他想通过一个脚本自动地对数据库进行还原。但经常遇到的情况是:试图还原的时候,因为有活动的用户连接,所以还原无法完成
要解决该问题,可以在还原之前运行下面的脚本,将数据库置为单用户模式
USE [master]
GO
ALTER DATABASE [Northwind] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE [Northwind] SET SINGLE_USER
GO
以上设置将强制回滚所有没有提交的事务,在进行还原之后,你可以再将其设置回多用户状态
USE [master]
GO
ALTER DATABASE [Northwind] SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE [Northwind] SET MULTI_USER
GO