怎樣用壓縮技術(shù)給SQL Server備份文件瘦身_Mssql數(shù)據(jù)庫教程
推薦:如何在SQL 2005中實現(xiàn)循環(huán)每一行做一定的操作如果我們想對一個表的每一行做出比較復(fù)雜的操作,大多會想到用游標(biāo),本文中,我們將換一種思路,用SQL Server 2005中的新函數(shù)ROW_NUMBER()和while循環(huán)來對每一行執(zhí)行操作。詳細(xì)的示例代碼如下: select Department_No as departmentNo,ROW_NUMBER() OVER(ORD
眾所周知,隨著數(shù)據(jù)庫體積的日益龐大,其備份文件的大小也水漲船高。雖然說通過差異備份與完全備份配套策略,可以大大的減小SQL Server數(shù)據(jù)庫備份文件的容量�?墒牵潴w積仍然很龐大。所以,在日常工作中,如何給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ù)集進行備份,則首先需要建立一個媒體集。筆者升級完成之后,先對數(shù)據(jù)庫進行了一個完全備份,這個備份沒有采用壓縮技術(shù)。后來筆者在測試壓縮備份的時候,卻發(fā)現(xiàn)怎么都不成功。后來根據(jù)錯誤提示查詢了相關(guā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)識這個壓縮后的備份文件�?梢姡缙诎姹镜腟QL 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ù)大部分是隨機數(shù)據(jù)(即使只有稍微的差別),則其壓縮備份的大小幾乎與未壓縮的備份相同。這也就是說,要想取得比較好的壓縮效果,則在數(shù)據(jù)庫設(shè)計時,就需要考慮。如可以采用一些列表字段供用戶選擇,就可以提高最終備份文件的壓縮效果。
問題三:壓縮備份對于性能的影響如何?
數(shù)據(jù)庫采用壓縮備份之后,對于數(shù)據(jù)庫的影響是雙方面的,即有利也有害。
利是直接跟上面所說的數(shù)據(jù)庫壓縮效果相關(guān)。因為同一個數(shù)據(jù)庫的壓縮備份文件要比原來的備份文件要小,所以壓縮備份所需要的設(shè)備輸入輸出通常比較少,所以可以大大提高備份速度。而且,數(shù)據(jù)庫進行異地備份的話,還可以大大縮短網(wǎng)路傳輸?shù)臅r間。所以,當(dāng)數(shù)據(jù)庫的壓縮效果越好,則對于數(shù)據(jù)庫的性能,也會有很大的改善。
分享:如何在應(yīng)用環(huán)境中構(gòu)造最優(yōu)的數(shù)據(jù)庫模式數(shù)據(jù)庫設(shè)計(Database Design)的概念:數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。 (在數(shù)據(jù)庫領(lǐng)域內(nèi),經(jīng)常把使用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)稱為數(shù)
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數(shù)的用法實例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- SQL Server日志清除的兩種方法教程簡介
- 刪除數(shù)據(jù)庫中重復(fù)數(shù)據(jù)的幾個方法
- 從Access數(shù)據(jù)庫到SQL Server高手
- 解讀在Oracle數(shù)據(jù)庫中高速導(dǎo)出/導(dǎo)入的方法
- 用sp_lock診斷SQL Sever的性能問題
- 數(shù)據(jù)庫中兩張表之間的數(shù)據(jù)同步增加、刪除與更新實現(xiàn)思路
- SQL Server 2008存儲結(jié)構(gòu)之GAM、SGAM介紹
- 是什么讓SQL Server加速運行
- SQL Server 2008 批量刪除添加內(nèi)容
- SQL Server連接中常見錯誤的解決方法
猜你也喜歡看這些
- 解析csv數(shù)據(jù)導(dǎo)入mysql的方法
- mysql中text與varchar與char的區(qū)別
- MySQL筆記之系統(tǒng)信息函數(shù)詳解
- 正確理解Mysql中的列索引和多列索引
- mysql 超大數(shù)據(jù)/表管理技巧
- MySQL出現(xiàn)大量unauthenticated user
- 基于mysql事務(wù)、視圖、存儲過程、觸發(fā)器的應(yīng)用分析
- mysql 導(dǎo)入導(dǎo)出數(shù)據(jù)庫以及函數(shù)、存儲過程的介紹
- mysql5.6.10安裝詳細(xì)圖文教程
- 利用Xtrabackup工具備份及恢復(fù)(MySQL DBA的必備工具)
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-怎樣用壓縮技術(shù)給SQL Server備份文件瘦身
。