Symantec Endpoint Protection Manager RESETPASS.BAT (Kennwort zurücksetzen) Script herunterladen

Der „Symantec Endpoint Protection Manager“ (SEPM) in der Version 12.x hat so ein prakisches kleines Script, das dem Administrator erlaubt, sein Kennwort „hart“ auf einem lokalen Server zurück zu setzen. Das ist unter anderem hilfreich, wenn der Admin wechselt, ein Kennwort verloren geht oder der Endpoint-Client von einem Virus mißbraucht wurde.

Das Script ist nur leider nicht mehr im Lieferumfang enthalten und man müsste erst umständlich einen Support-Case öffnen um das Script zu bekommen. Wenn es nicht ugg.li gäbe!

  • Download SEP 12.x RESETPASS.BAT (RESETPASS.CMD)
  • Im .\tools-Verzeichnis der SEPM-Installation ausführen
  • Benutzername und Kennwort laten dann „admin“ (in Zeile 7 am Ende änderbar – keine Sonderzeichen!)
  • NICHT unter 14.x ausführen! Das zerschießt die Datenbank

Der Inhalt des Scripts ist relativ übersichtlich:

@echo off
REM /* RESETPASS.CMD für Symantec Endpoint Protectoin Manager 12.x */

set CATALINA_HOME=%CD%\..\tomcat
set JRE_HOME=%CD%\..\jre

"%JRE_HOME%\bin\java.exe" -Xms64m -Xmx256m -XX:MinHeapFreeRatio=30 -XX:MaxHeapFreeRatio=40 -classpath "%CD%\..\bin\inst.jar;%CD%\..\bin\inst-res.jar" -Dcatalina.home="%CATALINA_HOME%" -Djava.library.path="%CATALINA_HOME%\bin;%CATALINA_HOME%\..\ASA\win32" com.sygate.scm.tools.DatabaseFrame setpassword admin admin
endlocal

Danke Symantec …

WSUS 4 Performance optimieren durch Datenbank-Reindexierung, Löschen und manuelles bearbeiten

Der WSUS unter Windows Server 2012/2012R2 und 2016 zeigt ab und zu gewisse Performance-Schwächen. Das äußert sich beispielsweise in dem berüchtigten „Serverknoten zurücksetzen“ Fehler oder dem „Fehler bei der Verbindung zur WSUS-Datenbank“ Anzeige.

Lösung

Der WSUS-Server ist tatsächlich ein Performance-Fresser. die Update-Datenbank ist riesig. Nicht immer ist hier die WID (Windows-Interne Datenbank) die richtie Lösung. Wartungsscripts und Neuindexierungsjob gibt es hier leider nicht.

Tipp 1 – WSUS-Datenbank defragmentieren und neuindexieren

  1. WSUSDBMaintenance Scripts herunterladen (nicht auf die Version achten – läuft auch unter WSUS 4)
  2. Microsoft® Command Line Utilities 11 for SQL Server herunterladen und installieren (oder alternativ das SMSS verwenden)
  3. Die Scripts ausführen:
    sqlcmd -E -S np:\\.\pipe\MICROSOFT##WID\tsql\query -i WsusDBMaintenance.sql

Tipp 2 – Cleanup-Agent laufen lassen

Der WSUS „Assistent für die Serverbereinigung“ kann die Datenbank deutlich entschlacken (und für mehr Platz sorgen). Läuft der Assistent nicht durch, hilft oft dieser Artikel.

Tipp 3 – Mehr Leistung

Ein WSUS mit vier Kernen und 8Gb RAM kann etwa 5000 Clients gut und schnell bedienen. viele WSUS-Maschinen haben aber deutlich weniger Ressourcen; eine leichte Aufstockung kann hier wunder bewirken.

Tipp 4 – Abgelaufene oder ersetzte Updates löschen

Der Fehler in diesem Artikel kann auch die Ursache für Verbindungstimeouts des Konsolenclients sein.

Dieses SQL-Script löscht die Updates direkt in der Datenbank, ohne einen externen Binärassistenten. Alle diese Updates auf einmal, ohne manuelles suchen.

DECLARE @var1 INT 
DECLARE @msg nvarchar(100) 
CREATE TABLE #results (Col1 INT) INSERT INTO #results(Col1) 
EXEC spGetObsoleteUpdatesToCleanup 
DECLARE WC Cursor FOR SELECT Col1 FROM #results 
OPEN WC 
FETCH NEXT FROM WC INTO @var1 WHILE (@@FETCH_STATUS > -1) 
BEGIN SET @msg = 'Deleting ' + CONVERT(varchar(10), @var1) RAISERROR(@msg,0,1) WITH NOWAIT 
EXEC spDeleteUpdate @[email protected] 
FETCH NEXT FROM WC INTO @var1 
END 
CLOSE WC 
DEALLOCATE WC 
DROP TABLE #results

