WSUS DB インデックスの再構成の手順について


こんにちは。マイクロソフトの三原です。

今回は、インデックスの再構成の手順をご紹介いたします。

WSUS サーバー自身には、データベースのインデックスをメンテナンスする機能が含まれていません。
運用継続に伴ってデータベースのパフォーマンスが劣化する可能性があります。(※1)
このメンテナンス用スクリプトが公開されていますので、これを利用し定期的にインデックスの再構成を実施いただくことをお勧めします。

(※1) 例えばWSUS サーバーを運用するにあたり、定期的にクリーンアップ ウィザードを実施していただくことを推奨しておりますが、今まで、定期的にクリーンアップ ウィザードを実施していない場合は、クリーンアップ処理に数時間を要することもあります。
処理完了までの時間を少しでも削減するために、まずはインデックスの再構成を行ってください。

インデックスの再構成を行う手順は下記のとおりとなります。

<作業概要>

WSUS のデータベースである SUSDB に対して、下記ページに記載されている WSUS データベース メンテナンス用のスクリプトを実行します。スクリプトをコピーペーストする際の注意点を、本記事の最後に記載してございますので、ご一読ください。 (※2)

"Re-index the WSUS 3.0 Database"
<http://go.microsoft.com/fwlink/?LinkId=87027>

※ スクリプトは WSUS サーバー上で実行してください。
※ WSUS サーバーを親子構成している場合は、親子両方の WSUS サーバー上で実行してください。
※ 本スクリプトは、WSUS 4.0 (Windows Server 2012 以降) でも動作することを確認しております。

<作業手順>

ご利用いただいているデータベース製品にあわせて、以下のいずれかの作業を実施してください。

どちらのデータベースを現在利用しているかにつきましては、WSUS サーバーの以下のレジストリから判断できます。
"SqlServerName" の値が %computername%\MICROSOFT##SSEE となっていれば、WID です。それ以外は SQL Server です。
※ Windows Server 2012 / 2012 R2 の場合は、MICROSOFT##WID となっていれば、WID です。

******
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup]
“SqlServerName”
******

<SQL Server (製品版) を使用している場合>

1) SQL Server Management Studio を起動し、WSUS 用のデータベースが動作しているインスタンスに接続します。

2) SUSDB に対する新しいクエリ画面を開きます。

3) クエリ画面内に、上述の WSUS データベース メンテナンス用スクリプトをコピーペースト (※2) して、実行します。データベースの最適化が終了すると "Statistics for all tables have been updated" または "全テーブルの統計が更新されました" というメッセージが表示されます。

<Windows Internal Database (WID) を使用している環境の場合>

SQL Server Management Studio Express を下記よりダウンロード、インストールしてから、上述の SQL Server の場合と同じ要領で実行します。本ツールでは 製品版の SQL Server Management Studio とほぼ同等の GUI 操作ができます。

SQL Server Management Studio のインストール方法と、データーベースへの接続方法は下記ページでもご案内しております。


WSUS データベースを簡単に操作するには -
https://blogs.technet.microsoft.com/jpwsus/2012/03/08/wsus-3/


WSUS データベースを簡単に操作するには (Windows Server 2012 ) -
https://blogs.technet.microsoft.com/jpwsus/2014/08/01/wsus-windows-server-2012/

 

1) 下記 URL より SQL Server Management Studio Express をダウンロードし、WSUS サーバーにインストールします。

Microsoft SQL Server Management Studio Express
<http://www.microsoft.com/ja-jp/download/details.aspx?id=8961>
(.NET Framework 2.0, MSXML 6.0 のインストールが必要となります。もし未導入の場合にはページ内のリンクからインストールを行って下さい)

※ OS が Windows Server 2008, Windows Server 2008 R2 の場合は、こちらもお使いいただけます。
Microsoft SQL Server 2008 R2 RTM - Management Studio Express
<http://www.microsoft.com/ja-jp/download/details.aspx?id=22985>

※ OS が Windows Server 2012, Windows Server 2012 R2 の場合は、こちらもお使いいただけます。
Microsoft® SQL Server 2014 Express
<https://www.microsoft.com/ja-jp/download/details.aspx?id=42299>
※ ダウンロード時に MgmtStudio 64BIT\SQLManagementStudio_x64_JPN.exe  を選択していただければ OK です。

 

 

2) SQL Server Management Studio Express を起動し、下記のパラメータを入力してデータベースへ [接続] を行います。

サーバーの種類 : データベース エンジン
サーバー名 : \\.\pipe\mssql$microsoft##ssee\sql\query
認証 : Windows 認証

※ Windows Server 2012 / 2012 R2 の場合、サーバー名は \\.\pipe\Microsoft##WID\tsql\query を指定してください。

3) 左ペインのデータベースのツリーから [SUSDB] を右クリックして[新しいクエリ] を選択します。

4) 右ペインのクエリ画面内に、上述の WSUS データベース メンテナンス用スクリプトをコピーペースト (※2) して、実行します。

5) データベースの最適化が終了すると、 "Statistics for all tables have been updated"  または "全テーブルの統計が更新されました" というメッセージが表示されます。

※2 スクリプトをコピーペーストする場合は、スクリプト右上の "Copy Code" を押してコピーせず、スクリプト全体をマウスで選択し、コピーペーストしてください。内容をコピーしたテキスト ファイルは次のリンクよりダウンロードできます。

wsusdbmaintenance-sql

手順は以上です。

-補足
WSUS 3.0 SP2 操作ガイド (Operations Guide) では、少なくとも月次でこのメンテナンスの実施を推奨しております。下記ページをご参照ください。

"Appendix I: Database Maintenance"
<http://technet.microsoft.com/ja-jp/library/dd939795(v=ws.10).aspx>

Comments (3)

  1. S より:

    SQL Server Management Studio Express のインストールで手間取りました。

    古いアプリなので特権昇格のダイヤログが表示されずにUACが原因でした。

    msiは別のユーザーで実行もできないので、管理者コマンドプロンプトからのインストールを行いました。

  2. Anonymous より:

    Pingback from ???????????? WSUS ????????????????????????????????????????????????????????? : Windows Server Customer Engineering (Customer Advisory Team) : The Official Microsoft IIS Site

  3. AAA より:

    この記事の最終更新日はいつでしょうか?

    ********************************************************************************
    ※ 本スクリプトは、WSUS 4.0 (Windows Server 2012 以降) でも動作することを確認しております。
    ********************************************************************************

    これはWindows Server 2016のWSUS(DBはWID)でも使えるのでしょうか?

Skip to main content