我們已經有一個.bak文件用於在Microsoft Server 2016和SQL Server 2016上進行測試。有時我們想要在一臺服務器上設置多個安裝。我們需要的是幾個數據庫,它們是相同的,但是是分開的,名稱不同,全部來自同一個.bak文件。在SQL Server 2016中使用一個備份文件進行多次還原
我可以隨時恢復.bak的一次,但第二次(到一個數據庫使用不同的名稱)我會得到這個錯誤:
Restore of database 'RVT_DB4_2' failed. (Microsoft.SqlServer.Management.RelationalEngineTasks)
System.Data.SqlClient.SqlError: Exclusive access could not be obtained because the database is in use. (Microsoft.SqlServer.SmoExtended)
在過去,我一直使用SQL 2008和永不有這個問題。 .bak文件很可能是使用SQL 2008創建的。我甚至不確定我們是否正在恢復,或者如果我們恢復不正確。任何提示我做錯了什麼,或者我在這裏錯過了什麼設置?
謝謝!在這之前恢復
EXEC sp_who2
然後你就可以將數據庫設置爲單用戶模式:
ALTER DATABASE 'DATABASE' SET SINGLE_USER
WITH ROLLBACK IMMEDIATE
運行
我想你必須改變物理文件的名稱,如.mdf,.ldf,當用相同的.bak文件恢復數據庫時,儘管你改變了數據庫的名稱 – 2017-06-16 13:20:25