none
WSUS管理コンソールに接続できない。 RRS feed

  • 質問

  • いつもお世話になっております。

    先日から、WSUS管理コンソールに接続できなくなりました。

    以下の事を実施しまいした、現象は変わりませんでした。

     ・IISの上限メモリを増やす ・・・ 4GBへ変更

     ・DBの上限メモリを増やす  ・・・ 1GBへ変更 (最小) / 8GBへ変更 (最大)

    イベントログには、以下のように記録されていました。

    *********************************************************************************
    WSUS 管理コンソールは、リモート API 経由で WSUS サーバーに接続できませんでした。
    Update Services サービス、 IIS および SQL がサーバー上で実行されていることを確認してください。
    問題が解決しない場合は、IIS、SQL、および Update Services サービスを再起動してみてください。

    System.Net.WebException -- 操作はタイムアウトになりました。

    Source
    System.Web.Services

    Stack Trace:
       場所 System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
      場所 Microsoft.UpdateServices.Internal.DatabaseAccess.ApiRemotingCompressionProxy.GetWebResponse(WebRequest webRequest)
       場所 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       場所 Microsoft.UpdateServices.Internal.ApiRemoting.ExecuteSPGetUpdateServerStatus(Int32 updateSources, Boolean includeDownstreamComputers, String updateScopeXml, String computerTargetScopeXml, String preferredCulture, Int32 publicationState, Int32 propertiesToGet)
       場所 Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.ExecuteSPGetUpdateServerStatus(UpdateSources updateSources, Boolean includeDownstreamComputers, String updateScopeXml, String computerTargetScopeXml, String preferredCulture, ExtendedPublicationState publicationState, UpdateServerStatusPropertiesToGet propertiesToGet)
       場所 Microsoft.UpdateServices.Internal.BaseApi.UpdateServer.GetStatus(UpdateSources updateSources, Boolean includeDownstreamComputers, UpdateScope updatesToInclude, ComputerTargetScope computersToInclude, UpdateServerStatusPropertiesToGet propertiesToGet)
       場所 Microsoft.UpdateServices.Internal.BaseApi.UpdateServer.GetReplicaStatus(UpdateSources updateSources)
       場所 Microsoft.UpdateServices.UI.AdminApiAccess.CachedObject.RefreshCache()
       場所 Microsoft.UpdateServices.UI.AdminApiAccess.CachedObject.GetFromCache()
       場所 Microsoft.UpdateServices.UI.SnapIn.Pages.ServerSummaryPage.backgroundWorker_DoWork(Object sender, DoWorkEventArgs e)


    ********************************************************************************

    構成は以下の通りです。

    OS:Windows Server 2012 R2

    データーベース:SQL Server 2014

    WSUS Ver:6.3.9600.18324

    ほかに確認事項などはないでしょうか?


    • 編集済み s_shirai 2019年8月29日 3:17
    2019年8月29日 3:17

回答

