從 Server1 備份並將其還原到 Server2?
如果我們有兩台安裝了 SQL Server 2008 實例的伺服器,則 Server1 具有三個驅動器 C、D 和 E,分別為 100、500 和 500 GB,Server2 具有三個驅動器 C、D 和 E,分別為 100、300 和 300 GB。現在您在 Server1 上有 database1,D 盤上有 250 GB 的數據文件,E 盤上有 350GB 的日誌文件,它的恢復模式已滿,並且已在該數據庫上設置了複製,從 Server1 備份並將其還原到的最佳方法是什麼伺服器2?
問題是 server2 有 300GB 空間,但在 Server1 上有 350GB 日誌文件。
日誌文件比數據文件大有點奇怪。我猜您很長時間沒有進行備份,這就是日誌文件如此龐大的原因。
最簡單的解決方案是日誌備份,日誌備份應該減少文件的大小。
如果失敗,您可以嘗試截斷日誌文件(請參閱 dbcc 命令)。但是,您應該將此作為最後的手段,因為日誌文件的截斷是“快速而骯髒”的解決方案。
您需要先減小日誌文件的大小。如果您的環境確實需要完全恢復模式,那麼您需要重新考慮執行事務日誌備份的頻率,以保持日誌大小可管理。如果需要,您可以每分鐘進行一次事務日誌備份。如果您不需要時間點恢復,請考慮切換到簡單的恢復模式。
首先,備份事務日誌,然後將其縮小到伺服器 2 可管理的大小,您可能需要重複此步驟幾次以減小日誌文件的大小。將事務日誌大小減少到合理的數量後,進行新的完整備份並將其用於在伺服器 2 上進行還原。我肯定會建議在伺服器 2 上使用更頻繁的事務日誌備份計劃,以將日誌文件保持在 300 以下GB硬頂。
要查看事務日誌備份,請執行此腳本
SELECT user_name, database_name, backup_start_date, backup_finish_date, backup_size, compressed_backup_size FROM [msdb].[dbo].[backupset] WHERE type = 'L' AND database_name = 'YOURDATABASE'
這將為您提供備份開始、備份完成、備份大小和壓縮大小(如果適用)。如果此欄位為空白並且您處於完全恢復模式,那麼糟糕!