MS-SQL Server2000でのトランザクションログ切捨てについて

VB6,VBA,VBS,EXCEL,DOS,BAT,WSH,WORDの小技メモ

HTML/ CSS/ CGI-Perl/ JavaScript/ JavaApplet/ AccessUp/ Internet/ EnglishLearn/ ちゃいちゃん天使/ 天使メッセージ/ 飯田ワールド/ 結城ワールド/ プロフィール/ WEB相談室/ WEBアンテナ/ 燈明日記/ Perlノート/ 漢字起源/ yahoo

はじめに

本ページは、ウインドウズ系全般のティプスメモです。

そう、はじめはVB系のティプスメモだったのですが…いつの間にか、ウインドウズ系全般のティプスメモになってしまいました。

ちなみに、ティプス(Tips)とは、マニュアルに書かれていない技法や裏わざのことですが、本ページでは、私が経験してこれはと思ったノウハウのメモになっています。

尚、以下は本サイトの最新情報(ブログ)です。

それでは、本ページが何かのお役に立てれば幸いです。ごゆっくりご覧ください。

◆MS-SQL Server2000でのトランザクションログ切捨てについて

PC上にあるMS-SQL Server2000データベースのデータは、実は拡張子が『.mdf』というファイルに格納されています。 このファイルをデータファイルと呼びます。

一方、『.mdf』とペアで『.ldf』というファイルもあります。 こちらの『.ldf』は、トランザクションログファイルと呼ばれ、トランザクションの履歴が格納されています。 トランザクションログは、ロールバックや障害時のデータ復旧に利用されます。

そして、システムが稼動し始めて、数ヶ月かするとディスク容量がほとんどなくなってしまうことに気がつきます。 すると、えらく大きくなったトランザクションログファイルに遭遇することになるのです。

そう、トランザクションログファイルは、復旧モデルがシンプル以外ではディスクのある分、どんどん増え続けるのです。 したがって、普段からトランザクションログファイルに対して、容量切捨て必要かの監視が必要なのです。

容量切捨ての解決策としては以下の3つです。

  1. トランザクションログファイルのバックアップを定期的に取る。すると一緒に切捨てられる。
  2. 手動切捨てコマンドを実行する。(BACKUP LOG データベース名 WITH TRUNCATE_ONLY)
    • http://msdn.microsoft.com/library/ja/tsqlref/ts_ba-bz_35ww.asp?frame=true
    • http://hehao1.seesaa.net/article/8658612.html
  3. 復旧モデルをシンプルにする。(ただし、障害時に完全復旧ができなくなる可能性が大きくなる)

実は、上記を実行しても使用済みエリアを空エリアにするだけで、ディスク空き容量の物理サイズは、変わりません。 空エリアを、物理的に削るには、『DBCC SHRINKFILE』コマンドを使用します。

おわりに

以下のページには、すべてのTIPSがあります。もしよろしければ、どうぞ!

尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくVB-TIPS掲示板へご指摘ください。

人のよいところをどんどん見つけよう