[Q&A]
そこが知りたい
Windows Server Update Services(第7回)

Q1 WSUS 3.0のバックアップと復元方法は?(2)―復元方法

Microsoft MVP
Windows Server System - Microsoft Update Services
創報 山近 慶一
2008/02/14

設定(データベース)の復元

 データベースに保存されているWSUSの設定を復元するには、次の手順を実行する。

1.必要に応じてWindowsやIIS、Report Viewerなどを新規または再インストールする。コンピュータ名やIPアドレスなどは、バックアップ時と異なっていてもよい。

2.[更新元の選択]画面と[データベースのオプション]画面のオプション設定に注意して、WSUSサーバ・コンポーネントを新規または再インストールする(画面1画面5)。これによって、データベース・インスタンスやSUSDBの作成、IISのメタベースの設定、コンテンツ・フォルダの作成などが自動的に完了する。

■[更新元の選択]画面(前ページの画面1
  [更新プログラムをローカルに保存する]チェック・ボックスの選択は、バックアップ時と同じにする。コンテンツ・フォルダのパスは異なっていてもよい。

■[データベースのオプション]画面(画面5)
  使用するデータベースは、バックアップ時と同じにする。データベース・ファイルのパスは異なっていてもよい。

画面5 データベースのオプションの設定
[データベースのオプション]画面では、バックアップ時と同じデータベースを指定する。
バックアップ時と同じデータベースを選択する。インストール先のパスは異なっていてもよい。

3.WSUSサーバのインストール後に[Windows Server Update Services設定ウィザード]が起動するので、[キャンセル]ボタンをクリックして終了する。データベースを復元すれば設定も自動的に復元されるので、設定ウィザードを操作する必要はない。

4.「Microsoft SQL Server Native Client」と「Microsoft SQL Server 2005コマンドライン・クエリ・ユーティリティ」をインストールして、コンテンツ・フォルダとデータベースのバックアップ・ファイルを復元する。ここでは「E:\Restore」フォルダに「SUSDB.dat」ファイルを復元した(画面6)。

画面6 バックアップ・ファイルの復元
任意のフォルダにデータベースのバックアップ・ファイルを復元する。更新プログラム・ファイルもコンテンツ・フォルダに復元しておこう。
バックアップ・ファイルを復元するために、任意のパスにフォルダを作成する。ここではE:\Restoreフォルダを使用している。
作成したフォルダにバックアップ・ファイルを復元する。

5.コマンド・プロンプトを開いて、次のコマンドを1行で実行する(画面7)。SUSDBデータベースはWSUSサーバ・コンポーネントが使用中で上書き復元できないため、一時的にシングル・ユーザー・モードに変更してから復元するのがポイントだ。バックアップ時と同様に、「E:\Restore\SUSDB.dat」の部分がバックアップ・ファイルのパスなので、環境に合わせて書き換えてほしい。

Sqlcmd -S \\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query -E -Q "USE master ALTER DATABASE SUSDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE RESTORE DATABASE SUSDB FROM DISK=N'E:\Restore\SUSDB.dat' WITH REPLACE ALTER DATABASE SUSDB SET MULTI_USER"

画面7 データベースの復元の実行
Sqlcmdコマンドを実行して、データベースの復元を実行する。
このようにSqlcmdコマンドを1行で入力する。シングル・クオーテーションやダブル・クオーテーションの対応に注意しよう。
コマンドの実行結果。正しく復元が完了すると、このようにページ数と復元時間が表示される。

 画面8のように、「アクセスが拒否されました。」というエラーが発生して復元操作が失敗したときは、データベースのバックアップ・ファイルに設定されているNTFSアクセス権の不足が原因なので、親フォルダと合わせて「Everyone」に「読み取りと実行」アクセス権を与えるとよい(画面9)。

画面8 データベースの復元に失敗した例
データベースのバックアップ・ファイル(画面では「C:\Restore\SUSDB.dat」ファイル)のNTFSアクセス権が不足していると、復元操作が「アクセス拒否」で失敗してしまう。
「Operating system error 5」は「アクセスが拒否されました。」というエラーである。

画面9 復元するフォルダやファイルのアクセス権の設定
Windows Internal Databaseがデータベースのバックアップ・ファイルや親フォルダにアクセスできるように、「Everyone」に対して「読み取りと実行」アクセス権を与える。
「Everyone」を追加する。
「Everyone」に対して「読み取りと実行」(フォルダの場合はさらに「フォルダの内容の一覧表示」「読み取り」)のアクセス権を付与する。

6.データベースの復元が完了したら、WSUSの管理コンソールを開いて設定を確認する。また、復元時に使用したバックアップ・ファイルやフォルダを削除しておこう。

復元後のチェックと修正

 WSUSサーバのコンピュータ名やIPアドレスを変更した場合は、WSUSクライアントに適用されるグループ・ポリシーを修正しよう。WSUSサーバ自身がWSUSクライアントになっている場合は、WSUS管理コンソールで[コンピュータ]を開いて、古いクライアント情報も削除しておこう。

 また、バックアップ時と異なるドライブ構成で復元した場合は、コマンド・プロンプトで次のコマンドを実行して、コンテンツ・フォルダを復元後の環境に適合させる必要がある(画面10)。移動元のコンテンツ・フォルダは存在しないため、更新プログラム・ファイルのコピーはできないので、「-skipcopy」オプションは必須だ。

"%ProgramFiles\Update Services\Tools\Wsusutil.exe" movecontent <移動先のパス> <ログファイル名> -skipcopy

画面10 コンテンツ・フォルダのパスの修正
バックアップ時と異なるドライブ構成で復元した場合は、Wsusutilコマンドを使って、コンテンツ・フォルダを正しいパスに修正する。
Wsusutilコマンドを1行で実行する。実行ファイルのパスにスペースが含まれるので、ダブル・クオーテーションで囲む必要がある。
コマンドの実行結果。「コンテンツの移動が正しく完了しました。」と表示されれば、移動操作は正常に終了している。

 コンテンツ・フォルダのパスはデータベースに格納されていて、IISの仮想ディレクトリ設定とも連動している。そのため、誤ったパスのまま放置すると、WSUSクライアントに更新プログラム・ファイルを提供できないばかりか、同期も正常に完了しないので注意しよう(画面11)。End of Article

画面11 コンテンツ・フォルダのパスが誤っている場合の例
コンテンツ・フォルダのパスが誤った状態で同期を実行すると、いつまでも「ファイルを必要とする更新プログラム」の数が減らず、「0.00MBダウンロード済み」のままになる。
「ダウンロード状態」には、ダウンロード予定の更新プログラム・ファイル数とそのファイル・サイズが表示される。コンテンツ・フォルダのパスが誤っていると、ダウンロード済みのサイズがいつまでも「0.00 MB をダウンロード済み」のままとなる。


 INDEX
  [Q&A]そこが知りたい Windows Server Update Services(第7回)
    Q1 WSUS 3.0のバックアップと復元方法は?(1)―バックアップ方法
  Q1 WSUS 3.0のバックアップと復元方法は?(2)―復元方法

 運用


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間