Sql-Server-2008

從 Server1 備份並將其還原到 Server2?

  • February 17, 2014

如果我們有兩台安裝了 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 日誌文件。

日誌文件比數據文件大有點奇怪。我猜您很長時間沒有進行備份,這就是日誌文件如此龐大的原因。

首先嘗試使用此連結:http ://social.msdn.microsoft.com/Forums/sqlserver/en-US/633ea08c-942d-4703-bc03-f2befd35f612/log-file-size-keeps-growth-replication?forum= sql複製

最簡單的解決方案是日誌備份,日誌備份應該減少文件的大小。

如果失敗,您可以嘗試截斷日誌文件(請參閱 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'

這將為您提供備份開始、備份完成、備份大小和壓縮大小(如果適用)。如果此欄位為空白並且您處於完全恢復模式,那麼糟糕!

引用自:https://dba.stackexchange.com/questions/58733