【保存版】2013年度発売全パチスロアプリ一覧(iPhone,iPad)

【SQLServer】知ってた?トランザクションログバックアップが、ログ削除の方法です。

SQLServerデータベースは大規模システムでの運用が
考慮されており、データベースが数10Gとなっても大丈夫です。(多分)

データベース容量が非常に大きい場合、
都度都度データベースの丸ごとバックアップを
とるというのは現実的ではありません。

ではどのような運用をするかというと、
定期的に完全バックアップ(丸ごとのバックアップ)を行い、
それより短い間隔でトランザクションログをバックアップする
運用が一般的かと思います。(差分バックアップもとりつつですが。)

●復旧モデルについて


どのようなバックアップが必要であるかは、
データベースを復旧させる際、どこまで復旧させたいかによります。

SQLServerには、完全、一括ログ、単純の3種類の復旧モデルが存在します。

デフォルトは完全復旧モデルとなっています。
完全復旧モデルでは、トランザクションログの仕組みを
利用して障害発生時点まで復旧できます。

それに対して単純復旧モデルは、
こちらは名前のとおり、復旧時、最後にとった完全バックアップの
状態までに戻して復旧完了とするモデルです。要件にもよりますが、
こちらで十分なケースもあるかと思います。

一括ログモデルについてはちょっと特殊なので割愛。

復旧モデルの確認・変更方法については以下
データベースの復旧モデルの表示または変更 (SQL Server)

●トランザクションログとは


データベースへの変更操作情報は、トランザクションログとして
記録されています。 変更操作情報とは、insert、update等の
SQLをイメージするとわかりやすいかと思います。

復旧時は、まず完全バックアップをリカバリし、
その後、トランザクションログを反映させることにより、
データベースをほぼ最新の状態に戻すことが可能です。

完全復旧モデルを成り立たせる根幹の仕組みとなります。

●トランザクションログの切捨て


このトランザクションログですが、運用していると
どんどんたまっていきます。
(ちなみに完全復旧モデルでのお話です。
単純復旧モデルでは勝手に切り捨てられます。)

削除されることがなければ、いつかはディスクの容量を
超えてしまうでしょう。
お客様環境でこんなことが起こった日には、
「あちゃー(滝冷汗)」もんです。

では、不要になったトランザクションログは
どのタイミングで切り捨てられるのでしょうか?

それは、「トランザクションログをバックアップした時」となります。

バックアップ時に不要なログファイルを切り捨てるんですね。

トランザクションログの切捨ての詳細については以下。
トランザクション ログの切り捨て(SQL Server)

加えて、チェックポイントされているいることが必要です。
(こちらはデフォルトでは1分間隔ぐらいで行われているようなので
あまり神経質になる必要はないとは思います。念のため)

チェックポイントとは、変更情報をデータベースファイルに
反映させる処理となります。
トランザクションログは即時に物理ファイルへ書き込まれます。
対してデータベースへは、
変更をメモリ上で処理しておき、物理データベースファイルには
パフォーマンス向上のため遅延書き込みを行います。
このため、ある時点では、DBの内容と
物理データベースファイルの内容とが異なる場合があります。
チェックポイントとはこの整合性をとる処理となります。

チェックポイントにより、トランザクションログとDBの整合性が
保障され、保障されたトランザクションログがすでに
バックアップ済みであればはじめてトランザクションログが
切捨てられます。

<おまけ:チェックポイント発生のタイミング>
トランザクションログの切捨て条件であるチェックポイントは、
いつ発生するのでしょうか?
(参考)
チェックポイントとログのアクティブな部分

チェックポイントには自動的に発生するものと、
手動操作により発生するものがあります。
手動操作の主要なものでは、データベースのバックアップ時、再起動時。
自動では、
以下のどちらかのタイミングとなります。
・ログが全体の70%に達したとき。
・[復旧間隔] オプションで指定された時間内に処理できるとデータベース エンジンが推定したログ レコード数に達したとき。

デフォルトだと、1分間隔程度のようです。
復旧間隔を設定する方法 (SQL Server Management Studio)
復旧時間が 1 分未満で、アクティブなデータベースのチェックポイントは約 1 分間隔になります


●(最後に)トランザクションログの無意味な肥大化を避けるために