Tipp 5 – SQL-Server Timeout für di WID/SUSDB hochsetzen/abschalten

Die meisten Konsolenaktionen laufen fehlerfrei durch, wenn man das SQL-Timout für querys entweder sehr hoch ansetzt, oder gleich ganz abschaltet. Achtung: Wenn man das Timeout abschaltet, laufen auch „tote“ Anfragen durch, bis sie fertig sind. Default sind 600 Sekunden.

USE SUSDB;  
GO  
EXEC sp_configure 'remote query timeout', 0 ;  
GO  
RECONFIGURE ;  
GO

 

SQL Server Management Studio „Das Ausfuerungstimeout ist abgelaufen“

Problem

Beim dem Versuch eine relativ große Tabelle im SQL Server Management Studio zu bearbeiten tritt der Fehler „Das Timeout ist abgelaufen.“ auf. Das gibt für Opetrationen wie auflisten, Index hinzufügen, Schlüssel ändern und ähnliches.

Die ganze Fehlermeldung lautet:

– Die Tabelle kann nicht geändert werden.
Das Timeout ist abgelaufen. Das Zeitlimit wurde überschritten, bevor der Vorgang beendet wurde, oder der Server antwortet nicht.

Lösung

Das Verhalten tritt aufgrund der Einstellung für Transaktionstimeouts für den Tabellen-Designer und den Datenbank-Designer in SQL Server Management Studio auf. Zum Glück ist das im Feld „Transaktionstimeout“ konfiguriertbar. Das Default ist mit 30Sekunden auch recht knapp bemessen. Man kann den Haken auch rausnehmen, dann wir das Remote-Timeout (Default: 10 Minuten) genommen. Eklrärung der anderen Optionen: https://msdn.microsoft.com/de-de/library/ms188490.aspx

Extras > optionen > Designer > Tabellen- und Datenbankdesigner

SQL Management Studio „Die Agent XPs-Komponente ist im Rahmen der Sicherheitskonfiguration für diesen Server deaktiviert.“

Die Agent XPs-Komponente ist im Rahmen der Sicherheitskonfiguration für diesen Server deaktiviert. Ein Systemadministrator kann die Verwendung von "Agent XPs" mithilfe von "sp_configure" aktivieren. Weitere Informationen zum Aktivieren von "Agent XPs" finden Sie unter "Oberflächenkonfiguration" in der SQL Server-Onlinedokumentation. (Microsoft.SqlServer.Management.MaintenancePlanWizard)Beim Einrichten eines Wartungsplanes, eines Dumps oder anderer Konfigurationseigenschaften erhält man diese Fehlermeldung:

„Die Agent XPs-Komponente ist im Rahmen der Sicherheitskonfiguration für diesen Server deaktiviert. Ein Systemadministrator kann die Verwendung von „Agent XPs“ mithilfe von „sp_configure“ aktivieren. Weitere Informationen zum Aktivieren von „Agent XPs“ finden Sie unter „Oberflächenkonfiguration“ in der SQL Server-Onlinedokumentation. (Microsoft.SqlServer.Management.MaintenancePlanWizard)“

Lösung

Neue SQL-Abfrage ausführen:

sp_configure 'show advanced options',1;
GO
RECONFIGURE;
GO
sp_configure 'Agent XPs',1;
GO
RECONFIGURE
GO

Mithilfe der Agent XPs kann man die erweiterten gespeicherten Prozeduren des SQL Server-Agenten auf dem SQL-Server aktivieren. Wenn diese SQL-Option nicht aktiviert ist, treten diese Fehler im Zusammenhang mit dem Agenten auf und der SQL Server-Agent-Knoten im Objekt-Explorer vom SQL-SMSS ist nicht verfügbar.

Mehr zum Thema:https://msdn.microsoft.com/de-de/library/ms178127.aspx

 

VMware vCenter Server – SQL Datenbank voll („An unrecoverable problem has occurred“)

Problem:

Der vCenter Server wird standardmäßig mit einem SQL-Express ausgeliefert, hierbei ist (unter 2008 R2) die Datenbank auf maximal 10GB limitiert.
Wenn diese Größe erreicht wird, gibt es verschiedene Symptome. z.B. ist keine Anmeldung am vCenter Server mehr möglich, (Veeam)-Sicherungen schlagen fehl, der Dienst „VMware VirtualCenter Server“ ist beendet oder in der Ereignisanzeige tauchen folgende einträge auf:

