2007年04月26日

Windows Server 2003 WSUS インストール時に WMSDE のデータベースサイズが 2GB に制限される

Windows Server Update Services(WSUS)日本語版をインストーするときに、データベースとして Windows SQL Server 2000 Desktop Engine(WMSDE)を使用すると、データベースサイズが 2GB に制限される。この場合、以下のような現象が見られる。

WSUS クライアントから WSUS サーバーへのレポートが行われない
WSUS で Microsoft Update との同期ができない
WSUS で管理者が新しい更新プログラムの承認や設定の変更ができない
アプリケーションログに以下のイベントが記録される
 
 
種類 : エラー
ソース : Windows Server Update Services
イベント ID : 386
説明 : イベント ID (386) (ソース Windows Server Update Service 内) に関する説明が見つかりませんでした。リモートコンピュータからメッセージを表示するために必要なレジストリ情報またはメッセージ DLL ファイルがローカルコンピュータにない可能性があります。この説明を取得するために /AUXSOURCE= フラグを使用することができる可能性があります。
System.Data.SqlClient.SqlException: 'PRIMARY' ファイルグループがいっぱいなので、データベース 'SUSDB' にオブジェクト 'tbXml' 領域を割り当てられませんでした。
 
WSUSMSDESetupxxx.txt ファイルの「SetDisableThrottle」という箇所に以下のようなテキストが含まれる
 
 
メッセージ:MSI (s) (9C:54) [10:16:11:056]: Skipping acction: SetDisableThrottle (condition is false)
 
SoftwareDistribution.log ファイルに多くのエラーが出力される

Windows Server Update Services(WSUS)を、Windows Server 2003 にセットアップした場合、データベースとして別途 SQL Server 2000 等を使用しないときには WSUS 同梱の Windows SQL Server 2000 Desktop Engine(WMSDE)を使用する。本来、WMSDE を使用する場合は 2GB の容量制限はないが、この問題が発生すると、データベースサイズが 2GB に制限されてしまう。そのため、大規模または長期運用において、SQL Server ではなく WMSDE を使用した場合にデータベースサイズの上限に達し、WSUS を利用できない場合がある。

この問題は、WSUS データベースのサイズが 2GB を超えた大規模環境で、英語以外の言語版の環境で発生することがある。一部の言語版の WSUS では、インストールパラメータに DisableThrottle の設定が含まれていないことが原因でこの問題が発生する。このため、WMSDE が Throttled モードでインストールされ、この構成では WSUS データベースのサイズが 2GB に制限される。

この問題が発生する言語版には、日本語版、簡体字中国語版、繁体字中国語版等がある。

○ 対処方法

この問題を解決するには、以下の手順を実行します。

以下の手順で英語環境として WSUS をインストールしても管理ツール等の UI は従来通り表示される。また日本語環境へのセットアップも問題ない。
WSUS はすべての言語が含まれているマルチ言語対応のツールである。インストールされた環境の Internet Explorer の言語設定に依存して、GUI およびヘルプ、メッセージがすべて切り替わる使用になっている。そのため英語環境として WSUS をインストールした後、Internet Explorer の言語設定が日本語以外になっている場合は、日本語に設定する必要がある。

◇ 新規セットアップの場合

WSUS を英語環境としてインストールする。

WSUS のセットアップファイルを以下のスイッチを指定して実行する。

    WSUSSetup.exe /I:ENU

◇ 既存環境の場合

1. データベースのチェックを行う
  コマンドプロンプトより以下のコマンドを実行し、checkdb.txt に一貫性エラーがないことを確認する
    "%programfiles%¥update services¥Tools¥osql¥osql.exe" -S コンピュータ名¥WSUS -Q "dbcc checkdb(SUSDB)" -o checkdb.txt
  コンピュータ名は、WSUS をインストールしているサーバーの名前を指定する。コンピュータ名の前に「¥¥」をつける必要はない。
2. データベースのバックアップを行う
  コマンドプロンプトより以下のコマンドを実行する
    "%programfiles%¥update services¥Tools¥osql¥osql.exe" -S コンピュータ名¥WSUS -E -b -n -Q "BACKUP DATABASE SUSDB TO DISK='バックアップファイル名'"
  バックアップファイル名にはドライブ名とファイル名を含む完全なパスを指定する。
    例) c:¥wsusdata.bak
3. WSUS を削除してからデータベースを削除する
4. WSUS を英語環境としてインストールする
  WSUS のセットアップファイルを以下のスイッチを指定して実行する
    WSUSSetup.exe /I:ENU
5. WSUS および Microsoft インターネットインフォメーションサービス(IIS)のサービスを停止する
  コマンドプロンプトより以下のコマンドを実行する
    net stop wsusservice
iisreset /stop
6. 手順 2. でバックアップしたデータを復元する
  コマンドプロンプトより以下のコマンドを実行する
    "%programfiles%¥update services¥Tools¥osql¥osql.exe" -S コンピュータ名¥WSUS -E -b -n -Q "RESTORE DATABASE SUSDB FROM DISK='バックアップファイル名'"
7. システムを再起動する

【参照】 マイクロソフト 技術情報 909456
          マイクロソフト Windows Server Update Services

posted by w@ko at 22:55|  ・Windows Servers | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。