Sql-Server
將 .BAK 還原到同一實例後,SQL Server 數據庫卡在恢復中
我們遇到過幾次問題——也許我們沒有使用“最佳實踐”來恢復,但感謝任何建議。我們使用 SQL Server 數據庫執行 IIS 應用程序,有時我們在同一伺服器/SQL Server 實例上執行兩個以上的實例(多站點)。
假設我們有一個數據庫“site1”,我們創建了一個
site1.bak
該站點。然後我們需要設置另一個,所以我們恢復site1.bak
到一個新的數據庫site2
。但是,在恢復該數據庫(並確保文件名不同)時,原始網站說它是
IN RECOVERY
. “修復”很簡單——我們執行:RESTORE DATABASE NameofDatabase WITH RECOVERY
…但恐懼是正在發生的其他可能有害的事情。
.bak
為什麼在將原始數據庫還原到具有不同文件名的新數據庫時會進入還原?
在恢復該數據庫(並確保文件名不同)時,原始站點說它正在恢復中。‘修復’很容易……
您正在同一數據庫上還原並
norecovery
在腳本中使用。你應該使用(虛擬碼)..restore database dbname from disk = 'path to your backup' with recovery, stats =10, move 'logicalName' to 'physical_path\new_dbname.mdf', move 'logicalLogFileName' to 'physical_path\new_dbname_log.ldf'
“您正在同一數據庫上恢復並在腳本中使用 ’norecovery’”
沒有使用腳本來恢復 - 右鍵點擊數據庫並點擊恢復,然後使用原始站點中的 .bak。也許當一個人這樣做時,它正在使用 norecovery?
恢復數據庫時,我們將命名一個新的數據庫名稱並確保文件名不同。還原完成後,實例中有兩個數據庫,但 ORIGINAL 進入恢復狀態。第二個是可用的。