geek.conf.2

あるエンジニアの備忘録

WSUSデータベースを完全復旧モデルにし隊

暇。僕です。

WSUSのデータベースにMS SQL Serverを使用しないとWindows Internal Databaseとかいう意味分からんヤツになります。でもたいていみんなこれ使うんじゃないかな。わざわざSQL Serverなんて管理うぜーし。

んで、WSUSデータベースを市販のバックアップソフトでバックアップ取るときに『データベースが完全復旧モデルじゃないから直近まで復旧出来ないよー』とかいう警告またはエラーをもらうことになるかもよ?

じゃあどーやってWindows Internal Databaseを完全復旧モデルにするのさ?ってのが今回のお話。

まずは復旧モデルについてな。
SQL Serverの言葉なんだけど簡単に言うと復旧モデルとはトランザクションログのバックアップを必須とするのかどうかを決定するリストア設定項目です。

RDBMSのバックアップ/リストアは

1. バックアップ取得以降のクエリ処理をログ(トランザクションログ)に残しているかどうか

2. トランザクションログをバックアップするか

が大事になり、上記1,2を行えばトランザクションログを使用して障害発生直前までリカバリ出来ます。
ただし1,2を行わない方がリソースの削減にもなるんですね。だから行う/行わないはシステムの要件によります。

復旧モデルには以下の種類がござる。

単純・・・上記1をしない
完全・・・上記1,2をする
一括ログ・・・上記1,2をするんだけど一括操作(SELECT/INSERT INTOとか)のパフォーマンス向上のためにトランザクションログへの記録を最小限に行うモデル

で、Windows Internal Databaseはデフォルト単純モデルなんでこれを変えます。
SQL Serverで復旧モデルを変える方法はSQL Server Management Studioを使用しますがWindows Internal Databaseも同様にこれを使用します。エディションはExpressでもいいと思うよ。

SQL Server Management Studioを起動してサーバ名に以下を入力します。

\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query

これでデータベースSUSDBにアクセス出来るはず。

Have a nice WSUS life !!