web-dev-qa-db-ja.com

データベース全体をアーカイブする方法は?

もう使用しない予定のデータベースがありますが、それは長期間保持する必要があります。本番システムから削除したいのですが。私の目標は、そのデータベースをアーカイブするときにストレージスペースを節約することです。完全に忠実に保存する必要があるため、BCPエクスポートでは不十分です。また、完全に保存するために生成されたSQLスクリプトを信頼しません。

2つのオプション:

  1. 非圧縮バックアップを取り、7-Zipを使用して圧縮します。
  2. データベースをデタッチし、7-Zipを使用してMDFおよびLDFファイルを圧縮します。

オプション2は安全ですか?どちらが望ましいですか?ここで重要な考慮事項は何ですか?

2
usr

インデックス作成DDLステートメントを保存し、インデックスを削除して、選択したアーカイブパスの前により多くのスペースを節約できます。ここでの縮小とFILL FACTORに関するその他のアドバイスがあります: http://www.brentozar.com/archive/2010/02/how-to-really-compress-your-sql-server-backups/

オプション2を使用して、SQL組み込みのバックアップ圧縮よりも良い結果を得ました。常にDBCC CHECKDBから始めてください!また、7-Zipの最適な圧縮設定で圧縮(解凍)するには時間がかかるため、このパスを使用すると復元時間が長くなることを考慮してください。

4
Razvan Zoitanu

あなたがあなたが復元して直接使用できるバックアップがあることを確認するには、私は:

  1. メディアを書き込む前にバックアップを確認し、チェックサムを実行してバックアップを圧縮するオプションを使用して、ネイティブフルバックアップを実行します。
  2. バックアップをテストします。テストインスタンスに復元し、DBCC CHECKDBを実行する
1
Poldba