SQL Express 2012/2014 Windows Authentifizierung nach crash zurücksetzen

Problem

Der Microsoft SQL Server Express Edition ist sehr praktisch, aber leider nach der Installation auch leicht zu übersehen. Nach einem Domänenwechsel, Domänen-Autritt oder einem Crash (der zum Verlust der Anmeldekonten führte) ist eine SQL-Express-Instanz nicht mehr zugänglich. Standardmäßig sind nur Windows-Anmeldungen erlaubt, die es nun ja nicht mehr gibt.

„Zugriff verweigert“ oder „Access to Database denied“ lauten die Fehlermeldungen dazu.

Lösung

Man kann die Authentifizierung im SQLEE insofern zurücksetzen, als das man sein eigenes Anmeldekonto (sofern administrativ) zum SYSADMIN in der Datenbankinstanz macht. Dann kann mann sich wieder anmelden, die Rechte zurücksetzen und seine Datenbanken richtig konfigurieren.

Dazu muss die Datenbank im „Einzelbenutzermodus“ gestartet werden:

  • SQL Server Configuration manager („SQL Server 2014-Konfigurations-Manager“) öffnen
  • Links im Baum unter den „SQL Server-Diensten“ rechts den SQL Server auswählen
  • Eigenschaften > Startparameter > „-m“ hinzufügen („Add“), ohne Anfürungszeichen
  • Dienst neu starten (nun ist die DB im Einzelbenutzermodus)
  • Mit SQLCMD zur Instanz verbinden:
C:\> "%ProgramFiles%\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\SQLCMD.EXE" -S .\<INSTANZNAME>
  • Am SQL Prompt dann den Admin hinzufügen
1> EXEC sp_addsrvrolemember '<SERVER/DOMAINNAME>\<BENUTZER>', 'sysadmin'
2> GO
1> exit
  • Dann den Startparameter „-m“ wieder entfernen, den Dienst neu starten und an der Instanz mit dem gerade hinzugefügten Konto anmelden.

Fertig 🙂

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 …

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)