Sql-Server
重建事務日誌
一位同事意外刪除了我們 SQL Server 2016 實例的所有事務日誌(
SQLServer/Logs/*.ldf
文件)。現在我們不能再啟動 SQL Server 服務了。我們嘗試使用恢復數據工具(https://www.cgsecurity.org/wiki/Undelete_files_from_NTFS_with_TestDisk),但並非所有文件都在那裡。這是 Windows 事件日誌中顯示的錯誤:
有沒有辦法恢復/重建日誌或任何其他程序使其再次工作?
謝謝
首先,我想知道一位同事是如何刪除日誌文件的。刪除發生時 SQL 實例不得處於執行狀態。當實例執行時,您無法刪除該文件。你會得到錯誤:
幸運的是,如果是您的
master
數據庫,則事務日誌中可能沒有大量資訊。大多數登錄、元數據不會經常更改,並且很可能已經寫入.mdf
磁碟。另一件事是您正在執行 SQL Server 2016,如果您不知道,它具有系統數據庫模板。這些是您第一次安裝期間創建的模板空白數據庫。您只需更換它們即可啟動並執行。唯一需要注意的是您將沒有任何使用者元數據。
模板位於您的
BINN
文件夾中,例如:C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2K16\MSSQL\Binn\Templates
然後,您將立即啟動並執行您的實例。然後,如果需要,您可以毫不著急地修復您的主數據庫。您還可以使用 SQL 數據庫恢復工具來恢復您的系統數據庫或使用者數據庫。