Seitenindex umschalten Seiten: 1 [2] 3 4  Thema versendenDrucken
Sehr heißes Thema (mehr als 25 Antworten) Reset der SUS-DB läuft endlos (Gelesen: 13332 mal)
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15138
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Reset der SUS-DB läuft endlos
Antwort #15 - 13.06.18 um 11:45:16
Beitrag drucken  
rpd schrieb on 13.06.18 um 10:20:29:
Wie lange dauert der Reset bei euch?

Mein WSUS Reset läuft seit Montag. Vor dem Reset war die DB etwa 7 GB groß, und der Content-Ordner etwa 2,3 TB groß.

Ich werde wohl heute eine Lösung probieren, die ich im TechNet gefunden habe:

(Du musst Dich Einloggen oder Registrieren um Multimediadateien oder Links zu sehen).


Bei einem Content mit 2,3 TB und einer SUSDB von 7 GB wundert mich das überhaupt nicht. Das kann und wird wohl noch ein paar Tage laufen. Sowas macht man auch nicht einfach so.
  
Zum Seitenanfang
 
pro_develop
WSUS Junior Member
*
Offline


I love WSUS!

Beiträge: 25
Mitglied seit: 09.06.18
Re: Reset der SUS-DB läuft endlos
Antwort #16 - 13.06.18 um 13:12:36
Beitrag drucken  
Der von rpd erwähnte Beitrag ist wirklich interessant.

Ich habe den Rechner, auf dem der WSUS-Server läuft, inzwischen auch mehrmals neu gestartet. Wenn die Erkenntnisse in diesem Beitrag richtig sind, dann fängt der ganze Reset/Aufräumvorgang wieder von vorne an.

Oh weia  Schockiert/Erstaunt
  
Zum Seitenanfang
 
pro_develop
WSUS Junior Member
*
Offline


I love WSUS!

Beiträge: 25
Mitglied seit: 09.06.18
Re: Reset der SUS-DB läuft endlos
Antwort #17 - 13.06.18 um 13:16:49
Beitrag drucken  
Interessant ist auch, dass andere, bei denen Updates nicht gedownloadet werden konnten, auf die Idee gekommen sind, den reset Befehl auszuführen ...  Laut lachend
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15138
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Reset der SUS-DB läuft endlos
Antwort #18 - 13.06.18 um 14:35:16
Beitrag drucken  
pro_develop schrieb on 13.06.18 um 13:16:49:
Interessant ist auch, dass andere, bei denen Updates nicht gedownloadet werden konnten, auf die Idee gekommen sind, den reset Befehl auszuführen ...  Laut lachend


Das ist nicht interessant, sondern erschreckend, sehr erschreckend und gibt zu denken.
  
Zum Seitenanfang
 
pro_develop
WSUS Junior Member
*
Offline


I love WSUS!

Beiträge: 25
Mitglied seit: 09.06.18
Re: Reset der SUS-DB läuft endlos
Antwort #19 - 13.06.18 um 15:54:21
Beitrag drucken  
Dazu muss ich sagen, dass ich versucht habe mich mal richtig zu dem Thema WSUS einzuarbeiten, also technische Details zu studieren, aber leider findet man im Web nur fragmente des benötigten Wissens. Die paar Infos im Microsoft Tech Net haben nicht gerade zu einem tieferen Verständnis beigetragen.

Ich werde wohl hier im Forum einen Thread starten, ob jemand eine brauchbare Quelle für die technischen Details kennt ...
  
Zum Seitenanfang
 
pro_develop
WSUS Junior Member
*
Offline


I love WSUS!

Beiträge: 25
Mitglied seit: 09.06.18
Re: Reset der SUS-DB läuft endlos
Antwort #20 - 14.06.18 um 02:55:39
Beitrag drucken  
Ich habe mir das heute angetan und das Problem komplett analysiert.

Mit einem Trace der SQL Anfragen konnte ich nachvollziehen, dass der WSUS-Serverdienst einen ganzen Satz von Funktionen über RPC (EXEC Befehl auf dem SQL-Server) beim starten des Diensts aufruft.
Alle Funktionen außer einer, werden auch wieder beendet. Die Funktion, die nicht beendet wird und den SQL Server komplett auslastet heißt "spResetStateMachineAndReEvaluate".
Das ist die Funktion in der die gesamte Abarbeitung des Aufräumvorgangs läuft.

