マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

障害復旧に関するオプションの説明。

SQL Server の復旧モデル

SQL Serverでは、「データ消失に対する保護」、「性能」、および「ディスクとテープの容量」
などの要件に対応するための目的とした3種類の「復旧モデル」を用意されている。
このため、「復旧モデル」を選択する場合は、次の業務上の条件とトレードオフを考慮する必要がある。

概要

実行する操作の種類によっては、適切な「復旧モデル」が複数あることもある。
「復旧モデル」を選択した後は、バックアップ、リストアの手順を計画する必要がある。

次に、SQL Server の3 種類の「復旧モデル」の機能概要を示す。

単純 復旧モデル

単純 復旧モデル

完全 復旧モデル

データが最大限に保護される。これらのモデルは「トランザクション ログ」からデータを復旧することができる。

完全 復旧モデル

一括ログ 復旧モデル

データが最大限に保護される。これらのモデルは「トランザクション ログ」からデータを復旧することができる。

一括ログ 復旧モデル

利点、欠点

以下の表に、それぞれの「復旧モデル」の利点と欠点を示す。

復旧モデルデータ消失の影響度性能運用手順の難易度必要なログ領域の容量
単純容易
完全最小普通
一括ログ難しい

設定方法

Management Studio

「sp_configure」による設定

切り替え操作

変更後に、必要に応じて、「トランザクション ログ」をバックアップする。

変更前に、「トランザクション ログ」をバックアップする。

変更後に、DBの「完全バックアップ」を実行する。

「recovery interval」オプション

障害発生後、SQL Serverインスタンスの再起動時に発生する復旧処理の最大時間(分単位)を設定する。

復旧処理では、

が行われる。

SQL Serverの復旧処理の概要

「チェック ポイント」処理

「チェック ポイント」処理とは、「バッファ キャッシュ」中のデータを「データ ファイル」にフラッシュする処理である。
※ データ変更は、コミット、未コミットに関係なく、すべて「トランザクション ログ ファイル」に書き込まれる。

「チェック ポイント」処理

復旧処理(ロールバック、ロールフォワード)

復旧処理では、「データ ファイル」にフラッシュされていなかった変更を「トランザクション ログ」上の記録を元に、「データ ファイル」に反映する。
この際、「コミット」されたトランザクションは、「ロール フォワード」され、「未コミット」のトランザクションは、「ロール バック」される。

ロールバック、ロールフォワード

チューニングの考え方

復旧時間を短くしたい場合

「recovery interval」オプションで復旧時間を短く設定する。
この場合、「チェック ポイント」処理は頻繁に実行されるためI/Oが増える。

I/Oを減らしたい場合

「recovery interval」オプションで復旧時間を長く設定すれば、
「チェック ポイント」処理の間隔を長くすることができる。
このため、I/Oが減少するので、(I/Oに関する)性能向上が期待できる。

設定方法

Management Studio

「sp_configure」による設定

EXEC sp_configure 'recovery interval', n
RECONFIGURE
EXEC sp_configure
GO

nの単位は、分で指定する。

参考

SQL Server のバックアップ


Tags: :データアクセス, :SQL Server, :障害対応


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS