2017-06-16 108 views
0

我們已經有一個.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 

運行

+0

我想你必須改變物理文件的名稱,如.mdf,.ldf,當用相同的.bak文件恢復數據庫時,儘管你改變了數據庫的名稱 – 2017-06-16 13:20:25

回答

0

運行sp_who2並殺死任何胭脂會議所討論的數據庫恢復,然後將其更改回多用戶

ALTER DATABASE 'DATABASE' SET MULTI_USER; 

但是,不要將其設置爲單個用戶和n斷開連接或嘗試重新啓動它可能會有樂趣...

0

如果使用連接到服務器的多個設備進行備份,則在聯機還原期間必須有相同數量的設備可用。 (微軟圖書)

相關問題