すべての返信

  • イベントログに記録されているという、

    >Update Services サービス、 IIS および SQL がサーバー上で実行されていることを確認してください。
    >問題が解決しない場合は、IIS、SQL、および Update Services サービスを再起動してみてください。

    こちらはどうなっているのでしょうか。

    また、該当マシンの搭載メモリ総量がわからないとメモリ割り当てが正しいのかどうかも判別つきません。

    2019年8月29日 8:26
  • 回答ありがとうございます。

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

     ⇒Update Services サービス、 IIS および SQL はサーバー上で実行されておりました。

    >問題が解決しない場合は、IIS、SQL、および Update Services サービスを再起動してみてください。

     ⇒再起動してみましたが、回復しませんでした。

    自分が使ているPCですが、16GBのメモリを搭載しており、そのうちの8GBを割り当てております。

    推奨の設定がありましたら、ご教授頂けると幸いです。

    2019年8月29日 10:08
  • 以下は一通り確認・実行はされていますか?

    「WSUS 管理コンソールにつながらない!」を解消するための 6 つのワザ
    https://blogs.technet.microsoft.com/jpwsus/2016/02/24/wsus-1-2/
    2019年8月29日 12:04
  • 上記の確認及び実行は実施済みです。実施しましたが、現象が変わりません。
    2019年8月29日 12:32
  • 返信が遅くなりましたが、まだ WsusPool のプライベート メモリ制限が 4GB のままでしたら、8GB にしてみて下さい。

    また、WSUS のバージョンからすると以下の問題に対応する更新プログラムは適用されていない様ですので、最新のロールアップ更新プログラムのインストールも試されると良いでしょう。

     

    Windows 10 / Windows Server 2016 を管理している環境で WSUS サーバーの負荷が高騰する

    https://blogs.technet.microsoft.com/jpwsus/2017/08/30/win10-high/

    2019年9月2日 14:34
  • 返信ありがとうございます。

    WsusPool のプライベートメモリ制限を8GBへ変更しましたが、現象は変わりません。

    上記URLのロールアップ更新プログラムをインストールしようとすると、

    ”この更新プログラムはお使いのコンピュータには使用できません。”と表示され、

    インストールできません。

    wsusのバージョンを再度確認すると

    6.3.9600.18694となっておりました。

    毎回、更新プログラム、コンピュータの読み込みが0%のまま、フリーズ?し、

    エラーが発生してしまいます。

    その他、確認事項等はないでしょうか?

    2019年9月3日 13:05
  • 一応確認ですが、以下で紹介されている対策の内、「2.「WSUS サーバー クリーンアップ ウィザード」を実施する」や「4. 不要な更新プログラムをできる限り「拒否済み」にする」も実施されていますでしょうか?

     

    「WSUS 管理コンソールにつながらない!」を解消するための 6 つのワザ

    https://blogs.technet.microsoft.com/jpwsus/2016/02/24/wsus-1-2/

     

    すべての更新プログラムを開くとエラーになるとの事で、もしこれらの解決策が GUI から実行できず未実施でしたら、以下で紹介されているスクリプトやPowerShellコマンドレットを使った更新プログラムの「拒否済み」への変更と、WSUS クリーンアップウィザードの実行を試みて下さい。

     

    不要な更新プログラムは「拒否済み」に設定しよう!

    https://blogs.technet.microsoft.com/jpwsus/2017/12/11/decline-is-yrfrnd/

     

    WSUS のクリーンアップウィザードについて

    https://blogs.technet.microsoft.com/jpwsus/2017/12/05/43/

    2019年9月3日 14:48
  • SSMSやコマンドなどでSQLへの接続は可能でしょうか?

    データベースに異常が発生しているときの動きにみえますが。。

    2019年9月4日 0:04
  • 返信ありがとうございます。

    お教えいただいた下記URLに記載にされておりました、クリーンアップ ウィザードを Powershellから実行したところ、しばらくすると、終了してしまします。これは、正常なのでしょうか?

    WSUS のクリーンアップウィザードについて        https://blogs.technet.microsoft.com/jpwsus/2017/12/05/43/

    2019年9月4日 13:18
  • 回答ありがとうございます。

    Microsoft SQL Server Management Studio及びSQLCMDからは、データベースに接続できていると思います

    スクリーンショットを撮りましたので、確認いただけますでしょうか?

    (自分の勘違いで、接続できていなければ申し訳ございませんが・・・)

    2019年9月4日 13:39
  • 私から確認させて頂いた、クリーンアップウィザードと不要な更新プログラムの「拒否済み」への変更の実施実績の有無については、未実施だったと言うことでしょうか?

    「WSUS 管理コンソールにつながらない!」を解消するための 6 つのワザは一通り実施済みと記載頂いていましたが、クリーンアップウィザードや拒否済みが未実施だと前提が覆るので気にしています。

     

    PowerShellからのクリーンアップウィザードの実行については、Invoke-WsusServerCleanup が完了すると、オプションによりますが以下の様な結果が表示されるはずですが、これらは結果として表示されていますでしょうか?

     

    実行例

    ===============================================

    Invoke-WsusServerCleanup -CompressUpdates -CleanupObsoleteUpdates -CleanupObsoleteComputers -

    CleanupUnneededContentFiles -DeclineSupersededUpdates

    削除された古い更新プログラム:8

    削除された古い更新プログラム:0

    圧縮された更新プログラム:0

    削除された古いコンピューター:2

    解放されたディスク領域:8759725930

    ================================================

     

    また、拒否済みにするスクリプトの方では、実行結果として All Updates や Any except Declined の数が表示されますが、これらの数はどの程度になっていますでしょうか?


    • 編集済み LapivyMVP 2019年9月4日 15:40
    2019年9月4日 15:40
  • 返信ありがとうございます。

    クリーンアップウィザードは実施致しましたが、途中でクリーンアップウィザードのウィンドウが消えたりするので、完了してない事もかんがえられます。

    PowerShellにて、Invoke-WsusServerCleanupを実行したところ「操作がタイムアウトしました。」と表示されてしまいます。

    2019年9月4日 23:25
  • WSUS クリーンアップウィザードは、まったくクリーンアップウィザードを実行していなかった環境等では、実行するとタイムアウトやエラーになる場合が多いので、対処3. のように繰り返しクリーンアップウィザードを実行する必要があるかもしれません。

     

    WSUS クリーンアップ ウィザードにてタイムアウトが発生する

    https://blogs.technet.microsoft.com/jpwsus/2018/02/05/cleanup-timeout/

    2019年9月5日 14:03
  • 返信ありがとうございます。

    PowerShellにて、クリーンアップウィザードを数回実行したところ、下記のように無事クリーンアップすることができました。

    改めてWSUS管理コンソールに接続したところ、1回目はコンピュータは表示されたのですが、

    更新プログラムやコンピュータ(2回目以降)は今までと同様に、接続できなくなります。

    参考までに、サーバー自体のスペックを記載しておきます。

    ・CPU:Core i3-2120 (3.3GHz)

    ・Mem:16GB

    ・HDD:500GB

    もしかしたら、スペック不足でしょうか?


    • 編集済み s_shirai 2019年9月5日 14:58
    2019年9月5日 14:56
  • WSUS が同期している製品・分類・管理コンピューター数などにより必要スペックが異なりますが、記載頂いたスペックは極端に低スペックと言う訳では無い気がします。

     

    どちらかと言うと WSUS のメンテナンス不足により今回の事象に陥っている可能性が高そうなので、引き続きスクリプトを用いて不要な更新プログラムを「拒否済み」へ変更してみて下さい。

     

    不要な更新プログラムは「拒否済み」に設定しよう!

    https://blogs.technet.microsoft.com/jpwsus/2017/12/11/decline-is-yrfrnd/

    2019年9月5日 15:08
  • 回答ありがとうございます。

    不要な更新プログラムを「拒否済み」に変更とありますが、画像の通り現状ではすべて「0」となっており不要な更新プログラムは無いように思えるのですが、繰り返し実行しても、問題ないのでしょうか?

    2019年9月5日 23:22
  • スクリプトを実行して更新プログラムを「拒否済み」にして問題ありません。

    WSUS クリーンアップウィザードでも置き換えられた不要な更新プログラムを「拒否済み」にする動作はあるのですが、単純に置き換えられた更新プログラムを対象にしておらず、複数条件に合致した場合にのみ「拒否済み」にする動作となっています。

    そのため、実際は多くの置き換えられた更新プログラムが「拒否済み」にならずに残っている事が多いのです。
    2019年9月5日 23:54
  • 回答ありがとうございます。

    スクリプトを実行したところ、下記のようなメッセージが表示されました。これは、大丈夫なのでしょうか?

    繰り返し、実行してても問題ないでしょうか?

    PS C:\Users\Administrator> powershell.exe -Command C:\Temp\Decline-SupersededUpdates.ps1

    コマンド パイプライン位置 1 のコマンドレット Decline-SupersededUpdates.ps1
    次のパラメーターに値を指定してください:
    UpdateServer: susdb
    Port:

    Connecting to WSUS server susdb on Port ... Connected.
    Getting a list of all updates... Failed to get updates.
    Error: 操作はタイムアウトになりました。
    If this operation timed out, please decline the superseded updates from the WSUS Console manually.

    2019年9月6日 15:23
  • スクリプト内の説明を見て下さい。

     

    少なくとも UpdateServer には WSUS サーバーのサーバー名、Port には WSUS サーバーで使用しているポート番号 (Windows Server 2012 以降の既定なら 8530) の指定は必要です。

    2019年9月7日 3:35
  • 回答ありがとうございます。 Port を設定して再度実行しましたが、変わりませんでした。
    2019年9月7日 6:15
  • 前回の投稿で転記頂いたコマンド結果で、UpdateServer susdb となっていましたが、こちらも正しくサーバー名に修正した上で実行されていますか?
    2019年9月9日 3:38
  • 回答ありがとうございます。

    ご指摘どおり、サーバー名及びポート番号を修正し、実行致しましたが同じ不具合が発生します。

    Connected とは表示されているので、正常に接続できているとは思うのですが・・・

    他に確認事項等は無いでしょうか?

    2019年9月9日 23:14
  • 既に実施済みだと思いますが、WSUS DB (SUSDB) のインデックス再構築をした上でスクリプトを実行してみて下さい。

    それでもタイムアウトになるなら、以下を参考にして Remote query timeout を 0 (無効) にしてみて下さい。

    remote query timeout サーバー構成オプションの構成
    https://docs.microsoft.com/ja-jp/sql/database-engine/configure-windows/configure-the-remote-query-timeout-server-configuration-option?view=sql-server-2017
    • 回答としてマーク s_shirai 2019年11月28日 14:25
    2019年9月10日 10:51
  • 回答ありがとうございます。

    ご教授いただきました通り、Remote query timeout を 0 (無効)にし、

    再度、インデックス再構成をしたところ

    下記メッセージが表示されます。

    メッセージ 1205、レベル 13、状態 52、行 12
    トランザクション (プロセス ID 71) が、ロック 個のリソースで他のプロセスとデッドロックして、このトランザクションがそのデッドロックの対象となりました。トランザクションを再実行してください。

    画面上には、クエリはエラーで完了しました。

    と表示されます。

    設定等の確認箇所はないでしょうか?

    2019年9月10日 13:11