Sql-Server
是否可以同時恢復 sql-server bak 和縮小日誌?
我們有一個客戶的 bak 文件,我們已將其轉移到我們的開發人員辦公室進行問題調查。備份目前為 25GB,恢復的數據庫大小大致相同,但需要 100GB 才能恢復。我相信這是因為數據庫設置為具有 75GB 的事務日誌大小。恢復數據庫後,我們可以縮小日誌文件,但有沒有辦法在恢復中做到這一點?
作為還原過程的一部分,無法縮小備份。恢復的數據庫必須看起來與源數據庫完全相同,唯一的例外是您可以更改驅動器號和文件夾。
通過將日誌文件恢復到壓縮文件夾,您可以在空間有限的情況下使用**“永遠不要在實時環境中執行此操作” 。**嘗試通過壓縮現有文件夾並還原到它會導致錯誤,因此您必須使用符號連結作弊。
- 創建一個壓縮文件夾
D:\LogCompressed\
- 創建指向壓縮文件夾的符號連結
mklink /D /J D:\Log\ D:\LogCompressed\
- 使用指向的 ldf 文件恢復數據庫
D:\Log\
- 將日誌文件縮小到合適的大小
- 分離數據庫,將日誌文件移動到未壓縮的文件夾,附加
這是骯髒的,是作弊的,永遠不要在現場做,但它有效。使用 32MB 日誌文件對新創建的數據庫進行快速測試顯示它在壓縮時佔用 330kb 磁碟,解壓文件夾並且磁碟大小回到 32MB。