情况 - 我们有一个 Live_db 数据库和一个 Test_db 数据库。我正在尝试获取 Live 的副本以用作测试。
进行了 Live 备份。现有的测试数据库被删除(关闭现有的连接),因为我们不需要它的数据。我正在尝试使用名称 Test_db 恢复 Live_db 并选择更改文件路径,使其指向 test_db_data.MDF 和 test_db_log.LDF,但恢复仍然失败。
TITLE: Microsoft SQL Server Management Studio ------------------------------ Restore of database 'TEST_DB' failed. (Microsoft.SqlServer.Management.RelationalEngineTasks) ------------------------------ ADDITIONAL INFORMATION: System.Data.SqlClient.SqlError: Exclusive access could not be obtained because the database is in use. (Microsoft.SqlServer.SmoExtended)
当数据库甚至不存在时,它怎么能被使用呢?有很多关于此错误的信息,但都没有帮助。
我尝试根据网络上其他线程的建议修复它:
- 创建一个空白数据库并尝试覆盖它。- 没有不同
- 重新启动 SQL 服务器 - 没有区别
- 尝试恢复为不同的名称 - 没有区别
- 尝试恢复到不同的文件路径 - 没有区别
- 确保它不是默认数据库 - 它不是
- 在单用户模式下恢复 - 没有区别
- 确保数据库没有查询窗口 - 没有
- 确保没有任何表被浏览到 - DB 已删除,没有表
我完全不知所措。我要做的就是获取 LIVE_DB 的副本并将其创建为 TEST_DB。有人可以帮忙吗?如果这有所作为,我正在使用 GUI。
Take Tail-log backup before restore 默认有一个勾选框,导致恢复失败。删除检查使其工作。