备份资料库课件

上传人:无*** 文档编号:165856150 上传时间:2022-10-30 格式:PPT 页数:128 大小:4.65MB
返回 下载 相关 举报
备份资料库课件_第1页
第1页 / 共128页
备份资料库课件_第2页
第2页 / 共128页
备份资料库课件_第3页
第3页 / 共128页
点击查看更多>>
资源描述
第第 7 章章備份資料庫備份資料庫27-1 備份工作的規劃備份工作的規劃電腦軟硬體的穩定性仍未達多數人能滿意的水準就算使用的是具有容錯能力的RAID 磁碟陣列,也是難以保証資料庫是百分之百的安全3備份方式備份方式SQL Server 內建數種不同的備份方式,分別說明如下:資料庫備份差異式(Differential)備份交易記錄(Transaction Log)備份檔案及檔案群組備份4資料庫備份資料庫備份也就是備份整個資料庫的內容好處是在還原資料庫時,也只需將整個資料庫從一份資料庫備份還原到 SQL Server 就可以了。5差異式差異式(Differential)備份備份只備份從上一次執行完整資料庫備份後有更動過的資料所需的備份時間和儲存空間會比資料庫備份少很多,所以適合做為經常性的備份方式。在還原資料庫時,要先用第一次做的完整資料庫備份來還原,然後再用最近一次所做的差異式備份還原到 SQL Server,就可讓資料庫的內容回復到最近一次差異式備份時的同樣內容。6交易記錄交易記錄(Transaction Log)備份備份只備份交易記錄檔的內容記錄前一次資料庫備份或交易記錄備份之後,對資料庫所做的異動過程,在做交易記錄備份之前,一定需做過一次完整的資料庫備份才行。交易記錄備份所需的時間和儲存空間應該不多還原時,除了要先將資料庫備份還原外,還需再依序還原各個交易記錄備份中的內容。所以還原所需時間較長7檔案及檔案群組備份檔案及檔案群組備份資料庫的內容分散存於多個檔案或檔案群組,而且資料庫已非常龐大,大到進行一次完整的資料庫備份會有時間和儲存空間上的問題,就可使用這種方式來備份資料庫中部分檔案或檔案群組。由於每次只備份部分的檔案或檔案群組,因此需做數次不同的備份才能完成整個資料庫的備份,但資料庫大到不方便做完整備份時也只好如此。當損毀的資料只是資料庫中的某個檔案或檔案群組時,也只要還原毀損的檔案或檔案群組備份就可以了8差異式備份和交易記錄備份間的差異式備份和交易記錄備份間的差異差異差異式備份是記錄前一次資料庫備份之後,資料庫有改變的內容;交易記錄備份則是備份交易記錄檔,也是備份資料庫改變的操作過程9備份規劃備份規劃有多少時間以及哪些時段可進行備份?資料庫變動的頻率如何?當系統出問題時,使用者願等待多久的時間讓資料還原完畢?除了這些基本的問題外,由此會再衍生出其它相關的要點:應採用何種備份方式,或做什麼樣的搭配。要使用哪種儲存媒體由誰執行和管理備份工作各資料庫的備份週期10資料庫備份配合交易記錄備份資料庫備份配合交易記錄備份對一般的組織而言,平時在用的資料庫可能不小,而每天會異動的部分可能只佔整個資料量的一小部分而已,可考慮定期做一次完整的資料庫備份,例如每週或每個月,然後以較短的週期(例如每天或每兩天等)做一次交易記錄的備份。平時的備份工作負擔就不會太重就算發生意外需要將備份資料還原時,也可望能用最近一次的資料庫備份,再加上後來幾天的交易記錄備份,將資料還原到最近期的狀態。11資料庫備份配合交易記錄備份資料庫備份配合交易記錄備份例如每週末進行一次資料庫備份,然後每天下班時進行交易記錄備份,這樣不管哪一天伺服器出問題,都能將資料還原到前一天下班時的狀態,使資料的損失降到最低。如還需要更高層度的資料回復能力,例如在半天的時間內,資料庫異動的內容就很多,此時可考慮每天進行兩次或更多次的備份,例如每天中午和晚上各做一次交易記錄備份,這樣一來,早上伺服器出問題可還原到前一天下班時的狀態,下午出問題則可回復到中午的狀態。12資料庫備份配合差異式備份資料庫備份配合差異式備份優點若回復的時間離上次資料庫被份的時間比較近,則速度很快缺點在較後面的日子時,每次做差異備份所需的時間和儲存空間也會跟著增加。13三種備份方式綜合使用三種備份方式綜合使用由於交易記錄備份和差異式備份各有其優缺點,因此我們可以將兩種方法結合起來使用。例如在資料庫異動頻繁的情況下,可能損失一、兩小時變動的資料就是個很大的損失了,此時若是仍只每天進行一次備份,很可能就會造成在下午需還原,但只能讓資料庫回到前一天下班時的狀態,這對組織可能會造成很大的傷害。14三種備份方式綜合使用三種備份方式綜合使用每週做完整資料庫備份每天做差異式備份的情況下每天的工作時間中插入交易記錄備份15三種備份方式綜合使用三種備份方式綜合使用例如當週四下午資料庫發生問題需要做還原時,只需先用最近一次的資料庫備份和差異式備份,將資料庫回復到前一天的狀態,再將從早上所做的各次交易記錄備份一一還原起來就可以了。若只是採用前面介紹的每日只做一次備份的方案,則只能將資料庫回復到前一天的狀態而已。16使用檔案和檔案群組備份使用檔案和檔案群組備份前面提過,當資料庫過大而有不易備份的問題時,可將資料庫分開存於不同的檔案和檔案群組,然後以檔案和檔案群組的備份方式將整個資料庫分數次備份起來。此外如果資料庫中有部分資料表會經常變動,另一部分很少變動,也可考慮將這兩部分的內容分存於不同的檔案和檔案群組,然後用不同的備份頻率來備份其內容。17使用檔案和檔案群組備份使用檔案和檔案群組備份但依檔案和檔案群組來進行備份的缺點,也就在於需分數次備份,才能完成整個資料庫的備份,而不像做一次資料庫備份,就能把全部的檔案/檔案群組都備份下來。因此除非是資料庫中有多個檔案已大到會影響備份作業的進行時,才需使用檔案和檔案群組備份。以上介紹了幾種典型的資料庫備份方式,大家可依自己的環境和需求,找出比較合適的方案來加以進行。18使用檔案和檔案群組備份使用檔案和檔案群組備份通常異動頻繁的資料庫,免不了是要多做幾次備份,而比較不會更動的資料庫則可減少備份次數,但就算是放在資料倉儲中的歷史性資料庫,雖然幾乎不會異動,也最好做完整的資料庫備份,這樣的話在伺服器出問題時,可利用這個備份讓資料庫儘速回復原狀,繼續供使用者使用。19使用備用伺服器使用備用伺服器除了傳統的備份方式之外,還有一種方法可提供和備份相同的資料保護,那就是準備一台備用(standby)伺服器。在第二章介紹磁碟陣列時提過,RAID 1 磁碟陣列是用一顆額外的硬碟來複製整顆硬碟的內容,使得在有一顆硬碟出問題的情況下,仍能有一顆硬碟供我們存取資料。而備用伺服器的作法就和這種鏡射的方式一樣,只不過鏡射的對象改為整個 SQL Server。20使用備用伺服器使用備用伺服器因此要建立備用伺服器當然得先準備一台額外的伺服器電腦,雖然配備不見得要與原資料庫伺服器相同,但也不能差太多,以免無法負擔 SQL Server 的運作。而建立備用伺服器資料庫的方式,是先在原伺服器上做完整資料庫備份,並將此備份拿到備用伺服器上還原,使兩邊都有相同的資料庫內容。21使用備用伺服器使用備用伺服器日後只需定期在原伺服器上做交易記錄備份,並同樣拿到備用伺服器上還原,使兩邊的資料庫保持同步。一旦原伺服器出問題時,我們就可立即將備用伺服器接上網路,讓使用者能繼續享受 SQL Server 的服務。22使用備用伺服器使用備用伺服器雖然使用備用伺服器能提供近似無中斷的資料庫服務,不過由於需多準備一台伺服器硬體,平時也需不斷地做備份和還原的動作,以保持備用伺服器上的資料夠新,所以除非真的有不能讓 SQL Server 服務中斷過久的需求,否則還是採傳統的 備份+還原 的方案就可以了。關於在備用伺服器上還原資料的方式,會在下一章說明。23應該備份的資料庫應該備份的資料庫在考慮備份策略時,還有一項重點,那就是究竟哪些資料庫需要備份。一般而言,由我們(使用者)自建的資料庫大多都需要備份,此外就是系統資料庫中的 master和 msdb 也都應該要備份,至於 model 資料庫,則視您是否建了自訂的資料庫物件,如果有當然也要備份。至於 tempdb 當然是不用備份的,而 AdventureWorks這個範例資料庫照理也是不需備份的。如果您使用了第 9 章所介紹的複寫功能,也要備份散發資料庫,相關介紹請參見第 9 章。24應該備份的資料庫應該備份的資料庫至於各資料庫應採用何種備份方案,就看各資料庫的使用情形了。就像前面說過的,變動頻繁的資料庫可考慮採用三種備份方式交替使用的方案,而很少更動的資料庫當然可適度調整備份週期。但這也只是大方向而已,就像前面所提過的,我們必須將時間、空間等多項因素一起加以考量,才能找出適合的整體備份方案,這些就留待大家自己去思考了。25資料庫的復原模式資料庫的復原模式當您決定好資料庫的備份方案後,例如要使用資料庫備份配合交易記錄備份,或是還要再加上差異式備份,請先進入資料庫的屬性交談窗,查看一下資料庫的復原模式是否與您的備份方案相符合:26資料庫的復原模式資料庫的復原模式27資料庫的復原模式資料庫的復原模式簡單(Simple):在第 4-19 頁中提到過,SQL Server 會在檢查點(Checkpoint)將交易記錄的內容清除掉。而簡單復原模式就相當是設定了這個選項,換言之交易記錄檔會在特定的檢查點(例如 SQL Server 停止時)自動被清除,因此對資料庫做交易記錄備份就沒什麼用了。選擇簡單復原模式的資料庫,只能做資料庫備份和差異式備份。28資料庫的復原模式資料庫的復原模式完整(Full):所有對資料庫的操作都會記錄到交易記錄中,因此只要適度的搭配資料庫備份和交易記錄備份,就能將資料庫回復到最接近問題發生時的狀態。大量記錄(Bulk-logged):和完整模式類似,但對於大量複製動作(像是使用 bcp、BULK INSERT、SELECT INTO、WRITETEXT、以及 UPDATETEXT 等敘述),會以較節省空間的方式記錄於交易記錄,而不像完整模式是 完整 記錄。29資料庫的復原模式資料庫的復原模式因此當交易記錄備份中有這類動作的記錄,還原時只能做完整的還原,而不能指定還原到某特定的時點。若希望日後新建立的資料庫預設都採用某種模式,例如都用簡單模式,只需將model 資料庫設為簡單模式即可。設定好資料庫的回復模式,接著就可準備開始備份資料庫了。307-2 備份裝置備份裝置在介紹了 SQL Server 所提供的各種不同備份方式,以及如何規劃出適合自己工作環境的備份方案之後,我們便可開始著手進行備份作業了。雖然從 7.0 開始,SQL Server 就已捨棄裝置(Device)的觀念,不過在備份功能方面還是有個備份裝置可加以設定,所以這一節我們先來看如何建立備份裝置。31備份裝置備份裝置認識備份裝置建立備份裝置使用系統預存程序建立備份裝置32認識備份裝置認識備份裝置所謂備份裝置聽來似乎是指用來存放備份資料的儲存媒體,不過在 SQL Server中並不是這個意思,而只是單指備份資料的存放路徑而已。而 SQL Server 支援的備份儲存媒體則有硬碟和磁帶機,如果想以 MO 等裝置來備份,可將它們當成 硬碟 來用。33認識備份裝置認識備份裝置以硬碟為例,它只是一個儲存媒體,但我們卻可在其中設定多個備份資料存放路徑,也就是設定多個備份裝置,其實每個裝置就是一個檔案。至於使用磁帶機時,由於只能設定同樣的磁帶機路徑,所以我們可將其視為單一的備份裝置。34認識備份裝置認識備份裝置不管使用何種媒體,我們都可在同一個裝置中存放多個資料庫的備份資料,或同一資料庫不同時間的備份資料。備份時可指定要將資料附加在裝置中現有資料的後面,或是將之覆蓋掉,這些在稍後介紹備份作業時會再說明。選擇儲存媒體35選擇儲存媒體選擇儲存媒體隨著硬碟空間不斷增加,而價格又一直下滑,使用硬碟來備份資料似乎也是個不錯的選擇。但選擇用硬碟做備份時最好注意幾點:儘量備份到其它遠端伺服器上的硬碟,以降低風險,因為若只備份至本地硬碟上,當發生硬體錯誤或天災時,連備份資料也都不保了。可能的話,可自行將備份到硬碟的檔案燒錄到光碟上。36選擇儲存媒體選擇儲存媒體循序存取的磁帶(機)雖然在存取磁帶中後段的檔案會較不方便,但因成本低廉加上技術的改善(現今的 DAT 產品在讀寫的速度上已有不錯的表現),所以仍是相當實用的備份裝置,尤其是資料庫非常大時,磁帶(機)的好處就更明顯了,甚至可說是唯一可行的備份方案了。37建立備份裝置建立備份裝置在進行備份工作之前,需先建立備份裝置做為存放備份資料的場所。要建立新的備份裝置可在 Management Studio 中展開伺服器物件/備份裝置項目,然後依如下的步驟進行:38建立備份裝置建立備份裝置39建立備份裝置建立備份裝置裝置名稱可依個人的喜好來命名,例如以資料庫名稱來命名,日後在尋找備份資料時或許會比較好識別。在名稱欄輸入裝置名稱時,在檔案名稱欄也會出現預設的檔名(裝置名.BAK),而預設的路徑則是在 SQL Server 資料夾下的 Backup 子資料夾中。如果您想改存其它的地方,可按旁邊的.鈕選擇其它的路徑。若用的是磁帶機,則只需在磁帶輸入磁碟機的路徑,例如.TAPE0,而不用另行加上檔名。40建立備份裝置建立備份裝置按下確定鈕後就會建立裝置,在 Management Studio 中也會列出已建立的備份裝置:41建立備份裝置建立備份裝置如果想要檢視備份裝置的詳細資訊,如存放路徑、檔名、裝置種類等,只要在裝置名稱上按滑鼠右鈕,執行屬性命令即可。由於是新建的備份裝置,我們尚無法也不用對它做什麼處理,下一節我們再來說明裝置中有了備份資料後,可對裝置進行哪些管理。42建立備份裝置建立備份裝置若要刪除備份裝置,只需先選裝置名稱,再按 Delete 鍵即可,不過要注意的是,在Management Studio 中刪除備份裝置,並不會刪除裝置所代表的檔案,該檔案仍然存在。您可再重新以此檔案重建裝置(見稍後說明),或是在作業系統下將它刪除;但如果使用系統預存程序刪除裝置,就可順便指定刪除檔案,以下就來看如何用預存程序建立和刪除備份裝置。43使用系統預存程序建立備份裝置使用系統預存程序建立備份裝置我們也可用系統預存程序 sp_addumpdevice 來建立備份裝置,其用法如下:44使用系統預存程序建立備份裝置使用系統預存程序建立備份裝置其中 裝置類型 可為以下兩個值:disk:表示使用硬碟。此類型也可用於遠端磁碟,此時需以 UNC 指定檔案的網路路徑。tape:表示使用磁帶機。至於 實體名稱 這個參數,就磁碟而言就是檔案的路徑,若是使用磁帶機的話則為磁碟機的名稱。最後的 磁帶機狀態 參數並非必要,此參數是用來與舊版相容。45使用系統預存程序建立備份裝置使用系統預存程序建立備份裝置例如下列敘述就會在硬碟上建立名為 MYDATA 的備份裝置:若要移除備份裝置,可用另一個預存程序:最後面的選用參數只是用來設定是否要刪除裝置所使用的檔案,若設為 delfile就表示要刪除檔案。467-3 進行備份工作進行備份工作這一節我們就來看如何執行備份工作,以及設定備份作業的細節。在 Management Studio 中手動進行備份設定排程自動進行備份以 T-SQL 語法進行備份從備份資料檔建立備份裝置檢視備份裝置內容驗證備份內容47在在 Management Studio 中中 手動進行備份手動進行備份我們可用 Management Studio 直接將資料庫備份到現存的備份裝置上。要對資料庫進行備份,只需在資料庫名稱上按滑鼠右鈕展開快顯功能表,然後選工作/備份資料庫命令:48在在 Management Studio 中手動進行備份中手動進行備份49在在 Management Studio 中中 手動進行備份手動進行備份50在在 Management Studio 中中 手動進行備份手動進行備份51在在 Management Studio 中中 手動進行備份手動進行備份52設定排程自動進行備份設定排程自動進行備份雖然 SQL Server 的備份方式非常簡單,但是如果每天都要重複同樣步驟進行備份實在很麻煩,所以我們可以設定排程,讓 SQL Server 定期幫我們進行備份的工作。53設定排程自動進行備份設定排程自動進行備份開啟 SQL Server Agent 服務與 Agent XPs 選項使用維護計畫建立排程以自動進行備份54開啟開啟 SQL Server Agent 服務服務 與與 Agent XPs 選項選項當安裝 SQL Server 時,會有一個選項讓您勾選哪些服務需要自動啟動,而排程所使用的 SQL Server Agent 服務預設並未勾選,所以可能很多人的 SQL Server 並未啟用 SQL Server Agent 服務,如此將無法設定排程進行自動化工作。所以必須先檢查 SQL Server Agent 服務是否已經啟動,請開啟 Management Studio,在物件總管窗格內的最下方項目,便會顯示 SQL Server Agent 的狀況。55開啟開啟 SQL Server Agent 服務服務 與與 Agent XPs 選項選項若該項目前面有綠色箭頭圖示,表示已經啟動,若為紅色向下箭頭的圖示,則表示未啟動。如果 SQL Server Agent 尚未啟動,請執行 開始/所有程式/Microsoft SQL Server 2005/組態工具/SQL Server Configurat ion Manager命令,如下開啟 SQL Server Agent 服務:56開啟開啟 SQL Server Agent 服務服務 與與 Agent XPs 選項選項57開啟開啟 SQL Server Agent 服務服務 與與 Agent XPs 選項選項58開啟開啟 SQL Server Agent 服務服務 與與 Agent XPs 選項選項59開啟開啟 SQL Server Agent 服務服務 與與 Agent XPs 選項選項開啟 SQL Server Agent 服務之後,接著請在 Management Studio 中執行下面T-SQL 指令,開啟其中必要的 Agent XPs 選項:60使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份開啟相關服務與元件後,接著請在 Management Studio 中如下操作,建立排程自動進行備份工作:61使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份62使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份63使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份64使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份65使用維護計畫建立排程以自動進行備份使用維護計畫建立排程以自動進行備份66使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份67使用維護計畫建立排程以自動進行備份使用維護計畫建立排程以自動進行備份68使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份69使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份70使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份71使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份72使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份建立完成後,可以在管理/維護計畫項目內找到新建立的維護計畫:73使用維護計畫建立排程使用維護計畫建立排程 以自動進行備份以自動進行備份日後 SQL Server 就會依照我們設定的維護計畫內的排程,自動進行備份工作。本書第 10 章會更詳細地說明排程的設定方法,另外以 SQL 語法設定排程的方式,也會在第 10 章一併說明。74以以 T-SQL 語法進行備份語法進行備份要用 T-SQL 語法做資料庫、差異式、或檔案和檔案群組的備份,都是使用BACKUP DATABASE 敘述,其簡要的用法如下:75以以 T-SQL 語法進行備份語法進行備份各參數的用途說明如下:BLOCKSIZE:設定寫入時的資料區塊大小,這個值通常我們不需設定,讓 SQL Server 自行決定即可,不過若要將備份資料燒錄到光碟上,並打算用光碟來進行還原,則需將此值設為 2048。若要指定磁帶的資料區塊大小,必須搭配下面的FORMAT 參數使用。NAME:設定這次備份所用的備份集(backup set)名稱。76以以 T-SQL 語法進行備份語法進行備份DESCRIPTION:設定此備份資料的說明文字內容。DIFFERENTIAL:只做差異式備份,不加此參數就是做完整資料庫備份。FORMAT|NOFORMAT:設定是否要先格式化備份檔或磁帶。NOUNLOAD|UNLOAD:設定是否要在備份完成時退出磁帶。77以以 T-SQL 語法進行備份語法進行備份RESTART:表示現在要做的備份,是要繼續前次被中斷的備份作業。如果備份作業執行到一半被中斷了(例如遇到停電),重頭做一次又太麻煩(尤其資料庫很大時),就可利用 WITH RESTART 參數來繼續未完成的備份作業。STATS:讓 SQL Server 每備份好 10%的資料時就顯示備份進度訊息,如果要改成完成其它比例的作業時顯示訊息,就在此參數後面設定所需的百分比級距。78以以 T-SQL 語法進行備份語法進行備份可用的參數雖然不少,但通常都不需特別設定,只要指定資料庫名稱和裝置名稱就可以了。例如要備份整個 master 資料庫至 MYBACKUP 這個備份裝置,可用如下的語法:79以以 T-SQL 語法進行備份語法進行備份如果想要直接將資料庫備份到檔案,例如要將 master 資料庫備份到新的 C:master.bak 備份檔,可以使用下面的語法:80以以 T-SQL 語法進行備份語法進行備份備份檔如果原先並不存在,SQL Server 會自動建立該檔案。此外,使用 WITH FORMAT 參數表示覆寫備份檔內所有備份,如果想要將備份附加進備份檔,則請不要使用 WITH FORMAT 參數即可。81以以 T-SQL 語法進行備份語法進行備份檔案和檔案群組備份交易記錄備份82檔案和檔案群組備份檔案和檔案群組備份若要備份檔案和檔案群組,則需在資料庫名稱後面指定檔案和檔案群組名稱,指定的方式如下:83檔案和檔案群組備份檔案和檔案群組備份不過在指定檔案名稱時用的是檔案的邏輯名稱,亦即從 Management Studio 中開啟資料庫的屬性交談窗時,在檔案頁次內的邏輯名稱欄所看到的名稱,而非檔案實際在磁碟上的檔名。例如要備份 MyDa ta 資料庫中的 Se co nd 檔案至MYBACKUP 這個裝置,可用如下的語法:84交易記錄備份交易記錄備份至於交易記錄的備份則需使用 BACKUP LOG 敘述,可用的參數也都和BACKUP DATABASE 相同,以下只列出簡要的用法:例如要備份 MyData 資料庫的交易記錄至 MYBACKUP 這個裝置,可用如下的語法:85交易記錄備份交易記錄備份以上介紹的都只是簡單的語法,BACKUP DATABASE、BACKUP LOG都還有很多參數可使用,只是在一般情況下不見得用得到,有興趣者可參考線上叢書的說明。86從備份資料檔建立備份裝置從備份資料檔建立備份裝置如果您在前面設定備份時,選擇目的地為新的備份檔,而不是原有的備份裝置,則進行備份時,備份資料雖然會存在該檔案中,但是並不會在 Management Studio中建立新的備份裝置。若您想要在 Management Studio 中建立一個新的備份裝置來代表這個備份檔,其設定方式與建立一般備份裝置相似,只不過在指定檔名時,要指定使用這個已經存在的備份檔:87從備份資料檔建立備份裝置從備份資料檔建立備份裝置88從備份資料檔建立備份裝置從備份資料檔建立備份裝置89從備份資料檔建立備份裝置從備份資料檔建立備份裝置接下來的步驟與建立一般備份裝置相同,完成後就可以在 Management Studio 中看到該備份檔所屬的備份裝置。90檢視備份裝置內容檢視備份裝置內容將資料備份到備份裝置後,通常應找個妥善的地方存放,以備不時之需。不過由於備份裝置本身可容納數個不同備份的資料,所以在必要時,我們就會想知道裝置中存有哪些內容。若要在 Management Studio 中查看備份裝置的內容,可在裝置名稱上雙按,然後切換到媒體內容頁次,就會出現其內容資訊:91檢視備份裝置內容檢視備份裝置內容92檢視備份裝置內容檢視備份裝置內容平時在備份時若想覆寫掉裝置中原有的資料,就可先用此功能檢查一下其中的備份資料是否還要使用。除了使用管理工具查看以外,我們也可用如下的 SQL 語法來查看裝置的內容:93檢視備份裝置內容檢視備份裝置內容例如用此敘述來檢視與前圖相同的裝置,其結果如下:94檢視備份裝置內容檢視備份裝置內容大家應會發現由此所查到的資訊比之前由管理工具中可查到的還要多,其實從管理工具中執行還原作業時也是可看到許多的資訊,但仍不及使用 RESTORE HEADERONLY 敘述所查到的詳細,此部分我們留待下一章再介紹。95驗證備份內容驗證備份內容備份資料雖然存到了備份裝置中了,但寫入的資料是否完全正確,也是在備份完成後應加以檢查的,否則做了半天,到要還原資料時才發現備份的資料有誤或無法讀取等,將造成無法彌補的損失。所幸在使用排程或手動進行備份時,都可設定在備份完後立即檢查備份資料是否有誤,但以 BACKUP XXX 敘述進行備份時就不會自動順便做檢查。要用 SQL 語法檢查備份資料,需使用 RESTOREVERIFYONLY 敘述:96驗證備份內容驗證備份內容97驗證備份內容驗證備份內容若要驗證的只是裝置中某一組的備份資料,可用 FILE 參數指定要檢查的是第幾組。至於 LOADHISTORY 的作用則是將此裝置中的備份資訊記錄到 msdb 資料庫的系統資料表中。通常是不會用到此參數,但若您使用的備份裝置,是在 SQL Server 中沒有記錄的(例如前面提過的從現有檔案建立備份裝置的情形),就可利用此功能將該裝置中的備份集資訊都記錄到 msdb 資料庫中。例如以下就是對裝置中第一份備份集做驗證的例子:98驗證備份內容驗證備份內容997-4 使用快照集使用快照集(Snapshot)備份資料庫內容備份資料庫內容快照集(Snapshot)是 SQL Server 2005 新增的功能,其功能顧名思義,就是為資料庫拍下目前的 照片,如果在不同的時間建立快照集,這些快照集便代表資料庫在當時的 樣子。所以您可以從各時間的快照集中,取得資料庫在某個時間點的內容。100使用快照集使用快照集(Snapshot)備份資料庫內容備份資料庫內容快照集的運作原理快照集的用途為資料庫建立快照集檢視快照集的內容刪除快照集101快照集的運作原理快照集的運作原理快照集可以拍下資料庫在某個時間點的 樣子,一般人可能會以為快照集就是建立一份資料庫的複製,這樣的方式雖然能照下資料庫的樣子,但如果資料庫相當大,那麼使用複製的方式可就一點都快不起來了。快照集使用的是一種稱為 copy-on-write 的技術,當某資料庫在 A 時間點建立快照集時,SQL Server 會先為該資料庫建立稀疏檔案(Sparse File,稍後會說明)。102快照集的運作原理快照集的運作原理假設 A 時間點之後,資料庫某頁(例如 Page 2)的內容將發生第一次更動,SQL Server 便會先將該頁的資料複製一份到稀疏檔案,然後才會將更動的內容寫入該頁。以下是快照集的運作示意圖:103快照集的運作原理快照集的運作原理若此時讀取快照集,SQL Server 會從快照集稀疏檔案內讀取 Page 2,但其他資料頁仍從資料庫內讀取,如此便可以組合成資料庫於 A 時間點的資料。而為了永遠保留 A 時間點的資料,所以之後 Page 2 再有所更動時,就不會再次複製內容到稀疏檔案。資料庫中的其他資料頁有所更動時,也是使用上述方式複製到稀疏檔案。由於更動資料頁前必須先複製一份到稀疏檔案,因此快照集對於資料庫寫入的效率會有些許的影響。104快照集的運作原理快照集的運作原理快照集中扮演重要角色的稀疏檔案是一種特殊的檔案,只能建立於 NTFS 檔案系統,其在檔案總管中看到的大小會等於該資料庫檔案的大小,但是一開始稀疏檔案內容卻是空的,實際上佔用的硬碟空間也很小:105快照集的運作原理快照集的運作原理106快照集的運作原理快照集的運作原理隨著更動的資料頁越來越多,稀疏檔案實際使用的磁碟空間也會跟著越來越大,一直到等於資料庫檔案大小為止(代表所有資料頁都已更動過)。所以請小心,稀疏檔案所在的磁碟務必要保留足夠空間以供其成長,否則若空間不足,該快照集將無法繼續運作。107快照集的用途快照集的用途一般而言,快照集的用途如下:產生歷程記錄:如果您需要維持一份定期的資料報表,例如每一季的財務報表、各年度的預算執行表,那麼便可以使用快照集功能,在每一期期末建立一份資料庫的快照集,那麼當未來需要取得某一期的資料時,雖然資料庫已經改變了,但是仍可以從那時候建立的快照集獲得當時的資料。108快照集的用途快照集的用途保護資料以防疏失:當管理者想要進行大幅度更動之前,或是擔心使用者操作錯誤,誤改資料內容,可以先使用快照集保存資料庫當時的內容,如此日後資料庫的內容有問題時,便可以使用快照集回復原本的資料。請注意,因為快照集並不是資料庫的完整副本,快照集內只儲存了有差異的資料,仍然需要配合資料庫才能組合成完整的資料。109快照集的用途快照集的用途如果您的資料庫檔案已經完全毀損,便無法使用快照集進行還原,所以建議您絕對不要使用快照集做為 資料庫毀損時可還原的備份。快照集所能提供的備份功能,只有上面所說的 防止操作疏失時可回復資料庫內容的備份。本節隨後將說明建立與刪除快照集的方法,以及如何檢視快照集的內容。至於使用快照集還原資料庫內容的方法,將於第 8 章說明。110為資料庫建立快照集為資料庫建立快照集目前建立快照集只能使用 T-SQL 語法,無法使用圖形管理工具建立快照集。建立快照集的語法如下:111為資料庫建立快照集為資料庫建立快照集語法相當簡單,不過請注意以下各點:快照集名稱與資料庫名稱不能重複。NAME 參數應該使用資料庫檔案的邏輯名稱,也就是從 Management Studio 中開啟資料庫的屬性交談窗時,在檔案頁次內的邏輯名稱欄看到的名稱,而非檔案實際在磁碟上的檔名。若資料庫內有多個資料檔案,建立快照集時必須為每個資料檔案指定一個稀疏檔案,但是記錄檔皆不需指定稀疏檔案。112為資料庫建立快照集為資料庫建立快照集稀疏檔案只能建立於 NTFS 檔案系統,所以請注意,指定的路徑務必位於使用 NTFS 的磁碟中。例如要為 MyDataBase 資料庫建立快照集,可使用下面的語法:113為資料庫建立快照集為資料庫建立快照集當資料庫內包含多個資料檔案,應該如下建立快照集:114為資料庫建立快照集為資料庫建立快照集快照集名稱、快照集稀疏檔案名稱與其副檔名並沒有特殊限制,不過一般都會加上日期或時間,以供識別是何時建立的快照集,就像我們拍照時,照相機也會在照片上加入日期時間是一樣的道理。快照集建立完成後,便可以在 Management Studio 中看到剛才建立的快照集:115為資料庫建立快照集為資料庫建立快照集116檢視快照集的內容檢視快照集的內容除了不能刪除與變更內容外,快照集與資料庫的操作方式完全一樣,例如筆者要檢視 MyDataBase_060209 快照集內的通訊錄資料表,可如下操作:117檢視快照集的內容檢視快照集的內容118檢視快照集的內容檢視快照集的內容如果使用 T-SQL 語法,也是使用與檢視一般資料庫相同的方式即可檢視快照集的內容:119刪除快照集刪除快照集與刪除資料庫相同,如果要刪除快照集,只要在 Management Studio 的物件總管中選擇快照集,按滑鼠右鈕執行刪除命令,或是直接按鍵盤上的 Delete 鍵即可。或者也可以使用下面 SQL 語法刪除快照集:GOGO1207-5 使用複製資料庫精靈使用複製資料庫精靈 建立備份建立備份除了前面所說明的備份功能與快照集以外,其實還可以直接將資料庫複製一份,也可以算是一種備份方式。如果您想要複製資料庫以建立一份備份,請在 Management Studio 的物件總管窗格中任一資料庫圖示上按滑鼠右鈕,執行工作/複製資料庫,即可啟動複製資料庫精靈,略過歡迎畫面後,請如下進行操作:121使用複製資料庫精靈建立備份使用複製資料庫精靈建立備份122使用複製資料庫精靈建立備份使用複製資料庫精靈建立備份123使用複製資料庫精靈建立備份使用複製資料庫精靈建立備份124使用複製資料庫精靈建立備份使用複製資料庫精靈建立備份125使用複製資料庫精靈建立備份使用複製資料庫精靈建立備份126使用複製資料庫精靈建立備份使用複製資料庫精靈建立備份127使用複製資料庫精靈建立備份使用複製資料庫精靈建立備份128使用複製資料庫精靈建立備份使用複製資料庫精靈建立備份
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!