UW-Forum

Forum von UW-Operator.de
Aktuelle Zeit: Dienstag 20. November 2018, 08:46

Alle Zeiten sind UTC+01:00




Antwort erstellen
Benutzername:
Betreff:
Nachrichtentext:
 

Optionen:
BBCode ist ausgeschaltet
Smilies sind ausgeschaltet
URLs nicht automatisch verlinken
Frage
Gras ist zu Rasen wie ____ zu Wald.:
Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
   

Die letzten Beiträge des Themas - WSUS Bereinigung bekommt TimeOut
Autor Nachricht
  Betreff des Beitrags:  A round of applause for your post.Really thank you! Jerrel  Mit Zitat antworten
A round of applause for your post.Really thank you! Gadlin
Beitrag Verfasst: Donnerstag 22. Februar 2018, 12:03
  Betreff des Beitrags:  Re: WSUS Bereinigung bekommt TimeOut  Mit Zitat antworten
Sollte es danach immer noch zu Problemen kommen, gibt es noch die Möglichkeit den TimeOut mit folgendem SQL-Script zu deaktivieren:
Code:
USE SUSDB ;  
GO  
EXEC sp_configure 'remote query timeout', 0 ;  
GO  
RECONFIGURE ;  
GO  
Nachzulesen hier: https://msdn.microsoft.com/en-us/library/ms189040.aspx
Beitrag Verfasst: Donnerstag 2. März 2017, 08:40
  Betreff des Beitrags:  Re: WSUS Bereinigung bekommt TimeOut  Mit Zitat antworten
Guten Morgen,

ja da gibt es eine Möglichkeit.
In den meisten Fällen genügt es tatsächlich das oberste Update zu löschen, dann sollte die Bereinigung ein gutes Stück weiterkommen. Wenn es allerdings wie bei Ihnen immer und immer wieder hängt und kein Ende in Sicht schein, können Sie folgendes Skript als SQL-Abfrage ausführen:
Code:
USE SUSDB
DECLARE @var1 INT, @curitem INT, @totaltodelete INT
DECLARE @msg nvarchar(200)
CREATE TABLE #results (Col1 INT) INSERT INTO #results(Col1)
EXEC spGetObsoleteUpdatesToCleanup
SET @totaltodelete = (SELECT COUNT(*) FROM #results)
SELECT @curitem=1
DECLARE WC Cursor FOR SELECT Col1 FROM #results
OPEN WC
FETCH NEXT FROM WC INTO @var1 WHILE (@@FETCH_STATUS > -1)
BEGIN SET @msg = cast(@curitem as varchar(5)) + '/' + cast(@totaltodelete as varchar(5)) + ': Deleting ' + CONVERT(varchar(10), @var1) + ' ' + cast(getdate() as varchar(30))
RAISERROR(@msg,0,1) WITH NOWAIT
EXEC spDeleteUpdate @localUpdateID=@var1
SET @curitem = @curitem +1
FETCH NEXT FROM WC INTO @var1
END
CLOSE WC
DEALLOCATE WC
DROP TABLE #results
Das Skript könnte eine weile laufen... einfach laufen lassen. Die Aktualisierung der Anzeige erfolgt leider erst wenn das Skript durch ist.

Damit werden alle zu löschenden Updates mit einer Ausführung gelöscht. Das sollte also genau das sein, was Sie benötigen.
Beitrag Verfasst: Dienstag 28. Februar 2017, 08:06
  Betreff des Beitrags:  Re: WSUS Bereinigung bekommt TimeOut  Mit Zitat antworten
Das ist ja schön und gut, aber wissen Sie wie lange ich da brauche um meinen Server wieder zur Bereinigung zu bewegen... bei mir sind es mehrere Tausend Updates die ich löschen muss.
Bisher geht es nur sehr langsam voran ich lösche ein Update mit dem Befehl und anschließend wir nur 1 oder 2 Updates mit der Bereinigung entfernt. Dann muss ich wieder den Löschbefehl ausführen.

Gibt es noch eine andere Möglichkeit?
Mit der Eingabe der IDs habe ich Angst mich zu vertippen und ein wichtiges Update zu löschen, dass ich noch brauche.
Habe schon versucht die Befehle für das Finden der IDs mit dem Löschbefehl zu verbinden, aber leider ohne Erfolg.
Beitrag Verfasst: Dienstag 28. Februar 2017, 06:45
  Betreff des Beitrags:  WSUS Bereinigung bekommt TimeOut  Mit Zitat antworten
Problem:
Die Bereinigung des WSUS egal ob per GUI oder PowerShell - Jeder Admin sollte ein Script haben, dass automatisiert ausgeführt wird - läuft auf einen TimeOut.

Lösung 1:
Man kann nun versuchen die Bereinigung jedes Elements einzeln durchzuführen. Mit etwas Glück läuft die Bereinigung so durch und anschließend auch wieder ohne Probleme...
Wahrscheinlicher ist aber, dass der TimeOut bei folgendem Befehl auftaucht:
Code:
Invoke-WsusServerCleanup -CleanupObsoleteUpdates
Lösung 2:
  • Über das SQL Server Management Studio verbindet man sich direkt mit der Datenbank. (Bei einem 2012R2 Server ist das über \\.\pipe\Microsoft##WID\tsql\query möglich beim 2008R2 Server sollte \\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query funktionieren)
  • Nun unter Rechtsklick auf die Datenbank "Neue Abfrage" wählen.
  • Die Updates welche bereinigt werden sollten können mit folgendem Code abgefragt werden:
    Code:
    USE SUSDB
    GO
    exec spGetObsoleteUpdatesToCleanup
  • Notieren Sie sich die Anzahl der Abgefragten Zeilen um später feststellen zu können ob die Bereinigung zumindest einen Teilerfolg bringt.
  • Löschen Sie die erste ID mit folgendem Befehl (123456 ist nur ein Beispiel und muss durch die erste ID ersetzt werden!):
    Code:
    USE SUSDB
    GO
    exec spDeleteUpdate @localUpdateID=123456
  • Anschließend die Bereinigung über den üblichen Weg testen. Mit dem Abfrage-Befehl aus Punkt 3 kann geprüft werden ob die zu löschenden Updates auch weniger werden. Kann sein, dass man hier öfter "hängt" und den Schritt des manuellen Löschens mehrfach durchführen muss.
*grüßgott*
Unter http://bit.ly/1pkx8Bm kann man diese Lösung noch komplett nachlesen.
Beitrag Verfasst: Donnerstag 23. Februar 2017, 10:44

Alle Zeiten sind UTC+01:00


Gehe zu:  
cron

Datenschutz UW-Operator.de

Zusätzlich für das Forum:
Nutzungsbedingungen | Datenschutzrichtlinie

Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de