SQL Server 2008 R2

最近在做数据还原备份的功能的时候Execute SQL后会报数据库正在使用的错误,在Mangement执行同样报此错误。

经过一番搜索,总结一下原因:

由于数据库是MULIT_USER模式,所以导致出现其他用户正在使用问题,通过切换为SINGL_USER模式即可解决此问题,等还原结束再切回MULIT_USER即可。

 数据库,右键属性->选择选项-状态-限制访问-SINGLE_USER

可以手动解决问题后,转化成程序就是轻而易举了。 

解决方案:

通过SQL解决:

ALTER DATABASE %数据库名% SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
restore database %数据库名% from disk= '%.bak文件绝对路径%' WITH REPLACE;
ALTER DATABASE %数据库名%SET MULTI_USER WITH ROLLBACK IMMEDIATE;

更多推荐

【SQL Server】关于还原数据时出现数据库正在使用的问题