MSDE FunClub 現在までのアクセスカウント数 最終更新日 : 2000/03/25
Microsoft Data Engine FunClub
Since 2000.03.25

Accessプロジェクトから
新しいデータベースを作成するときの注意

トランザクションログファイルを使用しないログ切り捨てモードとなっています
*技術書の文責は堀川にありますので、お問い合わせはまでお願いします*
マイクロソフト社へのお問い合わせはできません


 Access2000のAccessプロジェクトから、MSDEのデータベースサーバー側に新しいデータベースを新規に作成します。
 例えば SampleDB という名前のデータベースを作成します。作成手順のオペレーションは、ここを見てください。

 さて、MSDEデータベースサーバー側に作成された新しいデータベース SampleDB のデータベースオプションを表示します。
 このオプション表示は残念ながらAccessプロジェクトで行なうことはできません。SQLServer7.0に付属する Enterprise Manager というデータベース管理ツールで行ないます。


【Accessプロジェクトで作成されたデータベースのオプション状態をEnterprise Manager によって表示】

 このオプション設定により、次の重要な事実がわかります。

 Accessプロジェクトから新しく作成されたデータベースの初期状態は、トランザクションログファイルをデータベースの復元操作で利用しないデータベースである。
(この初期状態を手動操作で変えることにより、元の健全な状態に戻すことができます)

 トランザクションログファイルは、データベースの高信頼性を実現する上で絶対に必要なものです。AccessのデータベースからMSDEのデータベースへ移行する目的は、MSDEはトランザクションログ機能が提供され信頼性が高まったためです。

 ところが上記のデータベースオプションの中で、『チェックポイント時のログ切り捨て』のオプションがチェックされております。このオプションを設定すると、トランザクションログファイルをデータベースの復旧では使用しない運用となり、データベースサーバーでは特殊な目的以外はこの設定をすることはありえません。
 逆にこの設定をすれば、従来のAccessデータベース(MDB)と同様な、気軽なデータベースとなります。おそらくマイクロソフト社では今までのAccessデータベースと同じような雰囲気でMSDEのデータベースを使うための配慮だと思います。
 またログ管理のできないユーザがデータベースを使うことによって生じる様々な問題を避ける意味もあるでしょう。特にディスクがパンクする程、ログファイルが巨大化するまで気がつかないユーザも出ることでしょう。

 私は、MSDEユーザの方から BACKUP LOG命令が実行できないという知らせを受けて、初めてこの事実に気がつきました。残念ながら、技術評論社の書籍原稿を書いている最中にも一切知らなかったことを恥じています。

 

 さらに問題なのは、Accessプロジェクトのデータベース管理機能は、データベースオプションの設定値を表示する機能はありません。つまり、このオプションを禁止にして元の状態に戻すことが、簡単にはできません。

 Enterprise Manager は、Accessプロジェクトユーザに対して提供されないのでしょうか?
 Transact-SQL言語を学習させるための、親心でしょうか???

 今回の件でもわかるように、Accessプロジェクトのデータベース管理ツールは貧弱過ぎます。これではAccessプロジェクトからデータベースシステム管理を行なうことは無理だと言えるでしょう。

Homeに戻る


(株)日本技術ソフト開発 責任編集:堀川 明
MSDE FunClubに関するご意見・ご要望等ございましたら、 msdefun@horikawa.ne.jp までご連絡下さい。

MSDE FunClubの運営は、マイクロソフト社とは一切の関係はありません