まず、障害発生時に直前の状態まで戻す必要がなければ、単純復旧モデルを
選びましょう。これでトランザクションログについては気にする必要は
なくなります。
完全復旧モデルで運用するならば、データベースのバックアップ処理と同様、
トランザクションログのバックアップをとりましょう。
完全復旧モデルを採用するなら、トランザクションログの
バックアップは不可欠かと思います。
(とらないと完全復旧モデルを採用している意味がない)

ありがちなのが、開発環境で知らないうちにトランザクションログが
いっぱいとなっていたケース。
こうなってしまった場合、データベースは読み取り専用となってしまいます。
OSが正常動作しているうちに対応しましょう。
満杯になったトランザクション ログのトラブルシューティング (SQL Server エラー 9002)

あと、一度肥大化してしまったトランザクションログの物理ファイルサイズは
ログを切り捨てても小さくなりません。別途、トランザクションログを
圧縮する処理が必要です。
トランザクション ログの圧縮

トランザクションログファイルをバックアップするための容量が
ない場合は、復旧モデルを「単純」に変更して強制的に切り捨てる方法も
あります。
SE の雑記 | SQL Server 2008 以降のログの切り捨て
切捨て後、トランザクションログの圧縮をすれば物理ファイルサイズも
小さくなります。


以上、簡単ではありますが、バックアップとトランザクションログについて
まとめてみました。

(おすすめな書籍紹介)
SQLServer2005用ですが、2008以降でも参考になるかと思います。
インストール、バックアップ、復旧、ジョブ、データベースメール等の
業務で使いそうなものがほとんど押さえられています。
わかりやすく丁寧なのでSQLServerがはじめての人に超お勧めです。
>>SQL Server 2005でいってみよう 運用管理編 (DB Magazine SELECTION)


一歩すすんだイケてるティーエスキューエルラー(T-SQLラー)になれます。
高いですが、サンプル豊富。
>>SQL Server 2005 ストアドプロシージャプログラミング (SQL Server Books)


SQL Server 2012 Developerは、5072円。
開発ライセンスなので業務利用できませんが、フル機能!
無償エディションではできないジョブ周りの検証もできますよ。
>>SQL Server 2012 Developer 日本語版

[Google PR]

Twitterはじめました。プラプラ | Twitter

<< 【SQLServer】エラー処理でのTRY...CATCHはコンパイルエラーをキャッチできない。
【デジモノ】XperiaAって「エクスペリアエース」と読めました?ケースや保護シートがもりもり発売開始。 >>

[関連エントリ 最新5]

[Google PR]


[最新エントリ 5]

>>トップページ
人気カテゴリ:AccessTips SQLServer CakePHP iPad
過去ログ(全記事一覧)

コメント
コメントする(お気軽にどうぞ)









この記事のトラックバックURL
トラックバック
カテゴリー
プロフィール
お問い合わせ
Powered by NINJA TOOLS
links
recent comment
  • 【Access】vbaでhmacが正しく計算できた!!
    まさ (06/01)
  • 【Access】AccessReportMailメール送信時のポートを25から587へ
    わら (05/31)
  • 【SQLServer】超シンプル!再帰CTE(共通テーブル式)で連続データを作成する。
    sazi (09/08)
  • 【あまっちゃお】Amazon商品検索「あまっちゃお」プロジェクト始動。Ver00-06-00 β
    カメちゃん (07/31)
  • 【Access】あれ?DoCmd.RunCommand acCmdSaveRecordの内部仕様が変わった?
    花姉 (03/17)
  • 【Access】実行中のmdb(自分自身)をバックアップコピーする方法。
    亀 (02/06)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    管理人 (01/31)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    あ (01/31)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    K (11/13)
  • 【VAIOP】VaioXと両持ちできるものすっっごくマニアックなケース。当たり前ですが在庫限り。(笑)
    管理人 (08/04)
recent trackback
  • 【Access】2003安全でない式がブロックされていませんとセキュリティーレベル。
    awgs Foundry (10/29)
  • 【VAIOtypeP】液晶保護シートは、新車のカバーではない。レイアウト社液晶/天板保護フィルムセットRT-VP1FS1
    XMLがキライ。 (04/09)
  • Vistaから、LinkStation(NAS)にアクセスできません。
    そのほかいろいろ (09/06)