web-dev-qa-db-ja.com

ネットワークバックアップの代替

私たちの環境では、Always On可用性グループにあるサーバーとスタンドアロンのサーバーがあります。

通常はネットワーク共有にバックアップしますが、最近、データベースが大きくなるにつれて、かかる時間が長くなり、ネットワーク全体の速度が低下することがわかりました。

Ola hallengrenのスクリプトは、圧縮とバックアップファイルの分割に使用されています。毎日の「完全」バックアップのみを実行しています。バックアップは、ネットワーク共有EMC isilonドライブに送られます。

EMC DD Boostに慣れていません。唯一の代替策は、ローカルバックアップを実行してから、同じネットワーク共有にコピーすることです。

上記以外の効率的な方法はありますか?

11
SQL_NoExpert

あなたが言及した代替案が最良の選択のようです。

あなたができることは2ステップのプロセスです:

  • Olaのバックアップソリューションをローカルで使用して、圧縮してネイティブSQLサーバーバックアップを取得します。
  • Robocopyを使用して、ネットワーク共有への転送を行います。これは分離されており、Windowsのスケジュールされたタスクとして実行できます。

これにより、バックアップはローカルになり、高速になります。より多くのディスク容量と明らかに冗長性が必要になります(バックアップディスクに障害が発生した場合-すべてのバックアップを失いたくない)。

または、Max Vernonの推奨に従って、バックアップジョブのステップとしてRobocopyを実行し、バックアップが正常に完了した場合にのみ、バックアップが完了した後できるだけ早くRobocopyが実行されるようにします。ローカルにとどまっている限り、バックアップはデータと同じリスクにさらされます。

また、バックアップを復元できない場合は、定期的に復元をテストしてください。バックアップの目的は何ですか。

また、私の回答を参照してください SQLバックアップチューニング大規模データベース

10
Kin Shah

MAXTRANSFERSIZEまたはBUFFERCOUNT のようなさまざまなノブをいじったり、ファイルをストライピングしたりしてバックアップを調整する方法があります(これは既に実行していることに注意してください)。

問題は、これらのノブに触れると、ネットワークやストレージの制限に達する可能性があり、それらがバックアップ時間に実際に影響を与えないことです。

最初のジョブは、バックアップするストレージをベンチマークすることです Crystal Disk Mark または DiskSpd を使用するまで。これにより、書き込みが最高の速度になることを期待できる速度がわかります。

次にテストする必要があるのは、バックアップ元のドライブからの読み取りです。 backup to NUL を実行すると、バックアップのread部分だけがかかる時間を計ることができます。ディスクに書き込みます。

これらの両方の数値を考慮して、バックアップターゲットがローカルであるかネットワークであるかに関係なく、他のノブをいじって、どれがあなたに最も近いかを確認できます。

15
Erik Darling

いくつかの潜在的なソリューション:

  1. 完全のみから毎週の完全バックアップと夜間の差分バックアップに移行することは簡単なソリューションです。
  2. Olaのスクリプトで微調整できるパフォーマンス関連のパラメーターは多数ありますが、これらを微調整して必要なパフォーマンスを得ることができる場合があります。

    • BlockSize
      物理ブロックサイズをバイト単位で指定します。

      DatabaseBackupのBlockSizeオプションは、SQL ServerのBACKUPコマンドでBLOCKSIZEオプションを使用します。

    • BufferCount
      バックアップ操作に使用するI/Oバッファーの数を指定します。

      DatabaseBackupのBufferCountオプションは、SQL Server BUFFERCOUNTコマンドのBACKUPオプションを使用します。

    • MaxTransferSize SQL Serverとバックアップメディア間で使用される最大転送単位をバイト単位で指定します。

      DatabaseBackupのMaxTransferSizeオプションは、SQL Server MAXTRANSFERSIZEコマンドのBACKUPオプションを使用します。

9
Patrick

多くの可能なオプションがありますが、データベースが大きくなり、フルバックアップに時間がかかるため、おそらく 差分バックアップ を組み込む必要があります、まだ行っていない場合:

差分バックアップの作成は、完全バックアップの作成に比べて非常に高速です。差分バックアップでは、差分バックアップのフルバックアップ以降に変更されたデータのみが記録されます。これにより、頻繁なデータバックアップが容易になり、データ損失のリスクが軽減されます。

私の理解では、Olaのスクリプトは、データベースの変更量に基づいて完全バックアップか差分バックアップかを決定するように設定することもできます ModificationLevelパラメーターを使用

EMC DD Boostを使用しており、ご意見は歓迎しますが、クライアント側の重複除外方法を使用しているため、マルチTBデータベースの完全バックアップでも非常に高速であることがわかりました。 SQL Serverの差分バックアップについて心配する必要がない点まで。実際には、EMC DDを使用することでSQL Serverではなく、差分バックアップを実行しています。複数の宛先ファイルを使用すると、DDBoostでも速度が大幅に向上します。

5
BradC