Und genau in dieser Funktion lässt sich sehen, dass lokal in der Funktion ein SQL Cursor verwendet wird, der im wesentlichen alle Zeilen der Tabelle dbo.tbRevision abarbeitet.
Ein Herunterfahren des Systems bewirkt dann natürlich, dass dieser lokale Cursor wieder zurückgesetzt wird.

Hier der Codeausschnitt:


Code (SQL)
DECLARE #cur CURSOR LOCAL FAST_FORWARD FOR
    SELECT RowID FROM dbo.tbRevision WHERE State <> 1
OPEN #cur
FETCH #cur INTO @revisionRowID
WHILE @@ERROR = 0 AND @@FETCH_STATUS = 0
BEGIN
    SET @storedProcedureToExecute = NULL
    EXEC @retcode = dbo.spFireStateMachineEventEx 'RevisionStateMachine', @revisionRowID, 'ResetRevision', @storedProcedureToExecute OUTPUT, @stateMachineIDForSP OUTPUT, @rowIDForSP OUTPUT, @oldStateIDForSP OUTPUT, @eventIDForSP OUTPUT, @newStateIDForSP OUTPUT
    IF @@ERROR <> 0 OR @retcode <> 0
    BEGIN
        CLOSE #cur
        DEALLOCATE #cur
        SET @errorMessage = 'spResetStateMachineAndReEvaluate got failure from spFireStateMachineEvent for parameters: @StateMachineName = RevisionStateMachine, @RowID = ' + CONVERT(NVARCHAR(40), @revisionRowID) + ', @EventName = ResetRevision'
        RAISERROR(@errorMessage, 16, -1)
        RETURN 1
    END
    IF @storedProcedureToExecute IS NOT NULL
    BEGIN
        EXEC @retcode = @storedProcedureToExecute @stateMachineIDForSP, @rowIDForSP, @oldStateIDForSP, @eventIDForSP, @newStateIDForSP
        IF @@ERROR <> 0 OR @retcode <> 0
        BEGIN
            CLOSE #cur
            DEALLOCATE #cur
            SET @errorMessage = dbo.fn_FormatError(@storedProcedureToExecute, @stateMachineIDForSP, @rowIDForSP, @oldStateIDForSP, @eventIDForSP, @newStateIDForSP)
            RAISERROR(@errorMessage, 16, -1)
            RETURN 1
        END
    END
    FETCH NEXT FROM #cur INTO @revisionRowID
END
 



Für jeden Eintrag in der Tabelle dbo.tbRevision (also jede Update-Revision) existiert ein eigener Zustand. Jede Revision befindet sich in ihrem eigenen Zustand in der State-Machine des Update-Handlings.
Die Abarbeitung in der Schleife bewirkt ein Überprüfen und Aktualisieren jedes einzelnen Zustands und ggf. Download von Dateien.

Und jetzt zur Eintrittsbedingung, die dafür sorgt, dass der Vorgang überhaupt läuft.

Code (SQL)
IF NOT EXISTS (SELECT * FROM dbo.tbSingletonData WHERE ResetStateMachineNeeded = 1)
BEGIN
    RETURN 0
END 



Das ist genau die Angabe aus dem Lösungsvorschlag im Tech Net.

Ich habe es gleich mal ausprobiert ... und siehe da, es funktioniert   Cool
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15138
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Reset der SUS-DB läuft endlos
Antwort #21 - 14.06.18 um 11:52:10
Beitrag drucken  
@pro_develop

Vielen Dank für das Teilen deiner Lösung!  Smiley

Ich poste hier mal den Text aus dem Thread vom Technet:

(Du musst Dich Einloggen oder Registrieren um Multimediadateien oder Links zu sehen).

Das Posting von Brian - Milwaukee vom 21. März 2017 beinhaltet eine Lösung für die GUI:

Quote:
Use SQL Server Management Studio to open your database.  It works for both WID and SQL.

-          Instance name for WID 2012:    \\.\pipe\MICROSOFT##WID\tsql\query

-          Your Instance Name will depend upon your version of Windows/WSUS

In your database tables for SUSDB, look for the table called: dbo.tbSingletonData.  Right-click this entry and select “edit top 200 rows.”  In the Field “ResetStateMachineNeeded” change the value from “True” to “False.”  Make sure to commit this change – save the database.  Now, close all open windows and reboot your host.



Once the host comes back up, check your CPU usage which should now be normalized as the WSUS Reset should now be stopped.  Normal operation should resume which will probably be indicated by files now downloading from Microsoft, or you may force the synchronization to start in the main page of the WSUS Console.

