眾所周知,隨著數(shù)據(jù)庫體積的日益龐大,其備份文件的大小也水漲船高。雖然說通過差異備份與完全備份配套策略,可以大大的減小SQL Server數(shù)據(jù)庫備份文件的容量。可是,其體積仍然很龐大。所以,在日常工作中,如何給SQL Server的備份文件瘦身,就是很多數(shù)據(jù)庫管理員所關(guān)心的問題了。
也許微軟的數(shù)據(jù)庫產(chǎn)品設(shè)計專家聽到了眾多數(shù)據(jù)庫管理員的呼聲了吧。在最新的2008版本的SQLServer數(shù)據(jù)庫中,提出了備份壓縮的概念。其基本原理跟利用RAR等壓縮工具壓縮文件一樣,可以讓原有的備份文件體積更小。這直接帶來的好處,就是可以節(jié)省服務(wù)器的備份空間。另外,若SQLServer數(shù)據(jù)庫配置了異地備份的話,那么也可以節(jié)省網(wǎng)絡(luò)帶寬,縮短異地備份的時間,等等。
筆者前不久剛把數(shù)據(jù)庫升級到了2008,并重新更改了備份配置,讓數(shù)據(jù)庫支持備份壓縮。下面筆者就把備份壓縮的管理心得跟大家分享一下。希望筆者這些經(jīng)驗?zāi)軌驇椭蠹易龊肧QL Server數(shù)據(jù)庫備份壓縮的管理。簡單的來說,如果要采用備份壓縮技術(shù),那么數(shù)據(jù)庫管理員要弄明白幾個問題。
問題一:備份壓縮技術(shù)的限制條件。
由于備份壓縮技術(shù)是2008版本中才提出來的,所以其兼容性可能就會收到一些限制。根據(jù)官方的說法是,從2008以后的數(shù)據(jù)庫版本,都會支持這個備份壓縮技術(shù)。故向后兼容應(yīng)該問題不大。數(shù)據(jù)庫管理員關(guān)心的應(yīng)該是,從低版本升級到高版本的數(shù)據(jù)庫時的一些限制條件。掌握這些限制條件,可能會讓數(shù)據(jù)庫升級少遇到一些問題。根據(jù)筆者的了解,這里至少有二個限制條件。
一是壓縮的備份和未壓縮的備份不能夠共存于一個媒體集中。在SQL Server數(shù)據(jù)庫中,如果要對數(shù)據(jù)集進(jìn)行備份,則首先需要建立一個媒體集。筆者升級完成之后,先對數(shù)據(jù)庫進(jìn)行了一個完全備份,這個備份沒有采用壓縮技術(shù)。后來筆者在測試壓縮備份的時候,卻發(fā)現(xiàn)怎么都不成功。后來根據(jù)錯誤提示查詢了相關(guān)資料并進(jìn)行親自測試,才發(fā)現(xiàn)壓縮的備份和未壓縮的備份不能夠共存于一個媒體集中。筆者后來重新建立了一個媒體集后,備份壓縮技術(shù)就可以起作用了。
二是早期版本的SQL Server數(shù)據(jù)庫無法讀取壓縮的備份。為了測試備份壓縮技術(shù)的向前兼容性,筆者特意利用備份壓縮后的數(shù)據(jù)庫文件,去恢復(fù)2005版本的數(shù)據(jù)庫。注意,這個數(shù)據(jù)庫文件是升級到2008后馬上備份的,也就是說,除了這個壓縮技術(shù)外,沒有采用2008的新技術(shù)與新對象。但是,卻發(fā)現(xiàn)2005版本的數(shù)據(jù)庫根本不認(rèn)賬,不認(rèn)識這個壓縮后的備份文件。可見,早期版本的SQL Server數(shù)據(jù)根本無法讀取壓縮后的備份文件。
這是筆者測試后發(fā)現(xiàn)的兩個限制條件。不過筆者查詢了一些官方資料后發(fā)現(xiàn),還有一個重要的限制。如NTBACKUP工具無法共享含壓縮的數(shù)據(jù)庫備份磁帶。不過由于筆者用不到這方面的內(nèi)容,所以也沒有測試是否如此。
問題二:壓縮的效果到底如何?
如果采用了壓縮備份技術(shù),那么備份文件到底可以瘦下來多少呢?這主要跟數(shù)據(jù)庫有關(guān)。根據(jù)筆者的了解,如下一些因素會直接影響到最終的壓縮效果。
首先是跟數(shù)據(jù)類型有關(guān)。如果數(shù)據(jù)庫中大部分是字符型的數(shù)據(jù),則其壓縮效果會比較好。而如果數(shù)字類型比較多的話,那么采用壓縮備份技術(shù)后,備份文件并不能夠小多少。這也給數(shù)據(jù)庫管理元是否要采用壓縮備份技術(shù)提供了一個判斷的標(biāo)準(zhǔn)。
其次是數(shù)據(jù)是否加密。正常情況下,如果數(shù)據(jù)庫中的數(shù)據(jù)未加密,則其壓縮的效果會比較明顯。相反如果數(shù)據(jù)庫的數(shù)據(jù)加密了,則其壓縮的程度就會小很多。如數(shù)據(jù)庫管理員利用透明數(shù)據(jù)加密方法來加密整個數(shù)據(jù)庫,則采用壓縮備份技術(shù)之后,壓縮備份并不會將數(shù)據(jù)庫減小多少,甚至根本不會減小。
再者,跟數(shù)據(jù)表設(shè)計也有關(guān)系。一般情況下,如果表設(shè)計比較合理,則其壓縮的效果就會好許多。如某頁中包含多個行,而其中的某個字段包含相同的值,則該值就可以獲得比較大的壓縮率。與之相反,如果字段中的數(shù)據(jù)大部分是隨機(jī)數(shù)據(jù)(即使只有稍微的差別),則其壓縮備份的大小幾乎與未壓縮的備份相同。這也就是說,要想取得比較好的壓縮效果,則在數(shù)據(jù)庫設(shè)計時,就需要考慮。如可以采用一些列表字段供用戶選擇,就可以提高最終備份文件的壓縮效果。
問題三:壓縮備份對于性能的影響如何?
數(shù)據(jù)庫采用壓縮備份之后,對于數(shù)據(jù)庫的影響是雙方面的,即有利也有害。
利是直接跟上面所說的數(shù)據(jù)庫壓縮效果相關(guān)。因為同一個數(shù)據(jù)庫的壓縮備份文件要比原來的備份文件要小,所以壓縮備份所需要的設(shè)備輸入輸出通常比較少,所以可以大大提高備份速度。而且,數(shù)據(jù)庫進(jìn)行異地備份的話,還可以大大縮短網(wǎng)路傳輸?shù)臅r間。所以,當(dāng)數(shù)據(jù)庫的壓縮效果越好,則對于數(shù)據(jù)庫的性能,也會有很大的改善。
新聞熱點(diǎn)
疑難解答
圖片精選