Hilfe, ich habe mich ausgesperrt! Oder: Die sysadmin Rolle eines SQL Servers wiederherstellen

Kommentar hinzufügen Freitag, 29. Januar 2010, 13:46

Sollte zwar nicht passieren, kann aber: Man löscht auf einem SQL Server den einzigen Benutzer mit der sysadmin Rolle. Oder es passiert eher durch Zufall in dem man einen Rechner in eine neue Domäne umzieht und dann keinen User mehr zur Verfügung hat der über sysadmin Rechte verfügt. Letzteres war neulich bei mir der Fall.

Aber es gibt eine Möglichkeit wie man wieder Zugriff auf seinen SQL erhält. Voraussetzung dafür ist natürlich administrativer Zugriff auf den Server selbst ;-) .

  1. Den Startparameter –m zum SQL Datenbankdienst hinzufügen um diese im Single User Mode zu starten (erfordert einen Neustart des Dienstes).
  2. Alle weiteren SQL Dienste stoppen.
  3. In einer Kommandozeile ‘sqlcmd.exe –E’ starten und folgende Befehle eingeben:
    create login [domain\useraccount] from windows;
    EXEC sp_addsrvrolemember ‘domain\user’,’sysadmin’

    Die Befehle müssen mit einem “go” bestätigt werden – erst dann werden sie auch ausgeführt.

  4. Startparameter –m wieder entfernen und Dienste neustarten.

Voilá, man hat wieder Vollzugriff auf seinen SQL Server. Kleine Anmerkung: Ich habe das ganze auf einem SQL Server 2008 durchgeführt, es sollte aber auch mit einem 2005er funktionieren.

Viele Grüße
Nils

  1. Dienstag, 25. Oktober 2011 at 20:29 | #1
    jon

    microsoft ist das problem auch bekannt:

    http://msdn.microsoft.com/en-us/library/dd207004.aspx

    dafür kann ich das folgende script empfehlen:

    http://archive.msdn.microsoft.com/addselftosqlsysadmin/Release/ProjectReleases.aspx?ReleaseId=3954

  1. Bisher keine Trackbacks.
Kommentar Feed