WSUS 3.0 SP2 をデータベースごと移行する方法について


こんにちは。マイクロソフトの美馬です。
WSUS 3.0 SP2 をデータベースごと移行する手順をご紹介いたします。
移行する方法としては、レプリカを利用する方法と、データベース自体を移行する方法の 2 通りがあります。

 

前者(レプリカ利用)は、旧環境と新環境が同一ネットワークに存在する状態となりますので、既存クライアントへの影響が少なくてすむ反面、ホスト名や IP アドレスは別となり、同期される間はネットワーク負荷がかかる可能性があり、オプション設定やクライアント情報は移行できません。

一方、後者(データベース移行)は、旧環境と新環境で同じホスト名や IP アドレスを同じ場合に利用でき、オプション設定なども同時に引き継ぐことができますが、旧環境との並行運用はできません。

どちらの方法でも、移行先・移行元の OS / プラットフォーム (x86, x64) の相違は問いません。

 

レプリカ利用における移行方法は、下記 Blog でご紹介しておりますので、ご参照ください。

WSUS サーバーを新しいハードへ移設したい
http://blogs.technet.com/b/jpwsus/archive/2012/05/07/wsus-server-replace.aspx

 

WSUS 3.0 SP2 をデータベースごと移行する手順は下記のとおりとなります。

<前提条件など>

全データは媒体経由で移行できますので、旧環境と新環境とがネットワークで接続されていなくても問題ありません。

 

<この手順により移行される情報>

すべての情報が移行されます。

 

<作業手順>

1) 移行先に WSUS 3.0 SP2 をインストールしておきます。
※更新ファイルの格納パスなど、インストーラ―に対して指示する設定値は旧環境と同じにしてください。

 

2) データベースとして Windows Internal Database を使用している場合は、データベース 移行用のツールを準備します。

以下のサイトより "Microsoft SQL Server 2005 用 Feature Pack" のコンポーネント 2 点をダウンロードし、 移行元と移行先、両方のサーバーにインストールしてください。

なお、移行元と移行先のいずれか、または両方が SQL Server (製品版) を使用もしくはインストールしている場合は、
SQL Server Management Studio を利用してSUSDB データベースのフルバックアップ、またはフルリストアを行うことができます。

 

Microsoft SQL Server 2005 用 Feature Pack - 2008 年12 月

http://www.microsoft.com/downloads/details.aspx?FamilyID=536fd7d5-013f-49bc-9fc7-77dede4bb075&DisplayLang=ja

下記のコンポーネント2点をダウンロードし、この順にインストールします。

-Microsoft SQL Server Native Client

(x86 プラットフォームの場合はsqlncli.msi 、x64 の場合はsqlncli_x64.msi)

-Microsoft SQL Server 2005 コマンド ライン クエリ ユーティリティ

(x86 プラットフォームはSQLServer2005_SQLCMD.msi、x64 はSQLServer2005_SQLCMD_x64.msi)

 

3) コンテンツの移行

移行元の WSUSContent フォルダの内容を、何らかの方法で サブフォルダごと、移行先の WSUSContent 下へコピーします。

 

4) データベースバックアップ作業:移行元サーバーで下記を実行し、WSUS データベースをバックアップします。

 

4-1) コマンド・プロンプトから下記コマンドを実行し、WSUS サービスと IIS サービスを停止します。

net stop wsusservice

net stop w3svc

 

4-2) 下記コマンドを実行してフォルダを移動します。(この手順はWindows Server 2003 では通常、不要です)

cd "C:\Program Files\Microsoft SQL Server\90\Tools\Binn"

 

4-3) 引き続き下記コマンドを実行し、バックアップを取得します。

<バックアップ先のパス>は データ保存に使用する任意のドライブ名とディレクトリを指定してください。( 例:D:\TEMP )

Sqlcmd -S np:\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query

>BACKUP DATABASE SUSDB TO DISK=N'<バックアップ先のパス>\SUSDB.Dat' WITH INIT, STATS=10

>go

 

※処理完了後、下記コマンドで Sqlcmd を終了します。

>exit

 

4-4) バックアップ取得後、下記コマンドを実行しサービスを開始します。

net start wsusservice

net start w3svc

※ この後、4-3) で取得したバックアップファイルを 移行先サーバーからアクセス可能な場所へコピーし、以下のリストア作業を実施します。

 

5) リストア作業:移行先サーバーで下記を実行します。

 

5-1) コマンド・プロンプトから下記コマンドを実行し、WSUS サービスと IIS サービスを停止します。

net stop wsusservice

net stop w3svc

 

5-2) 下記コマンドを実行してフォルダを移動します

cd "C:\Program Files\Microsoft SQL Server\90\Tools\Binn"

 

5-3) 下記のコマンドを順に実行してリストアを実施します。

Sqlcmd -S np:\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query

>USE master ALTER DATABASE SUSDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE

>go

>RESTORE DATABASE SUSDB FROM DISK=N'<バックアップ先のパス>\SUSDB.Dat' WITH REPLACE, STATS=10

>go

>ALTER DATABASE SUSDB SET MULTI_USER

>go

 

※処理完了後、下記コマンドで Sqlcmd を終了します。

>exit

 

5-4) リストア完了後、下記コマンドを実行しサービスを開始します。

net start wsusservice

net start w3svc

 

手順は以上です。

 

それではごきげんよう。

Comments (2)

  1. GcomWSUSteam より:

    本手順を参考にさせて頂き同一サーバー内でドライブ移動を行いましたが、エラーが発生し動作しておりません。

    手順としては

    目的:元々Dドライブにインストールしていたが、Dドライブが枯渇したため増設したEドライブに環境を移行

    ①既存環境のバックアップ

      ⇒Cntentフォルダ配下を退避

    ②既存環境のDBバックアップ

      ⇒本手順に沿って退避

    ③既存WSUSのアンインストール

      ⇒プログラムの追加と削除からWSUS3.0 SP2アンインストール

    ④WSUSインストール

      ⇒Content、DBの作成先をEドライブとし、インストール

    ⑤既存環境の復元

      ⇒Contentフォルダを復元

    ⑥DBの復元

      ⇒DBを本手順に沿って復元

    ⑦WSUS起動後エラー表示

      WSUS 管理コンソールは、リモート API 経由で WSUS サーバーに接続できませんでした。

      Update Services サービス、 IIS および SQL がサーバー上で実行されていることを確認してください。

    ⑧環境を残した状態でアンインストール

    ⑨再インストール処理中にエラー表示されインストール失敗。

     以下のメッセージが表示

     このインストールパッケージには問題があります。セットアップの一部として実行されるプログラムは正しく完了しませんでした。サポート担当者またはパッケージのベンダにお問い合わせて下さい。

    解決策を提示ねがえないでしょうか?

  2. Lazy WSUS Admin より:

    私は上記手順でデータベースを無事リストアできました。

Skip to main content