簡介
本文將探討SQL Server 2008使用的復原模式的選擇,以及可用於備份一個資料庫的各種方法,如差異備份和事物記錄備份。此外,交易記錄備份也將被介紹,該機制使復原模式成為可能。備份,交易記錄,以及復原模式是相互關聯,當設定的一個時將影響影響的另一選擇。
在先前的文章(SQL 2008 Backup and Restore),對全備份和許多現有的可供選擇的配置進行了介紹。從備份的命令列和SQL Server Management Studio都進行了詳細介紹。此外,也對SQL Server 2008中新增的備份壓縮排行了介紹。
交易記錄
每一個SQL Server資料庫在硬碟上包含至少兩個物理檔案,一個MDF檔案和一個LDF檔案。MDF檔案包含所有被儲存的實際資料。LDF檔案或記錄檔,包含了每一個資料變化的紀錄。記錄每個資料變化使撤銷操作和“時間點”備份成為可能。一個時間點的備份使我們能夠恢複我們希望的任何時間點的資料庫,昨天,兩個小時前,兩分鐘前。預設情況下,MDF和LDF檔案位於硬碟上SQL Server下的Server\Version\MSSQL\Data 目錄下。
雖然這有記錄不可能永遠儲存在事物記錄檔中。如果這樣做,隨著時間的推移記錄檔的大小將變得巨大和無法控制。相反,記錄檔應該定期清理,或“刪節” 。在被刪節之間有多少時間允許記錄檔增長是由資料庫“復原模式”決定的。
復原模式
一個“復原模式”決定一個資料庫的交易記錄如何儲存。每個資料庫都有自己的復原模式設定。這意味著SQL Server可以包含多個資料庫,每一個都有自己的復原模式,並且獨於其他資料庫的配置。
要查看一個資料庫復原模式設定,開啟SQL Server伺服器管理,右鍵點擊一個資料庫,然後選擇屬性。一旦屬性對話方塊中開啟後,從左邊的菜單選擇“選項”。
復原模式可以是完全,簡單,或批日誌恢複。
簡單恢複
當一個資料庫設定為簡單復原模式,這意味著記錄檔不會被永久儲存。因此,當執行一個TSQL聲明,任何改變被寫入資料和記錄檔,但這些記錄檔在被刪節(清理)之前不會儲存很長一段時間。這刪節又SQL Server簽發“檢查點”所造成的。對於造成檢查點事件完整描述,請參閱Microsoft文章: http://msdn.microsoft.com/en-us/library/ms188748.aspx。刪節記錄檔對我們意味著,這些記錄檔不能被用於資料庫恢複。這是因為我們無法控制日誌何時將被清除。因此,當一個資料庫設定為簡單恢複,唯一的可選的備份類型是一個全備份。
完整備份恢複你所有的資料,但你不能要求它恢複我在某一特定的時間點的所有資料。對於時間點的恢複,我們需要一個事物日誌。