2009-06-06 9 views
2

Webホストでホストされているリモートデータベースがいくつかあります。 mysqlの場合、私は周期的なmysqldumpを使いますが、MSSQLの場合は、bcpを使ってバックアップします。 これらのバックアップを検証するにはどうすればよいですか?バックアップが部分的ではないことを確認するには(パブリックネットワーク上で行われる)データベースバックアップを検証する方法

答えて

1

各テーブルのレコード数を印刷する小さなPHPスクリプト(または同様のもの)を作成し、Webサイトにインストールします。バックアップをダウンロードしたら、それらをローカルデータベースにロードし、同じスクリプトをそのデータベースに対してローカルに実行し、結果をWeb上の結果と比較します。

+0

さらに、スクリプトはデータの健全性のチェックを行い、その結果を比較することができます(データベースの制約で可能なすべてのチェックをまだ行っていない場合よりも)。 – che

2

SQL Serverでは、データベースバックアップファイルの内容を検証するために、VERIFYONLYオプションを指定してRESTOREコマンドを使用できます。

詳細については、以下のオンラインブックリファレンスを参照してください:SQL Serverのバックアップ用

http://msdn.microsoft.com/en-us/library/ms188902.aspx

さらに配慮、では、以前のデータベースバックアップを実行するには、データベースのDBCC CHECKDBを実行するために良い方法と考えられていますデータベースデータの整合性を確実にする/確認するためです。ただし、これは実際のデータベースのサイズに依存しない場合があります。

オンラインブック参考:バックアップデータベース操作の一部として、チェックサムを実行DBCC CHECKDB

も良い方法と考えられています。

参照オンラインブック:BACKUP DATABASE

+0

これはbcpで行われたバックアップで動作しますか?私はデータベースにユーザー権限を持っていますが、 "データベースバックアップファイル"はありません。 –

+0

BCP(Bulk COPY Utility)は、SQL Serverとの間でデータをインポート/エクスポートするためのプログラムです。実際のデータベースバックアップの実行には適していませんが、テーブルデータの完全コピーを取ることはもちろん可能です。 –

+0

BCPの使用の詳細については、http://msdn.microsoft.com/en-us/library/ms162802.aspx –

2

最終的には、バックアップを検証する方法は、復元のためにそれを使用することです。酸テストは次のとおりです。バックアップから完全に機能するデータベースを再作成できますか?理想的には、バックアップが作成されたマシン以外のマシンでもバックアップを作成し、バックアップが作成されたマシンを破壊した後に復旧をシミュレートすることができます。

一部のDBMSでは、このようなリカバリをシミュレートできるツールが用意されています。

+0

バックアップを検証する唯一の方法は、バックアップを使用することです。テストサーバーなどに復元します。これは、バックアップ、テープまたは他のメディア、プロセスなどを証明します。私は、RDBMSが有効なバックアップを報告したが、リストアできなかった状況がありました。 – Karl

+0

復旧をシミュレートできるDBMSを推奨できますか? – sam

+0

IBM Informixには、バックアップを検証できるプログラミング「アーチェッカー」があります。 –

関連する問題