IT Windows WSUS

【WSUS】WIDを使ったSUSDBの移動

投稿日:

WSUSのDBにWID(Windows Internal Database)を使う形でインストールした場合、強制的に「C:\Windows\WID」にインストールされます。

これだと大規模環境でWSUSを長期運用しているとSUSDBがどんどん肥大化してCドライブを圧迫してきちゃいます。

そこで今回はそのSUSDBを別ドライブへ移動する手順をご紹介します。

はじめに

まず今回手順をご紹介する環境はWindows Server 2016のWSUS環境になります。

追加でSQL Server Management Studio(SSMS)をインストールしてます。

インストールされていない場合は入れましょう。

SQL Server Management Studio (SSMS) のダウンロードはこちらで

# Sqlcmdでできちゃう方はコマンドでも大丈夫です。

 

移動先フォルダーの用意

まずSUSDBの移動先に空フォルダ-を作ります。

私は以下のように別ドライブに「SUSDB」フォルダーを新規作成しました。

※ WSUSってフォルダーはパッチの保存フォルダーです

 

サービス停止

以下のサービスを停止します。

IIS(W3SVC)
WSUS Service(WsusService)

コマンドプロンプトか管理ツールのサービスで止めてください。

 

SUSDBのデタッチ

SSMSを起動します。

起動する際は必ず「管理者として実行」で起動してくださいね。

そうしないとWIDのDBに接続できません。

サーバー名は「\\.\pipe\MICROSOFT##WID\tsql\query」です。

DBに接続できたら次はデタッチです。
「データベース > SUSDB > 右クリックメニューからタスク > デタッチ」

 

「OK」をクリックします。

 

SUSDBがいなくなります。

 

SUSDBのコピー

管理者としてコマンドプロンプトを起動」して以下のコマンドを実行します。

 

robocopy /W:0 /R:0 /MIR /SEC C:\Windows\WID\Data 移動先ディレクトリパス SUSDB*

成功すると

こんな感じです。

 

SUSDBのアタッチ

「データベース > 右クリックメニュー > アタッチ」

 

「追加」をクリックします。

 

Robocopyでコピーした先の[SUSDB.mdf]を指定して「OK」をクリックします。

 

アタッチしようとしているファイルが間違っていないことを確認して「OK」をクリックします。

 

データベースに[SUSDB]が表示されれば成功です!

 

サービスの起動

【サービスの停止】で止めた以下のサービスを開始します。

IIS(W3SVC)
WSUS Service(WsusService)

 

正常性確認

WSUSの管理コンソールが起動するか確認します。

正常性が確認できたらC:\Windows\WID\DataにあるSUSDB.mdfとSUSDB_log.ldfは削除しても大丈夫です。

お疲れさまでした!

 

補足

デタッチした後のDBコピーでなぜわざわざrobocopyを使っているかというと、DBに特殊なアクセス権がついていて、それを設定する方法が面倒なのでアクセス権を含めてコピーするためです。

MSSQL$MICROSOFT##WID ってやつです。

あとで付ける場合はこんな手順を踏む必要があります。

-IT, Windows, WSUS
-, ,

Copyright© Live Free , 2020 All Rights Reserved.