An unrecoverable problem has occurred, stopping the VMware VirtualCenter service. Error: Error[VdbODBCError] (-1) "ODBC error: (42000) - [Microsoft][SQL Server Native Client 10.0][SQL Server]Could not allocate space for object 'dbo.VPX_HOST_VM_CONFIG_OPTION'.'PK_VPX_HOST_VM_CONFIG_OPTION' in database 'VIM_VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup." is returned when executing SQL statement "INSERT INTO VPX_HOST_VM_CONFIG_OPTION WITH (ROWLOCK) (HOST_ID, CONFIG_OPTION_VER, DATA, ARRAY_INDEX, CONFIG_OPTION_DESC, CREATE_SUPPORTED_FLG, DEFAULT_CONFIG_OPTION_FLG, RUN_SUPPORTED_FLG, UPGRADE_SUPPORTED_FLG) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"

(Event-Quelle: MSSQL$SQLINSTANZ; Event-ID: 1827)
Could not allocate space for object 'dbo.VPX_HOST_VM_CONFIG_OPTION'.'PK_VPX_HOST_VM_CONFIG_OPTION' in database 'VIM_VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

(Event-Quelle: VMware VirtualCenter Server; Event-ID: 1000)

Lösung:

  1. Zunächst die Datenbankaufbewahrungsrichtlinie anpassen
    1. Falls eine anmeldung am vCenter Server noch möglich ist mit dem vSphere Client verbinden, unter Verwaltung -> vCenter Server-Einstellungen die Datenbankaufbewahrungsrichtlinie anpassen und danach den VMware VirtualCenter Server-Dienst beenden vcenter_datenbankaufbewahrungsrichtline_client
    2. Ist eine Anmeldung nicht mehr möglich, z.B. weil der Dienst nicht gestartet werden kann, muss die Änderung direkt in der Datenbank vorgenommen werden:
      1. Mit einem SQL Management Studio auf den SQL-Server verbinden
      2. Im Objekt Explorer die Punkte Datenbanken, VIM_VCDB (standardmäßig), Tabellen erweitern
      3. Rechtsklick auf die Tabelle dbo.VPX_PARAMETER -> Oberste 200 Zeilen bearbeiten
      4. event.maxAge und task.maxAge anpassen und event.maxAgeEnabled und task.maxAgeEnabled auf true setzen
  2. Spätestens jetzt wird das SQL Management Studio benötigt: Datenbanken -> VIM_VCDB (standardmäßig) -> Programmierbarkeit -> Gespeicherte Prozeduren erweitern
  3. Rechtsklick auf dbo.cleanup_events_tasks_proc -> Gespeicherte Prozedur ausführen… und das nächste Fenster mit OK bestätigen
  4. Die ausführung kann je nach größe der Datenbank einige Zeit in Anspruch nehmen
  5. Danach Rechtsklick auf die Datenbank VIM_VCDB -> Tasks -> Verkleinern -> Datenbank und nächstes Fenster mit OK bestätigen
  6. Auch dieser Schritt kann einige Zeit in Anspruch nehmen
  7. Die Datenbank sollte nun wieder einiges an Platz haben
  8. Der Dienst kann wieder gestartet werden und die Datenbankaufbewahrungsrichtlinie kann zurück auf den Standard gesetzt werden (180 Tage / deaktiviert für Aufgaben und Ereignisse)

WSUS Assistent für die Serverbereinigung bricht mit Datenbankfehler ab „Serverknoten zurücksetzen“

Problem

assistent-wsus-serverbereinigungDie Update-Bereinigung des 2008er WSUS Serverdienstes bricht nach langer Laufzeit ab. Der Assistent läuft bei hoher CPU-Auslastung sehr lange, tut aber augenscheinlich nichts. Es werden keine Updates entfernt und der Asistent bleubt nach einer Weile mit einem Timeout-Fehler stehen.

Fehlermeldung:

Beim ausführen eines Datenbankvorganges ist ein Fehler aufgetreten. Dies kann geschehen, wenn die Datenbank sehr ausgelastet, der Datenbankdienst beendet wurde oder die Verbindung mit der Datenbank getrennt wurde.

 

Lösung

Wenn die Windows-eigene SQL-Instanz (WSSEE) aus dem Lieferumfangt genutzt wird, muss hier erst der pipe-Zugriff erlaubt werden („piped pipes“). Per Default ist der Zugriff abgeschaltet.

  1. Den „SQL Server Configuration Manager“ (im Lieferumfang vom SQL Management Studio) installieren, starten
  2. Protokolle für „MICROSOFT##SSEE“ auswählen in den Eigenschaften das „Instanz verstecken“-Feld auf „nein“ stellen.
  3. Dienst neu Starten
  4. SQL Server Configuration Manager >  SQL Native Client Konfiguration > Aliase >  Rechtsklick auf den Alias „<servername>\Microsoft##SSEE“ > Eigenschaften
  5. Den Aliasnamen ändern, von „<servername>\Microsoft##SSEE“ zu „<servername>\##SSEE“

