程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server數據庫備份的性能優化

SQL Server數據庫備份的性能優化

編輯:關於SqlServer

一、選擇合理的備份時機。

雖然說,SQL Server數據庫在聯機或者活動狀態,也可以進行備份。但是,一般情況下,筆者不建議這麼做。因為在數據庫活動的時候進行備份的話,一方面會增加備份的時間;另一方面,因為備份作業占用了一定的硬件資源,會對數據庫的訪問性能產生比較大的影響,特別是並發性訪問。

所以,在數據庫備份的時候,數據庫管理員應當盡量減少SQL Server中的當前活動。對於大部分企業來說,一般數據庫活動的高發期在白天的八個小時。故從理論上說,除了這八個小時外,對數據庫進行備份的話,可以把這個不利影系降低到最低。

筆者現在的備份策略,就是在凌晨一點開始進行數據庫備份。根據筆者一段時間的追蹤,發現在這個時段內,基本上沒有用戶訪問數據庫。故筆者利用SQL Server的任務計劃結合數據庫的備份策略,定在凌層這個時間進行數據庫備份。

不過,為了保障數據庫備份的准確性,在第二天上班後,就需要查看相關的備份日志。看看在備份的過程中有否出現異常情況。若有的話,要及時加以解決。總之,數據庫備份的時機選擇上,一個基本原則就是“在備份作業進行的整個過程中,盡量減少數據庫的當前活動”。

二、備份到多個物理設備。

通常情況下,與備份到單個物理設備相比,備份到多個物理設備的速度會更快一點。為此,數據庫管理員可以通過並行方式將數據復制到各個備份設備中。SQL Server服務器通過相關技術,能夠充分利用多個備份設備的優勢。

SQL Server數據庫可以同時向多個備份文件進行寫操作。在企業具有多個備份文件的時候,數據庫可以將數據條帶化的分布到用於創建備份的全部文件中。通俗說的說,就是建立多個備份文件,然後把不同的備份文件存儲在不同的物理設備上。如此的話,就好像是在洩洪的時候,多開幾個通道。那麼,很明顯可以縮短備份的時間。在另一方面,也就降低了備份作業對數據庫的不利影響。從理論上說,如果備份到單個設備上需要3個小時,則備份到兩個硬盤上的話,則可以縮短為一個半小時。當然,實際能夠把備份時間縮短到多少,還跟硬件的讀取速度、服務器的性能相關。但是可以肯定的一點就是,把備份文件存儲到多個硬件設備中,實現條帶化備份,是可以大幅度的縮短備份所需要的時間。

在使用這種方法降低備份對數據庫的不利影響,需要注意以下幾個方面的內容:

1、在備份時,所采用的硬件設備必須屬於同種類型的媒體。現在用戶備份的媒體主要有磁帶或者硬盤。不過,現在基本上大家都習慣於硬盤。在進行條帶化備份的時候,數據庫管理員不能夠在單個備份媒體集中混合使用磁帶或者硬盤設備。這是在工作中要切記的一個限制條件。

2、如果將某個備份文件定義為備份集成員,那麼用戶就必須一起使用這些文件。也就是說,數據庫管理員若設置了多個備份文件,則無論是在對其進行異地備份,還是在進行還原的時候,要對所有的備份文件進行操作。不然的話,很可能會丟失部分數據。這就好像一個蛋糕,數據庫管理員把它切成一快一快。若要把它換一個地方存放的話,則要把切割後的每一塊蛋糕都搬走。少一塊的話,蛋糕就不完整了。這也是類似的道理。

3、如果刪除了某個備份集的成員,則備份集中其他成員所包含的數據是無效的,不能夠被使用。也就是說,數據庫在執行條帶化備份的時候,在各個備份文件中存儲的數據是沒有規則的。並不是說,一個備份文件中就存儲索引,另一個備份文件中存儲數據信息。即時某個備份文件不小心丟失了,仍然可以利用另外的備份文件修復部分數據。這是不肯能的。這就好利用RAR等工具分割壓縮文件的時候,必須所有的壓縮文件齊全,才能夠解壓縮文件。故這就要求數據庫管理員在對這些文件進行異地備份的時候,要考慮其完整性。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved