SQLで確認する場合には、以下のクエリを実行します。
SELECT name, recovery_model_desc FROM sys.databases WHERE name = '(データベース名)';
結果は以下になります。
| name | recovery_model_desc |
|---|---|
| (データベース名) | (復旧モデル) |
復旧モデルは以下があります。
| 値 | 値(数値) | 復旧モデル |
|---|---|---|
| FULL | 1 | 完全復旧モデル |
| BULK_LOGGED | 2 | 一括ログ復旧モデル |
| SIMPLE | 3 | 単純復旧モデル |
SQL Server データベースの復旧モデルを変更する手順を紹介します。
Microsoft SQL Server Management Studio を起動し、データベースサーバーに接続します。
接続後、左側のツリービューで[データベース]ノード内の復旧モデルを変更するデータベースのノードを選択します。右クリックしポップアップメニューを表示し、[プロパティ]メニューを選択します。
[データベースのプロパティ]ダイアログが表示されます。左側の[ページの選択]エリアの[オプション]をクリックして選択します。
[オプション]ページを選択すると下図の画面に切り替わります。
ウィンドウ上部の[復旧モデル]のコンボボックスを開き、変更したい復旧モデルを選択します。
設定後、ダイアログ下部の[OK]ボタンをクリックし設定を反映させます。設定反映後ダイアログは閉じられます。
それぞれの復旧モデルは以下の動作になります。
| 復旧モデル | 名称 | 動作 |
|---|---|---|
| 完全 | 完全復旧モデル | ログのバックアップをとるモデルです。ログをバックアップすることで任意の時点にデータベースを復元できます。 |
| 一括ログ | 一括ログ復旧モデル | ログのバックアップをとるモデルです。最後のバックアップ時点のみしか復旧できませんが、トランザクションログのサイズが小さくて済みます。 |
| 単純 | 単純復旧モデル | ログのバックアップをとらないモデルです。最後のバックアップ以降の変更は保護されません。データベースがクラッシュするると最後にバックアップをとった時点でのリカバリとなります。こまめにバックアップをとっていないと、クラッシュ時に多くのデータが失われるデメリットがありますが、トランザクションログが再利用されるため、データベースのサイズが小さくて済む、トランザクションログの管理をしなくてよいなどのメリットがあります。 |