sqlserver备份还原数据库时报占用错误

、做项目时遇到这种情形:原来的test_dev数据库,想复制出test_ft供测试用。此时备份test_dev出test_backup文件,想直接还原成test_ft时会报占用错误。

还原数据库:The backup set holds a backup of a database other than the existing database 因为数据库正在使用,所以无法获得对数据库的独占访问权

2、原因:(1)备份文件里面保存着原有数据库及文件名称信息,默认会还原成test_dev数据库,而且file文件仍然为test_dev.mdf和test_dev_log.ldf文件。此时服务器及文件夹中已经存在test_ft及其文件,所以会发生数据库及文件占用冲突。

(2)如果将数据库名称和file文件名修改成test_ft时,修改options.1为覆盖原数据库test_ft(如果已经有了)。2千万别勾,不然会将老数据库test_dev设置成恢复状态了。3、单用户模式,关闭其他连接

4、附:普通情况下数据库被占用的处理方法

设置数据库在单用户模式下工作。
设置方法:在需要还原的数据库上右击,在右键菜单命令上选择"属性"- >"选项"- >"状态"- >"限制访问"- >"Single"

原文地址:https://www.cnblogs.com/taoshengyujiu/p/6929854.html