時間:2024-02-05 11:03作者:下載吧人氣:18
在一些對數據可靠性要求很高的行業,若發生意外停機或數據丟失,其損失是十分慘重的;
數據庫管理員應針對具體的業務要求指定詳細的數據庫備份與災難恢復策略,并通過模擬故障對每種可能的情況進行嚴格測試,只有這樣才能保證數據的高可用性;
數據庫的備份是一個長期過程,而恢復只在發生事故后才能進行,恢復后可看做是備份數據庫的逆過程,恢復程度的好壞很大程度上依賴于備份的情況;
數據庫管理員在恢復時采取的步驟正確與否也會直接影響最終的恢復結果;
備份數據庫是指對數據庫或事務日志進行復制,當系統,磁盤或數據庫文件損壞時,能使用備份文件進行恢復,防止數據丟失;
SQL Server 數據庫備份支持以下幾種類型,分別應用于不同的場合:
僅復制備份
獨立于正常 SQL Server 備份序列的特殊用途備份;
數據備份
完整數據庫的數據備份(數據庫備份)、部分數據庫的數據備份(部分備份)或一組數據文件或文件組的備份(文件備份);
數據庫備份
數據庫的備份,完整數據庫備份表示備份完成時的整個數據庫;差異數據庫備份植保會自最近完整備份以來對數據庫所做的更改;
差異備份
基于完成數據庫或部分數據庫以及一組數據文件或文件組的最新完整備份的數據備份(“差異基準”),僅包含自差異基準以來發生了更改數據區;部分差異備份僅記錄自上一次部分備份(稱為“差異基準”)以來文件組中發證更改的數據區;
完整備份
一種數據備份,包含特定數據庫或者一組特定的文件組或文件中的所有數據,以及能恢復這些數據的足夠的日志;
日志備份
包括以前日志備份中未備份的所有日志記錄的事務日志備份,完整恢復模式;
文件備份
一個或多個數據庫文件或文件組的備份;
部分備份
僅包含數據庫中部分文件組的數據(包含主要文件組、每個讀/寫文件組以及任何可選指定的只讀文件中的數據);
恢復模式在控制事務日志維護,提供給用戶選擇;SQL Server 數據庫中有3中恢復模式:簡單恢復模式、完全恢復模式、大容量日志恢復模式;
通常,數據庫使用完全恢復模式或簡單恢復模式;
簡單恢復模式能最大限度地減少事務日志的管理開銷,因為它不備份事務日志;若數據庫損壞,則簡單恢復模式將面臨極大的工作丟失風險,數據只能恢復到已丟失數據的最新備份
所以,在簡單恢復模式下,備份間隔應盡可能短,以防止大量丟失數據,但,間隔的長度應該足以避免備份開銷影響生產工作;在備份策略中加入差異備份有助于減少開銷;
對于用戶數據庫,簡單恢復模式用于測試和開發數據庫,或用于主要包含只讀數據的數據庫(如數據倉庫);簡單恢復模式并不適用生產系統,因為對于生產系統來說,丟失最新的更改是無法接受的,在這種情況下建議使用完全恢復模式;
相對于簡單恢復模式,完全恢復模式和大容量日志恢復模式提供了更強的數據保護功能;這些恢復模式基于備份事務日志來提供完整的可恢復性及在最大范圍的故障情形內防止丟失工作;
完全恢復模式
完全恢復模式需要日志備份;此模式完整記錄所有事務,并將事務日志記錄保留到對其備份完畢為止;若能夠在出現故障后備份日志尾部,就能使用完全恢復模式將數據庫恢復到故障點;完全恢復模式也支持還原單個數據頁;
大容量日志恢復模式
大容量日志記錄大多數大容量操作,他只用在完全恢復模式的附加模式;對于某些大規模大容量操作(如大容量導入或索引創建),暫時切換到大容量日志恢復模式可提供性能并減少日志空間使用量;與完全恢復模式相同,大容量日志恢復模式也能將事務日志記錄保留到對其備份完畢為止;
注意: 由于大容量日志恢復模式不支持時點恢復,所以必須在增大日志備份與增加工作丟失風險之間進行權衡;
為了方便用戶,SQL Server 數據庫支持用戶在數據庫在線并正在使用時進行備份;
但,存在以下限制:
無法備份脫機數據; 隱式或顯式引用脫機數據的任何備份操作都會失敗;即使一個或多個數據文件不可以,日志備份也能成功;
注意: 若某個文件包含大容量日志恢復模式下所作的大容量日志更改,則所有文件都必須處于聯機狀態才能成功備份;
備份過程中的并發限制; 數據庫仍在使用時,SQL Server 能使用聯機備份過程來備份數據庫;在備份過程中,能進行多個操作;但,若正在創建或刪除數據庫文件時嘗試啟動備份操作,則備份文件將等待,直到創建或刪除完成或備份超時;
若備份操作與文件管理操作或收縮操作重疊,就會發生沖突;無論哪個沖突操作首先開始,第二個操作總會等待第一個操作設置的鎖超時(超時期限由會發超時設置控制);若在超市期限內釋放鎖,第二個操作將繼續執行;若鎖超時,則第二個操作失敗;
使用 SSMS 繼續備份的過程如下:
右擊要備份的數據庫,任務 → 備份;
先刪除,再添加;
在彈出的選擇備份目標對話框匯總,選擇好備份的路徑;文件類型選擇備份文件,文件名 填寫需要備份的數據庫的名稱,最好在備份的數據庫的名稱后加上日期,方便以后查找,再連續單擊確定,即可完成備份;
數據庫完整還原的目的還是還原整個數據庫,真個數據庫在還處于脫機狀態;
在數據庫的任何部分變成聯機之前,必須將所有數據恢復之前,必須將所喲數據恢復到同一點,即數據庫的所有部分都處于同一時間點并不存在未提交的事務;
簡單恢復模式下,數據庫不能還原到特定備份中的特定時間點;
完整恢復模式下,還原備份數據庫之后,必須還原所有后續的事務日志備份,再恢復數據庫,能將數據庫還原到這些日志備份之一的特定恢復點;恢復點可以是特定的日期和時間、標記的事務或日志序列號,還原數據庫時,特別是在完整恢復模式或大容量日志恢復模式下,應使用一個還原順序;
注意: 還原順序由通過一個或多個還原階段來移動數據的一個或多個還原操作組成;
用 SSMS 對象管理資源管理器恢復數據庫,操作步驟如下:
展開數據庫,根據具體的數據庫選擇一個用戶數據庫,或展開系統數據庫并選擇一個系統數據庫;右擊數據庫,單擊還原數據庫;
在常規,使用源部分指定要還原的備份集和位置;在目標部分,數據庫文本框自動填充要還原的數據庫的名稱;
若要更改數據庫名稱,可在數據庫文本框中輸入新名稱;
在還原到框中,保留默認選項至最近一次進行的備份,或單擊時間線訪問備份時間線,以手動選擇要停止恢復的時間點;
到此這篇關于SQL Server數據庫備份和恢復數據庫的文章就介紹到這了,更多相關SQLServer數據庫備份恢復內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!
網友評論