Dann kann man sich mit dem SQL Server Management Studio (oder einem anderen SQL-Client) zu der Instanz verbinden. Wer einen ausgewachsenen SQL-Server nutzt, kann dies selbstverständlich auch sofort tun.

  1. Mit dem SQL Management Studio zur entsprechenden SQL-Instanz verbinden
    1. Die SQL-Express Instanz aus dem WSSEE heisst „\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query“ (einfach in das ‚Servername‘ Feld eingeben)
    2. Für die WSSEE die „Named Pipes“ unter den Netzwerkprotokollen > Verbindungseinstellungen auswählen
  2. Diese Query ausführen:
    USE SUSDB;
    exec spGetObsoleteUpdatesToCleanup;
    
  3. Das Ergebnis ist in der Regel eine lange Liste von obsoleten Update-ID-Nummern. In den meisten Fällen „klemmt“ nur ein Update, nach dessen Entfernung der Assistent wieder problemlos funktioniert. Updates entfernen:
    exec spDeleteUpdate @localUpdateID=<ID-Nummer des Updates>

Update: Seit Windows Server 2012 sieht der Verbindungsalias etwas anders aus.

Microsoft SQL Server (MSSQL) model, tempdb, msdb und master Datenbank verschieben

Kann man die Systemdatenbanken (master, model, msdb, tempdb) im Dateisystem verschieben, zum Beispiel auf ein anderes Laufwerk ?Ja. Im laufenden Betrieb? Nein.

So verschiebt man die Systemdatenbanken MODEL, MASTER und MSDB

Wo befinden sich die Datenbankdateien im Moment?

sql-systemdatenbanken-verschieben

SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID(N’model’);
  1. Neuen physikalischen Pfad für model, msdb und tempdb festlegen:
    USE master;
    -- model Datenbank verschieben
    ALTER DATABASE model MODIFY FILE (NAME = modeldev, FILENAME = "E:\SQL-DB\model.mdf");
    ALTER DATABASE model MODIFY FILE (NAME = modellog, FILENAME = "E:\SQL-DB\modellog.ldf");
    -- msdb Datenbank verschieben
    ALTER DATABASE msdb MODIFY FILE (NAME = MSDBData, FILENAME = "E:\SQL-DB\MSDBData.mdf");
    ALTER DATABASE msdb MODIFY FILE (NAME = MSDBLog, FILENAME =  "E:\SQL-DB\MSDBLog.ldf");
    -- tempdb Datenbank verschieben
    ALTER DATABASE TempDB MODIFY FILE (NAME = Tempdev, FILENAME = "E:\SQL-DB\tempdb.mdf");
    ALTER DATABASE TempDB MODIFY FILE (NAME = Templog, FILENAME = "E:\SQL-DB\templog.ldf");
    
  2. SQL Server Dienst beenden
  3. Dateien im Dateisystem verschieben
  4. SQL Server Dienst starten

So verschiebt man die Systemdatenbank MASTER

  1. SQL Konfigurationsmanager öffnen
  2. Links in der Baumansicht auf „SQL Server Dienste“
  3. Rechts die Eigenschaften von „SQL Server (INSTANZNAME)“ öffnen
  4. Auf dem Tab „Startparameter“ die Pfade auf die neuen Zielpfade ändern
    1. ACHTUNG, BUG in SQL 2012/2014: Der „Aktualisieren“ Knopf lässt keine Pfade zu, die ein Minuszeichen enthalten („Ungültiger Parameter“).
    2. Wenn der Pfad ein Minuszeichen enthält, muss man den Pfad in der Registry direkt bearbeiten:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQLServer\Parameters
  5. SQL-Server Dienst beenden
  6. Dateien im Dateisystem verschieben
  7. SQL-Server Dienst startensql-masterdatenbank-verschieben

Microsoft SQL Server alle Datenbanken (Datenbankdateien) verkleinern

Problem

Einige Datenbanken (=Datenbankdateien) in einem SQL-Server sind extrem gewachsen und belegen nach Leerung nun immernoch viel physikalischen Speicher. Man kann natürlich jede Datenbank im Management Studio einzeln anklicken und unter „Tasks“ auf „Verkleinern“ klicken oder ein DBCC-Kommando in jeder Datenbanka ausführen, bei vielen Datenbänken in einer Instanz dauert das aber extrem lange.

Lösung

EXEC sp_MSForEachDB 'DBCC SHRINKDATABASE (''?'' , 0)'

Achtung! Es ist fast nie sinnvoll, Datenbankdateien einfach-mal-so zu verkleinern. Indizes und die Datenbank selber werden dann bei Aktivität in der Regel stark fragmentiert, was wahnsinnig auf die Performance durchschlägt. Für eine Virtualisierung, verschieben, eine Sicherungskalkulation oder bei Vorgängen die geplant viele Daten entsorgen, kann das aber auch durchaus hilfreich sein. Im Zweifel vorher einen (fähigen) DBA fragen.