SQL Server2005 日誌工作模式

2021-08-24 21:13:16 字數 3844 閱讀 4944

今天學習sql server 2005 的日誌的幾種工作模式

sql server2005 有3種工作模式

簡單日誌模式

簡單來說可以理解為類似於oracle的非歸檔模式,但是同oracle的工作模式還是有很大差異的。

日誌檔案會自動覆蓋,這樣如果兩次全備份時間間隔較長,日至檔案有可能出現覆蓋,這樣資料損壞時,資料只能恢復到全備份的時刻。如果向恢復到任意時間,需要在完全日誌模式下。

如何切換到簡單模式下:

use master;

alter database database_name set recovery ******;

完全日誌工作模式

可以理解為類似於oracle的 歸檔模式,如果不維護日誌檔案會無限擴充套件,直道把硬碟空間撐爆。

日誌會無限增長,所以需要維護。完全備份後,一般會進行日至備份,日至備份時會自動進行日至截斷。兩次全備份期間,如果硬碟空間不是足夠大最好進行幾次日至備份,以免日誌太大。

大容量日誌工作模式

大容量日誌恢復模式旨在嚴格作為完整恢復模式的附加補充。我們建議您僅在執行大規模大容量操作期間以及在不需要資料庫的時點恢復時使用該模式。

該恢復模式下,多數大容量操作僅進行最小日誌記錄。如果使用完整恢復模式,則可以在執行此類大容量操作前臨時切換到大容量日誌恢復模式。通常,大容量日誌恢復模式與完整恢復模式相似,只是它按最小方式記錄多數大容量操作。事務日誌備份捕獲日誌以及自上次備份後已完成的所有按最小方式記錄的操作結果。這會使日誌備份非常大。因此,大容量日誌恢復模式僅適合在能夠以最小方式記錄操作的大容量操作期間使用。我們建議在其餘時間使用完整恢復模式。當完成一組大容量操作後,我們建議您立即切換回完整恢復模式。

日誌截斷(在簡單恢復模式下自動執行)對於防止日誌變滿至關重要。意思是把日至標記為不活動狀態,新的日至可以覆蓋老的日至。

sql server備份需要備份資料檔案。也可以選擇同時備份日誌檔案,日至檔案在備份後會自動截斷,利用資料檔案的備份和日誌檔案的備份,理論上可以恢復資料庫到任意時間點。

頻繁的日誌備份還有增加日誌截斷頻率的優點,其結果是日誌檔案更小。 通常,事務日誌在每次常規日誌備份之後截斷。

恢復模式 說明 工作丟失的風險 能否恢復到時點?

簡單無日誌備份。

自動**日誌空間以減少空間需求,實際上不再需要管理事務日誌空間。

最新備份之後的更改不受保護。在發生災難時,這些更改必須重做。

只能恢復到備份的結尾。

完整需要日誌備份。

資料檔案丟失或損壞不會導致丟失工作。

可以恢復到任意時點(例如應用程式或使用者錯誤之前)。

正常情況下沒有。

如果日誌尾部損壞,則必須重做自最新日誌備份之後所做的更改。有關詳細資訊,請參閱尾日誌備份。

如果備份在接近特定的時點完成,則可以恢復到該時點。有關詳細資訊,請參閱將資料庫還原到備份中的某個時間點。

大容量日誌

需要日誌備份。

是完整恢復模式的附加模式,允許執行高效能的大容量複製操作。

通過大容量日誌記錄大多數大容量操作,減少日誌空間使用量。

如果在最新日誌備份後發生日誌損壞或執行大容量日誌記錄操作,則必須重做自該上次備份之後所做的更改。

否則不丟失任何工作。

可以恢復到任何備份的結尾。不支援時點恢復。

為還原順序準備足夠的日誌備份

您必須備份足夠的日誌記錄才能完成還原順序。必要的日誌備份(需要時包含尾日誌備份)必須在還原順序開始之前可用。

使用日誌備份來還原故障點

假設有下列事件順序。

時間 事件

上午 8:00

備份資料庫以建立完整資料庫備份。

中午備份事務日誌。

下午 4:00

備份事務日誌。

下午 6:00

備份資料庫以建立完整資料庫備份。

晚上 8:00

備份事務日誌。

晚上 9:45

出現故障。

注意:

有關此示例備份順序的說明,請參閱建立事務日誌備份。

若要將資料庫還原到晚上 9:45(故障點)時的狀態,可以使用以下兩種備選過程:

備選過程 1:使用最新的完整資料庫備份還原資料庫

失敗時建立當前活動事務日誌的尾日誌備份。

