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;