目次
はじめに
WSUSで更新プログラムの管理を行っていると、
更新プログラムの取得に時間が掛かることはありませんか?
状況によっては取得がタイムアウトされ、以下のようなエラーが表示されることもあります。
WSUS サーバーに接続中にエラーが発生しました。このエラーは発生する原因は多数あります。サーバとの接続を確認してください。問題が解決しない場合は、ネットワーク管理者に問い合わせてください。
私の環境でもよく発生することがあります。対応策を調査してみました。
原因はおそらくこれ
10万件に及ぶ更新プログラムがあることによって、WSUSサービスの管理をしているIIS(Webサーバですね)からのレスポンスが遅れ、WSUSコンソール側でタイムアウトが発生し、
応答が非常に遅いまたは上記画像のエラーが発生するという状況だと思われます。
(私の環境では、同期対象にドライバを追加したことにより、WSUSが抱えている更新プログラム数が増えてしまいました…)
だったら、更新プログラムをWSUS上から削除する方法はないのか?と考えますが、
公式で公開されている情報はありませんでした。(2018/10/31付)
※以下のクリーンアップウィザードを使うことで拒否済の更新プログラムのデータは削除できるようですが、
一度DB上の登録された更新プログラムのレコードは削除されません。
(そのため、更新プログラムの検索に抽出され続けます)
[参考]
ワークアラウンドとして有効と思われる対応策
1.%appdata%\Microsoft\MMC\wsusを削除しWSUSコンソールのキャッシュをクリア
実行することで、WSUSコンソールの設定がデフォルトに戻りますので、
ユーザー個別に設定した内容は失われますのでご注意ください。
[参考]
2.新たに更新ビューを作成し、検索負荷を軽減させる
更新ビューで検索対象となる更新プログラムが多いために、検索結果を返すのが遅れているのであれば、そもそも検索対象を絞り込んだ更新ビューを作成するという方法です。
[更新ビューの作成方法]
- WSUSコンソールを起動
- 画面左のメニューから「更新プログラム」の項目を右クリックし「新しい更新ビュー」を選択
- 表示したい分類をクリック、青文字リンクをクリックし、表示したい分類などをチェック(ココで対象をできるだけ絞り込む!)
- 作成したカスタム更新ビューの名前を入力し、OK
(番外)エラーを表示させたくない、ということであれば、タイムアウトを0にする
DBに対してデータを取得するタイムアウトの設定値を0にしてしまえば、エラーは表示されず取得するまで応答を待ちます。
以下の方法はSQL Server Management Studioを使います。
作業後は、WSUSサーバを再起動してください。
USE SUSDB;
GO
EXEC sp_configure ‘remote query timeout’, 0;
GO
RECONFIGURE;
GO
それでも改善しない場合
WSUSサーバーの再構築が必要となりそうです。
[参考]
https://technet.microsoft.com/ja-jp/library/hh852340.aspx
再構築はなかなか手間が掛かるので、サーバリソースが不足しているのか、IISとDB間のプロセスで問題が起きているのかなど、まずはボトルネックの調査を行うことをおすすめします。
役に立ちましたら、ぜひ他の記事や書籍を読んでみてください。