不要還原上午 8:00 的完整資料庫備份。相反,應還原下午 6:00 的這一時間更近的完整資料庫備份,然後應用晚上 8:00 的日誌備份和尾日誌備份。

對晚上 9:45 的事務尾日誌備份再執行一次上述操作。

備選過程 2:使用較早的完整資料庫備份還原資料庫

注意:

如果出現問題,使您無法使用下午 6:00 的完整資料庫備份,則此備選過程將十分有用。此過程比從下午 6:00 的完整資料庫備份還原所需的時間長。

失敗時建立當前活動事務日誌的尾日誌備份。

還原上午 8:00 的完整資料庫備份,然後按順序還原所有四個事務日誌備份。所有完成的事務都將前滾到晚上 9:45。

此備選過程指出了冗餘安全性,該安全性通過維護一系列完整資料庫備份中的事務日誌鏈備份來獲得。

使用日誌備份還原到特定的時間點

某些情況下,您還可以使用事務日誌將資料庫還原到特定的時間點。有關詳細資訊,請參閱將資料庫還原到備份中的某個時間點。

應用事務日誌備份

最佳方法是使用 with norecovery 還原所有日誌備份:

restore log database_name from with norecovery

restore database database_name with recovery

為還原順序準備足夠的日誌備份

您必須備份足夠的日誌記錄才能完成還原順序。必要的日誌備份(需要時包含尾日誌備份)必須在還原順序開始之前可用。

使用日誌備份來還原故障點

假設有下列事件順序。

時間 事件

上午 8:00

備份資料庫以建立完整資料庫備份。

中午備份事務日誌。

下午 4:00

備份事務日誌。

下午 6:00

備份資料庫以建立完整資料庫備份。

晚上 8:00

備份事務日誌。

晚上 9:45

出現故障。

注意:

有關此示例備份順序的說明,請參閱建立事務日誌備份。

若要將資料庫還原到晚上 9:45(故障點)時的狀態,可以使用以下兩種備選過程:

備選過程 1:使用最新的完整資料庫備份還原資料庫

失敗時建立當前活動事務日誌的尾日誌備份。

不要還原上午 8:00 的完整資料庫備份。相反,應還原下午 6:00 的這一時間更近的完整資料庫備份,然後應用晚上 8:00 的日誌備份和尾日誌備份。

對晚上 9:45 的事務尾日誌備份再執行一次上述操作。

備選過程 2:使用較早的完整資料庫備份還原資料庫

注意:

如果出現問題,使您無法使用下午 6:00 的完整資料庫備份,則此備選過程將十分有用。此過程比從下午 6:00 的完整資料庫備份還原所需的時間長。

失敗時建立當前活動事務日誌的尾日誌備份。

還原上午 8:00 的完整資料庫備份,然後按順序還原所有四個事務日誌備份。所有完成的事務都將前滾到晚上 9:45。

此備選過程指出了冗餘安全性,該安全性通過維護一系列完整資料庫備份中的事務日誌鏈備份來獲得。

使用日誌備份還原到特定的時間點

某些情況下,您還可以使用事務日誌將資料庫還原到特定的時間點。有關詳細資訊,請參閱將資料庫還原到備份中的某個時間點。

應用事務日誌備份

最佳方法是使用 with norecovery 還原所有日誌備份:

restore log database_name from with norecovery

restore database database_name with recovery

SQL SERVER 2005日誌清理

方法 a 資料庫名右擊 任務 收縮 檔案 檔案型別 日誌,單擊確定。b 日誌清理成功 其他 1 收縮資料庫檔案 如果不壓縮,資料庫的檔案不會減小 企業管理器 右鍵你要壓縮的資料庫 所有任務 收縮資料庫 收縮檔案 選擇日誌檔案 在收縮方式裡選擇收縮至xxm,這裡會給出乙個允許收縮到的最小m數,直接輸入...

SQL Server 2005無日誌檔案附加資料庫

解決辦法 1 新建乙個同名資料庫 2 停止資料庫服務,覆蓋新建的資料庫主檔案 3 啟動資料庫服務,資料庫變為置疑或可疑狀態 然後在查詢分析器中執行 alter database無日誌檔案的資料庫名稱set emergency 設定為緊急狀態。4 再執行 alter database無日誌檔案的資料庫...

SQLServer2005無日誌檔案附加資料庫

解決辦法 1 新建乙個同名資料庫。2 停止資料庫服務,覆蓋新建的資料庫主檔案 最好放在同乙個磁碟裡面,把新建的資料庫主檔案刪掉或移開,再把要恢復的資料庫主檔案copy進去。3 啟動資料庫服務,資料庫變為置疑或可疑狀態 有資料庫名節點,無子節點 然後在查詢分析器 新建查詢的sql 檔案 中執行 alt...