SQL Serverで可能な限り最小のバックアップ


37

毎日、WAN経由でSQL Serverバックアップを出荷しています。永久に時間がかからないように、これらのバックアップのサイズを最小化する必要があります。

バックアッププロセスに少し時間がかかるかどうかは気にしません。現状では、30ギガの圧縮バックアップをWAN経由で移動する必要があり、10時間以上かかります。

毎日のより小さなバックアップを取得する必要がある2つのオプションがあります。

  1. ログ配布。これは、DRプロセスを再構築する必要があることを意味します。
  2. データベースから情報を取り除き、反対側で再構築します(非クラスター化インデックスを削除し、クラスター化インデックスを100%でパックします-反対側で再構築します)

両方とも、私たちの側からかなりの量の作業を伴います。SQL Server 2008 proを使用しています。すべてのバックアップが圧縮されています。

オプション(2)と同等のバックアップサイズを提供できる商用製品はありますか?

そこにあるの包括的な私たちは(2)を達成することができますそこにスクリプトが?(インデックス付きビュー、フィルター処理されたインデックス、外部キーなどの処理)


2
現在のバックアップの粒度と頻度を教えてください(通常のログバックアップ?毎日フル?)EnterpriseまたはStandardエディションを使用していますか?更新:レンタルサイトの小企業DRか、恒久的なDRサイトの大企業か。1番目の場合、サイト外でファイルサーバーまたはSQL Serverを実行していますか
gbn

@gbn、毎日フルに最適化する必要があります。エンタープライズを使用します。DRはすべてローカルであり、スタッフがオフサイトで作業しています。小規模なバックアップは、開発者と2番目のオフサイトに必要です。注...開発者はオフサイトであり、帯域幅が限られている他の国では、NYのサーバーから(たとえば)オーストラリアへの最小転送サイズが必要です。数か月に1回同期します。
サムサフラン

1
これを理解していない人にとっては、これはSOチームにとって適切なものです;)
jcolebrand

1
@Sam Saffron:私の提案のようなものを採用したかどうかについてのフィードバックをお願いします。
gbn

@gbn ...まだ何をすべきかを決定している、私は「通常」だと思う-オレゴンの仕事に戻るものはあなたが提案した解決策で実行可能である。ただし、「サムは毎月1回SO dbをダウンロードする必要がある」という問題は、22ギグをオーストラリアに移動する必要があるため、依然として非常に痛みを伴うものです。
サムサフラン

回答:


22

コメントに基づいて最初に考えた...

バックアップとFTPのサイズ/時間を削減するために、たとえば6時間ごとに差分バックアップを使用します。次に、フルバックアップとFTPを週末のみに減らします。これにより、ログ配布の複雑さを回避し、簡単に行うことができ、DRにわずかな複雑さを追加するだけです。

差分バックアップは見落とされているように感じます...以前にそれらを使用することを提案しました:

編集:jcolebrandのコメントの後、私はもっと説明しようとします

差分バックアップは、変更されたページのみを取得します。インデックスのメンテナンス(データベースの多くに影響を与える可能性があります)以外では、1日に変更されるページはわずか数%です。したがって、差分バックアップは、圧縮前の完全バックアップよりもはるかに小さくなります。

毎週などのフルバックアップがある場合は、毎日差分を作成して、それらをオフサイトに出荷できます。差分を含む毎日の完全バックアップでは、オフサイトの両方のファイルが引き続き必要です。

これにより、AからB、C、Dへのデータ取得の問題を迅速に解決できます。

最新のデータを取得するには、おそらく完全な差分と最新の差分の両方を復元する必要がありますが、NORECOVERYファイルとSTANDBYファイルを使用してこれを回避することができます(純粋なDBAで最後からdiff復元を試していませんジョブ)。

さらに、差分バックアップは進行中のログバックアップとは無関係であるため、高可用性/ DR要件を「コードモンキーにデータを取得する」要件から分離できます。

ポリシーまたは監査による毎日の完全バックアップがある場合、いくつかの問題が発生しますが、ログの復元の前に差分復元を適用して、復旧時間を短縮できます。バックアップとは異なり、差分とログの復元は相互作用します。

ほとんどのベースをカバーしたことを願っています...


