2008-11-19 129 views
2

我們正在尋找一個免費的解決方案來壓縮SQL Server 2005的SQL Server備份。我意識到SQL安全免費版,但我想知道別人怎麼想將壓縮文件夾中的備份文件存儲到達到預期的效果。這將允許我們使用本機SQL備份任務和本地Windows壓縮,從而消除對第三方產品的需求。壓縮文件夾中的SQL備份

我還沒有使用過壓縮文件夾的任何東西。這是一個可行的想法嗎?壓縮文件夾中備份的完整性是否存在可預見的問題?

回答

1

來自谷歌的快速提示:backing-up-to-a-ntfs-compressed-folder。似乎數據庫大小可能會產生問題。

那麼免費軟件解決方案呢那麼你可以在備份後按計劃批量運行7zip,應該可以正確處理大文件。您應該移動備份outta生產服務器無論如何:)

0

我使用Syncback Freeware自動複製和壓縮文件到另一個文件夾。這樣可以節省大量的空間。我已經這麼做了好幾年了,它的工作很完美。

0

我們我們的ISP在服務器上的100個數據庫的區域

的ISP有全面的備份到磁帶上,但他們需要很長的時間來恢復任何東西......因此,我們需要不斷地備份「在線」在一段合理的時間內,我們可以首先從他們身上恢復過來。

我們每週生成一次完整備份,每天生成差異備份。我們保留一個月的完整備份和七天的差異備份 我們每10分鐘生成一次TLog備份,但只保存它們(在線)兩天。

因此,我們可以恢復到過去2天的時間點,過去7天的「午夜」以及過去4周的「週日前」。

差異備份的使用減少了我們備份的總體大小,並使我們能夠保持更多的「經過時間」在線。

所有備份存儲在NTFS壓縮文件夾中。我們從來沒有遇到任何問題,但我認爲我們在這些「共享數據庫服務器」上沒有任何大於30GB的數據庫。

在數據庫維護(索引碎片整理等)期間,我們將TLog備份的頻率提高到了每個分鐘。我們發現擴展數據庫大小的一件事是數據庫維護,所以通過這樣做,我們可以減少數據庫的運行大小,並釋放一些磁盤空間以獲得更多的備份。 (通常在不同的驅動器上備份到MDF或LDF,但是批處理操作會將舊的,過時的備份文件複製到包含MDF/LDF的驅動器中,以便我們可以使它們保持「在線」狀態)

P.S. SQL 2008具有內置的壓縮​​備份功能,以防您正在計劃升級

3

我是一位開源項目(GPL v3)的作者,您正在尋找。它是一個命令行工具(用於在Windows計劃任務中進行安排),並備份到gzip,zip(由於4GB的常規zip文件限制,特別是zip64)或bzip2文件。您可以使用該工具直接從壓縮文件中恢復,也可以解壓縮壓縮文件(標準* .bak文件),然後使用SQL Server GUI進行恢復。

這就是所謂的SQL服務器壓縮備份,發現這裏:http://sourceforge.net/projects/mssqlcompressed/

的樣本命令爲:

msbp.exe backup "db(database=model)" "zip64" "local(path=c:\model.full.bak.zip)" 
0

雖然我不建議直接備份到一個壓縮文件夾,你當然可以備份到普通文件夾,然後在服務器不太忙時使用PowerShell腳本分別壓縮每個文件。這是我使用的片段。它基本上通過備份目錄遞歸,使用NTFS壓縮壓縮每個文件,達到一定的大小。這不是最好的解決方案;我的首選解決方案是在執行升級時使用SQL 2008/2012備份壓縮。

$max_compressible_size = 10*1024*1024*1024 #10 gigs 

$files = Get-ChildItem -recurse | where {$_.Extension -match "(trn)|(diff)|(bak)"} 

foreach ($file in $files) {  
    $attr = (Get-ItemProperty $file.fullname).Attributes 

    if ($attr.ToString() -notmatch ".*Compressed.*" -and $file.Length -le $max_compressible_size) { 
     write-output $file.FullName 
     compact /C $file.FullName 
    } 
}