Brian Kunick
  
Zum Seitenanfang
 
rpd
WSUS Full Member
**
Offline



Beiträge: 54
Standort: Wien
Mitglied seit: 12.04.07
Geschlecht: männlich
Re: Reset der SUS-DB läuft endlos
Antwort #22 - 14.06.18 um 14:02:25
Beitrag drucken  
@pro_develop Das ist interessant und es freut mich dass es bei dir funktioniert hat!

Kann ich im SQL irgendwie sehen, welche Zeile in dbo.tbRevision derzeit abgearbeitet wird? Vielleicht über einen Trace? Das wäre dann eine Art Fortschrittsanzeige.

Bei mir hat es leider nicht so gut geklappt. Zwar konnte ich mit ResetStateMachineNeeded = 0 den Reset leicht beenden, jedoch hat der WSUS danach nichts heruntergeladen. Ausgenommen die Updates, die nach dem Reset synchronisiert wurden.

Der Content-Ordner ist leer, bis auf das, was nach dem Reset genehmigt wurde. Somit gehe ich davon aus, dass ich den Reset zu früh beendet habe.

Mein nächster Schritt wird jetzt sein, den Patch-Day abzuarbeiten und in ein paar Tagen noch einen Reset zu machen. Und dieses Mal mindestens eine Woche laufen lassen.

@Sunny: Habe ich eine Alternative? Jede Menge alte Updates ablehnen?

Im Übrigen habe ich im Technet etwas gefunden dass interessant ist, weil es offenbar von jemanden kommt, der an Entwicklung des WSUS mitarbeitet. Aus dem selben Thread, der schon verlinkt wurde:

Quote:
The reset process is a complex state machine that runs entirely within the WSUS database. We weren't able to come up with a good way of cancelling it or speeding it up without a significant engineering investment. It's on the to-do list, but we are working hard on some other things right now that you'll be hearing about soon. Sorry I don't have better news at this time.
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15138
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Reset der SUS-DB läuft endlos
Antwort #23 - 14.06.18 um 14:37:11
Beitrag drucken  
Eine Möglichkeit wäre natürlich jetzt zuerst die vielen alten Updates abzulehnen. Wie kommt man zu 2,3 TB an Updates?

Produkte prüfen ob die alle benötigt werden, alte SPs und alte CUs ablehnen. Da kommt schon einiges zusammen. Und dann evtl. am Freitagnachmittag den RESET anstoßen, evtl. ist über das WE schon wieder alles vorhanden.
  
Zum Seitenanfang
 
rpd
WSUS Full Member
**
Offline



Beiträge: 54
Standort: Wien
Mitglied seit: 12.04.07
Geschlecht: männlich
Re: Reset der SUS-DB läuft endlos
Antwort #24 - 14.06.18 um 16:57:30
Beitrag drucken  
Hast du vielleicht einen Tipp für mich, wie ich effizient/zeitsparend alte Updates loswerden kann? Z.B.: habe ich mir überlegt, dass ich bei Windows 10 keine Updates mehr benötige, die nicht für Build 1803 sind, da alle Installationen auf 1803 sind.

Die Serverbereinigung mache ich sehr oft.

Sunny schrieb on 14.06.18 um 14:37:11:
Wie kommt man zu 2,3 TB an Updates?


Vermutlich sind es die Express-Dateien, die ich jetzt auch nicht mehr haben will. Habe die Einstellung schon vor dem Reset abgewählt.
Auch habe ich zwei Sprachen (DE, EN)
In der Tabelle dbo.tbRevision habe ich 231.087 Zeilen (=Zahl der Revisionen?).
  
Zum Seitenanfang
 
pro_develop
WSUS Junior Member
*
Offline


I love WSUS!

Beiträge: 25
Mitglied seit: 09.06.18
Re: Reset der SUS-DB läuft endlos
Antwort #25 - 14.06.18 um 21:55:36
Beitrag drucken  
@rpd

Der Gedanke war mir natürlich auch gleich gekommen... wie könnte man den WSUS hinpatchen  Laut lachend

Hoffentlich bekomme ich keinen Ärger mit Microsoft, wenn ich hier im Forum Patchvorschläge anbiete  hä?

