2

SQL Server 2005 の SQL Server バックアップを圧縮するための無料のソリューションを探しています。私は SQL Safe フリーウェア版を知っていますが、望ましい結果を得るために圧縮フォルダーにバックアップ ファイルを保存することについて他の人がどう考えているのか疑問に思っていました。これにより、ネイティブの SQL バックアップ タスクとネイティブの Windows 圧縮を使用できるようになり、サードパーティ製品が不要になります。

過去に圧縮フォルダーを使用したことはありません。これは実行可能なアイデアですか?圧縮フォルダー内のバックアップの整合性に関して予見可能な問題はありますか?

4

5 に答える 5

3

私は、あなたが探していることを行うオープン ソース プロジェクト (GPL v3) の作成者です。これはコマンド ライン ツール (Windows のスケジュールされたタスクでスケジュールするため) であり、gzip、zip (通常の zip ファイルには 4GB の制限があるため、具体的には zip64)、または bzip2 ファイルにバックアップします。ツールを使用して圧縮ファイルから直接復元するか、圧縮ファイル (標準の *.bak ファイル) を解凍してから、SQL Server GUI を使用して復元することができます。

これは SQL Server Compressed Backup と呼ばれ、http ://sourceforge.net/projects/mssqlcompressed/ にあります。

サンプル コマンドは次のようになります。

msbp.exe backup "db(database=model)" "zip64" "local(path=c:\model.full.bak.zip)"
于 2009-11-24T01:06:30.210 に答える
1

Google からの簡単なヒント: backing-up-to-a-ntf​​s-compressed-folder。データベースのサイズが問題を引き起こす可能性があるようです。

フリーウェア ソリューションについてはどうでしょうか。バックアップ後にスケジュールされたバッチで 7zip を実行すると、大きなファイルを正しく処理できるはずです。とにかく、バックアップを本番サーバーから移動する必要があります:)

于 2008-11-19T21:02:51.677 に答える
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
    }
}
于 2013-02-28T19:28:44.150 に答える
0

ISP のサーバーには 100 ほどのデータベースがあります

ISP にはテープへの包括的なバックアップがありますが、何かを復元するには長い時間がかかります...そのため、まずバックアップから復元できるように、バックアップを妥当な時間 "オンライン" に保つ必要があります。

フル バックアップは週に 1 回、差分バックアップは毎日作成します。フル バックアップは 1 か月間、差分バックアップは 7 日間保持します。TLog バックアップは 10 分ごとに作成しますが、(オンラインで) 保存するのは 2 日間のみです。

したがって、過去 2 日間は特定の時点に、過去 7 日間は「真夜中」に、過去 4 週間は「前の日曜日」に復元できます。

差分バックアップを使用することで、バックアップの合計サイズが減少し、より多くの「経過時間」をオンラインに保つことができるようになりました。

すべてのバックアップは、NTFS 圧縮フォルダーに保存されます。問題が発生したことはありませんが、これらの「共有 DB サーバー」に 30GB を超えるデータベースがあるとは思いません

データベースのメンテナンス中 (インデックスのデフラグなど)、TLog バックアップの頻度を 1 分ごとに増やします。DB サイズを拡張した 1 つのことは DB のメンテナンスであることがわかったので、これを行うことで、データベースの運用サイズを縮小し、より多くのバックアップ用にディスク領域を解放することができました。(通常、バックアップは MDF または LDF とは別のドライブに保存されますが、バッチ操作では、古くて古いバックアップ ファイルが MDF / LDF を含むドライブにコピーされるため、それらを「オンライン」に保つことができます)

PS SQL 2008 には、アップグレードを計画している場合に備えて、圧縮バックアップ機能が組み込まれています。

于 2009-03-05T21:54:08.340 に答える
0

Syncback Freewareを使用して、ファイルを別のフォルダーに自動的にコピーして圧縮します。この方法で大量のスペースを節約できます。私はこれを数年間行ってきましたが、完璧に機能しています。

于 2008-11-23T05:20:47.363 に答える