Hyperbacは非常にスマートな圧縮ツールであり、ファイルをOSレベルで処理するため、バックアップを圧縮し、すべての保守計画とジョブを変更せずに残すことができます。何も変更したくないが、ボックスに新しいツールを追加するだけなら、間違いなく試してみてください。私はそれをSQL 2005で使用し、愛用していることを知っています。しかし、より多くの圧縮のために、彼らはまだいくつかの手作業を行うべきです...
マリアン

@マリアン私は...ブレントOがちょうど必要なコンサルタントであると確信しています。
jcolebrand

@Marian:圧縮には制限があり、圧縮率が高いほどCPU /時間は長くなります。最小のバックアップは、圧縮ツール/フォーマットに関係なく、最小の入力=差分を持つものです。時間/比率についてのリンク1:極端な圧縮を行うことができますが、時間がかかり、30 GBの圧縮ファイルの場合はFTPよりも時間がかかる可能性があります
...-gbn

商用ツールは、MSツールよりも圧縮率が高く、構成可能な(操作に割り当てられたCPUなし)ことで、暗号化やその他の機能を提供します。私は必ずしもそれらを賞賛するわけではありません(それほど安くはありません)、それらのいくつかは環境を変えずにSQL Serverの現在のバックアップ(full、diff、log)と組み合わせて使用​​できると言いました必要/欲しい。@jcolebrand:わかった、ありがとう!
マリアン

13

バックアップをネイティブの2008圧縮よりも圧縮するのに役立つ商用製品があります。例としては、レッドゲートのバックアップHyperbacIdera SQLのバックアップライトスピードバックアップ

MSに同梱されているもの以外のツールで処理する必要がある高CPUおよびファイルタイプの追加コストが伴います。これは、ファイルを透過的に処理し、zip互換のファイルを作成できるようにする(また、サードパーティのツールを必要としない)Hyperbac(現在Redgateに買収されている)圧縮を除きます。

ただし、手動でクリーンアップすることで取得できるサイズのファイルを提供するツールはありません。Brent Ozarの記事「SQL Serverバックアップを実際に圧縮する方法」をご覧ください。2。


RedGate FTW !!!!
ホーガン

@ホーガン:あなたがそれらを打つことができない場合、それらを購入します。これは非常に良い例です:-)。とにかく、現在Redgateの一部であり、データベース圧縮を処理する両方の製品が正常に共存できます。
マリアン

12

質問1:データベースからインデックスのような非必須データを除去するのと同様のバックアップサイズを提供する商用バックアップ製品はありますか?

いいえ。多くのバックアップ圧縮製品(Quest LiteSpeed、Red Gate SQL Backup、Idera SQLSafe、Hyperbacなど)がありますが、それらはすべて、SQL Serverの通常のバックアッププロセスの出力を圧縮するだけで機能します。それらのいくつかはトリッキーな方法でそれを行います-HyperBacとLiteSpeedのエンジンオプションはファイルシステムフィルタードライバーであり、ディスクへの途中で出力をインターセプトしていますが、これらすべての製品の最終結果は単なるバックアップ出力です。

質問2.この追加データをすべてダンプする包括的なスクリプトはありますか?

時間が経つにつれて、データベースにさらに多くの履歴を保持するようになると(4、5、8、10年)、すべてのインデックスデータをリッピングしてWANの反対側で再構築する必要がなくなります。代わりに、変更したデータを転送するだけで、そこからログ配布が始まります。

これはすべきではありません。

しかし、実際にこれを実行したい場合(そして、いいえ、私はあなたを助けません)、ファイルグループのバックアップでそれを行うことができます。データベースファイルグループを次のように設定します。

  • プライマリファイルグループ(必須ですが、空のままにします)
  • ClusteredIndexファイルグループ(クラスター化インデックスをここに配置)
  • ExtraneousCrapファイルグループ(他のすべてをここに配置)

