Sql-Server
MSSQL:從備份的 .MDF/.LDF 回滾 DB
我在 Microsoft Server Management Studio 中誤刪除了一個表,並且沒有正確配置恢復功能。
我有特定數據庫的舊 .mdf 和 .ldf 文件,其中包含已刪除的表。如何使用這些文件正確恢復舊版本?我可以“分離”並重新附加另一個文件夾中存在的舊版本嗎?這個功能是如何工作的?目前的 .mdf/.ldf 文件會發生什麼,我附加的舊文件會被移動到適當的文件夾嗎?
我會將這些文件附加到一個新數據庫,編寫該表的腳本並在您的活動數據庫中重新創建它。
首先,將 *.mdf 和 *.ldf 文件移動到預設數據庫文件位置。這樣,他們將繼承適當的文件級權限。
現在,從現有文件創建一個新數據庫,但使用新名稱:
USE master GO CREATE DATABASE mydb_restored ON ( FILENAME = N'C:\Program Files\MSSQL\Data\mydb.mdf' ), ( FILENAME = N'C:\Program Files\MSSQL\Log\mydb_log.ldf' ) FOR ATTACH GO
現在,您應該能夠瀏覽舊數據庫,找到有問題的表。右鍵點擊它,選擇“Script Table as”,然後在查詢編輯器中打開“CREATE TO”腳本。
編輯腳本以使用原始數據庫而不是恢復的數據庫,您應該能夠重新創建表。
您還可以生成一個腳本,其中包含已恢復表中的數據