Date: Thu, 9 Nov 2000 11:22:58 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です
件名を変えました
トランザクションログを一言で説明すれば、データベース
に対するデータの更新情報を時系列で管理しているファイル
です。
例えば、今週の月曜日にデータベースのバックアップを行い
トランザクションログファイルには、月、火曜日に実施した
更新情報が保存されていれば、
手順1:月曜日のデータベースを復元する
手順2:トランザクションログの中の月曜日と火曜日の更新情報を
データベースに対して反映させる
このような操作を行えば、火曜日終了時点のデータベースが
得られます
過去に実施したデータベースのバックアップファイルと、そこから
時系列的に保証されたトランザクションログファイルが存在すれば
過去の任意の時刻のデータベースの状態を復元することができる
わけです。
これが、STOPATオプションの機能です。
ただ注意するのは、データベースのデータ操作命令の中に、『ログに
記録されない操作』という命令が存在します。
これを許すと、ログファイルの時系列管理がそこで切れてしまい、もう
役立ちません。select into/bulk copy という命令を実行してはいけません。
MSDEの標準では、これを許していますので注意してください
またログを使わないデータベースになっています。
SQLServer7の問題は、牧さんが言われているように、データベースの
データファイルが破壊を受けたときにそのトランザクションログのバック
アップが出来ないという問題でした。
一般的に、データベースのデータファイルとトランザクションログファイルは
物理的な異なる装置(HD)に記録します。それは同じHDだと、HDが壊れた
ときに、全部のファイルが壊れて大変危険です。
データファイルが壊れたときには、まだ時系列情報(ログ)の中でバック
アップしていない部分がありますので、その部分のバックアップを取り出せば
過去のデータベースを復元してトランザクションログを適用することによって
壊れる直前のデータベースに復元できるわけです。
このときも、トランザクションログの時系列管理が守られていることが
重要です。
理屈ではこうなのですが、SQLServer7は残念ながらその機能に問題が
あって、データファイルのある重要なファイルが破壊されると、ログの
バックアップができなくなります。
この問題がSQLServer2000では改善されたので、SQLServer7よりも
2000を使うのがよいわけです。
SQLServer7はちょっと勇み足で出てきた製品で、SQLServer2000が
本命のデータベースサーバーだと思います。
それに伴いMSDEも2000互換のエンジンが配布されると思います
---------------------------------------------------
(株)日本技術ソフト開発 堀川 明
mailto:who@example.ne.jp
mailto:who@sub.example.jp
http://www.horikawa.ne.jp/msde/
http://www.kt.rim.or.jp/~pwp/
11月09日(木曜日) 11時20分記
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|