最初の2つだけの圧縮ファイルグループバックアップを開始し、それらの小さいものをDRサーバーにコピーします。SQL Server 2008のファイルグループのバックアップおよび復元機能を使用して、PrimaryおよびClusteredIndexファイルグループを復元するだけで、すぐにクエリに使用できるようになります。ExtraneousCrapファイルグループをオンラインにするまで実際には機能しませんが、そのための厄介なトリックがあります。MVPDeep Divesの本には、ExtraneousCrapファイルグループとすべてを作成するためのシステムテーブルの編集に関する章があります。関連付けられたインデックスの このトリックは危険であり、完全にサポートされておらず、ひどい考えの地獄です-しかし、ちょっと、あなたはそれを求めました。


10

ログ配布のようなものに切り替えることをお勧めします。基本的に、24時間で30ギガを送信するのではなく、1日の終わりに短い時間枠で送信するという選択肢がある場合、ネットワーク速度はそれほど問題になりません。

また、低速ネットワーク上の開発者は、FTPまたは任意のプロセスを使用して、より便利なサイズのファイルをダウンロードできます。また、終日ダウンロードするジョブをセットアップすることもできます。

SQLサーバーの圧縮に加えて、litespeedやredgate sqlbackupのような高圧縮のサードパーティツールを実装できます。

さらに、ネットワーク側では、DRサイトへのスループットを最適化できるネットワークデバイスをインストールできます。過去に、Riverbed Applianceを使用して、FLからVAへの90GBのバックアップを3時間以内に正常に取得しました。

別のオプションは、インデックスなどを除く特定のファイルグループをバックアップすることですが、それでもクラスター化インデックスにとどまっており、データベース構造によっては、このアプローチのメリットよりもコスト/手間がかかる場合があります。

ありがとう


7

それにお金があり、あなたのアーキテクチャがそれを許しているなら、Riverbed technology(http://www.riverbed.com/us/)のようなものにチェックインしてください。このようなアプライアンスとレプリケーションまたはログ配布のシナリオを組み合わせることをお勧めします。

そうでない場合は、いくつかの質問。数か月ごとに更新する必要がある場合、帯域幅に関する懸念があるのはなぜですか?転送について心配する必要があるのは一度だけで、そこから完全なバックアップを取得してローカルに復元するだけですか、それとも設定が間違っていますか?

別の可能性は、それらすべてのデータを取得することを心配する代わりに、Citrix環境をセットアップし、それらをリモートに置くことです。Citrixを使用すると、クライアント/ホスト間の最小帯域幅要件があり、ローカルで必要なことを実行でき、それらの変更を他の場所に複製する必要がなくなります。ちょうど私の0.02ドル


これについてもう説明できますか?これはStackExchangeチームにとって適切なものであることを知っているので、彼らはより詳細なチュートリアルを
好むと確信してい

母はここで考慮すべきことがたくさんあります。どの点について詳しく説明していただけますか?
SQLChicken

複製/ログ配布は、私が考えていたものでしたが、私はそれが疑うので、2週間前のようなものだった、今重要。また、Citrixについての一部を読み直しただけで、その時点で(今のところ)Citrixがそうしていないことを伝えることができました。彼らは、DVCSインフラストラクチャを使用してローカル開発を行うだけで、テスト/テスト/確認/確認のためにデータを必要としています。また、おそらくデータダンプ用です。
jcolebrand

わかった。他の人がすでに言っているように、RedgateやQuestのようなサードパーティベンダーは、ニーズを満たすのに役立つ非常に優れたバックアップ圧縮ツールを持っています。別の潜在的なソリューションはSQL Azureです。現在、データベースのサイズ制限は50GBですが、ロードされるデータの料金が引き上げられているため、費用対効果の高いソリューションになる可能性があります。
-SQLChicken

4

SQLトランザクションレプリケーションを使用します。最初の読み込みには時間がかかりますが、いったん起動して実行すると、必要な情報のみを送信できます。たとえば、更新されるテーブルが3つまたは4つしかない場合、それらの3つまたは4つのテーブルのみを送信できます。

配送するものを選択することもできます。FK、クラスター化/非クラスター化インデックス、テーブルパーティションスキーム、ストアドプロシージャ、およびTONSなど。

http://www.sql-server-performance.com/2010/transactional-replication-2008-r2/

これがオプションでない場合は、REDGATE SQL BACKUP- http://www.red-gate.com/products/dba/sql-backup/を使用できます。以前にこれを使用し、最大90%の圧縮レベルを得ました。SQLよりもずっと小さい。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.