Also dazu müsstest du quasi den SQL Cursor "anzapfen" ... mit dem Schlüsselwort "ROWCOUNT" lässt sich die Anzahl der verarbeiteten Rows ermitteln ...
in eine eigene Tabelle könntest du dir die Gesamtanzahl der Rows und die aktuelle Anzahl der verarbeiteten Rows schreiben und diese Daten dann mit dem SQL Management Studio abfragen ...

Das wirklich interessante, das ich in den SQL Funktionen entdeckt habe ist, dass es Entwicklertabellen gibt ...
wenn man in einer bestimmten Tabelle der SUSDB einen Schalter umlegt, so werden z.B. alle State-Machine Übergänge in diese Entwicklertabelle geloggt  Smiley
  
Zum Seitenanfang
 
pro_develop
WSUS Junior Member
*
Offline


I love WSUS!

Beiträge: 25
Mitglied seit: 09.06.18
Re: Reset der SUS-DB läuft endlos
Antwort #26 - 14.06.18 um 22:00:53
Beitrag drucken  
@Sunny

In der MMC ist meine Build Version nun 3.2.7600.251 ...

Ist das nun aktuell ?
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15138
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Reset der SUS-DB läuft endlos
Antwort #27 - 15.06.18 um 00:20:50
Beitrag drucken  
rpd schrieb on 14.06.18 um 16:57:30:
Hast du vielleicht einen Tipp für mich, wie ich effizient/zeitsparend alte Updates loswerden kann? Z.B.: habe ich mir überlegt, dass ich bei Windows 10 keine Updates mehr benötige, die nicht für Build 1803 sind, da alle Installationen auf 1803 sind.


Schau dir dieses Script an: (Du musst Dich Einloggen oder Registrieren um Multimediadateien oder Links zu sehen). Und jetzt denk dir die Version 1511, 1607, 1703 + 1709 dazu. Langsam mit der 1511 anfangen und in der ISE debuggen, dann sollte da schon etwas rauskommen. Anschließend kannst Du das Script auf die 1607 und die restlichen Versionen erweitern. Ebenfalls kann man damit ARM-Updates und 32-Bit Versionen ablehnen.

rpd schrieb on 14.06.18 um 16:57:30:
Sunny schrieb on 14.06.18 um 14:37:11:
Wie kommt man zu 2,3 TB an Updates?


Vermutlich sind es die Express-Dateien, die ich jetzt auch nicht mehr haben will. Habe die Einstellung schon vor dem Reset abgewählt.
Auch habe ich zwei Sprachen (DE, EN)
In der Tabelle dbo.tbRevision habe ich 231.087 Zeilen (=Zahl der Revisionen?).


Das weiß ich nicht, ich hab momentan keinen Zugriff auf einen aktuellen WSUS. Aber wenn Du vieles altes abgelehnt hast und der Content etwas bereinigt wurde, dann kannst Du sicherlich nochmal einen RESET laufen lassen. Du weißt ja jetzt wie man ihn korrekt abbricht. Zwinkernd
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15138
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Reset der SUS-DB läuft endlos
Antwort #28 - 15.06.18 um 00:21:59
Beitrag drucken  
pro_develop schrieb on 14.06.18 um 22:00:53:
@Sunny

In der MMC ist meine Build Version nun 3.2.7600.251 ...

Ist das nun aktuell ?


Schau doch einfach selbst mal in der WSUS.De/FAQ No. 44 nach. Smiley
  
Zum Seitenanfang
 
pro_develop
WSUS Junior Member
*
Offline


I love WSUS!

Beiträge: 25
Mitglied seit: 09.06.18
Re: Reset der SUS-DB läuft endlos
Antwort #29 - 15.06.18 um 14:56:51
Beitrag drucken  
@Sunny

Okay ... also nicht aktuell  Griesgrämig

Das heißt, dass der WSUS Server über Windows Update nicht aktuell gehalten wird ...

... woher bekommt man dann die passenden Updates ? ... im Microsoft-Support ?  ... oder Update-Katalog ?

Gibt es bei Microsoft eine Übersicht der WSUS-Updates oder ist die Liste hier auf wsus.de in FAQ 44 die einzige zuverlässige Quelle ???  Schockiert/Erstaunt
  
Zum Seitenanfang
 
Seitenindex umschalten Seiten: 1 [2] 3 4 
Thema versendenDrucken
Bookmarks: Facebook Google Google+ Linked in Twitter Yahoo
 



Nutzungsbedingungen | Datenschutz
Kontakt | RSS | Feedback | Impressum
Facebook | News einsenden