 |
図31:新しくデータベースを作成する
データベース サーバーに新しいデータベースを作成します。 |
 |
 |
図32:データベースの名前
新しく作成するデータベースの名前はSampleとします。
データファイルやトランザクションログファイルなどの条件はすべて既定値とします。 |
 |
 |
図33:データベースのプロパティ
データベースのオプションを変更するために、データベースのプロパティを表示します。 |
 |
 |
図34:データベースオプションの変更
MSDE
2000で作成されたデータベースの初期状態では、トランザクションログはログの切り捨てモードで動作するためにデータベースの復元操作で支障がでます。復旧モデルを「一括ログ記録」にすることで、トランザクションログが有効に働くデータベースとなります。 |
 |
 |
図35:テーブルの作成
データベースの中に新しいテーブルを作成します。 |
 |
 |
図36:テーブルの列構成
2個の列からなる単純なテーブルを作ります。 |
 |
 |
| 図37:testテーブルにレコードの挿入 |
 |
 |
図38:データベースのバックアップの実行
データベースの完全バックアップを実行し、データベースを復元するときの基点となるバックアップデータファイルを作成します。 |
 |
 |
図39:Sampleデータベースの完全バックアップ
バックアップの出力先データファイルはディスクファイルとします。 |
 |
 |
図40:別の新しいテーブルの作成とレコード挿入
testテーブルと同じ列構成のtest2テーブルを作成して、レコードを挿入します。
重要な点は、このtest2テーブルを作成した事実が、完全バックアップファイルの中には記録されていないことに注意する。 |
 |
 |
図41:Sampleデータベースのデータファイルを破壊する
データベースサービスを止めてから、Sampleデータベースのデータファイルの名前を変更する。データファイルの名前を変えることによって、擬似的にデータベースを破壊したことになる。
Sampleデータベースのデータファイルは、MSSQL\Dataフォルダの中に作成されます。Sample\Data.MDFというファイルがデータベースのデータファイルを表します。このファイルの拡張子を変更します。データベースの一番重要なプライマリ
データファイルが紛失したことになります。 |
 |
 |
図42:データベースが壊れた状態
データベースサービスを再び起動します。ところがSampleデータベースのプライマリデータファイルが紛失して見当たらないので、データベース
サーバーは、このデータベースを開くことができない。 |
 |
 |
図43:Sampleデータベースの復旧に取りかかる
データベースが壊れたときのセオリー通りの復旧作業に取り掛かかります。図39に実施した完全バックアップファイルの中には、データベースが壊れるまでのデータは当然記録されていない。特にtest2テーブルの存在は一切書かれていない。
AccessのMDBデータベースを使ったシステムであれば、過去のバックアップを実行した状態に戻す方法しかない。ところがシビアなデータベースシステムでは過去の状態に戻ることなど一切許されない。
データベースが壊れる直前までの状態に復元するためには、完全バックアップを実施してからデータベースが壊れるまでのデータベースに対する時系列のデータ操作命令を吐き出すことです。それはトランザクションログのバックアップを行なうことで実現されます。
図43では、トランザクションログのバックアップを指示します。バックアップ先は、完全バックアップを実施したデータファイルとします。追加形式で書き込みます。 |
 |
 |
図44:ログバックアップのオプション指定
このような非常事態でのログのバックアップでは、アクティブでないエントリをトランザクションログから削除してはいけません。このオプションを外して、トランザクションログのバックアップを実施します。
実はこのバックアップ操作がMSDEやSQL Server7では実行できなかったのですが、MSDE 2000やSQL Server
2000では実行できるようになりました。 |
 |
 |
図45:データベースを削除
復旧操作を開始するので、壊れたデータベースを削除します。 |
 |
 |
図46:削除処理の確認
バックアップと復元ヒストリは残しておくと良い。復元操作を行うときのヒントとなる。ただこのヒストリに頼って復元操作を行うのは実のところ、あまり感心しない。ちゃんとバックアップ操作記録を書類で残すようにしましょう。 |
 |
 |
図47:データベースの復元を開始する
完全バックアップファイルを最初に復元する。 |
 |
 |
図48:Sample2データベースという名前で復元
バックアップファイルの先頭には、完全バックアップが記録されている。先頭は、バックアップ番号1となる。 |
 |
 |
図49:復元オプションの指定
完全バックアップを復元した後に、トランザクションログの復元を行なう。このため、復旧完了状態に注意する。ログファイルの復元操作が引き続き適用できるようにします。 |