Freigeben über


Herstellen einer Verbindung mit SQL Server, wenn Systemadministratoren gesperrt sind

In diesem Thema wird beschrieben, wie Sie als Systemadministrator wieder Zugriff auf die SQL Server-Datenbank-Engine erhalten. Ein Systemadministrator kann aus einem der folgenden Gründe den Zugriff auf eine instance SQL Server verlieren:

  • Alle Anmeldedaten, die Mitglieder der festen Serverrolle sysadmin sind, wurden versehentlich entfernt.

  • Alle Windows-Gruppen, die Mitglieder der festen Serverrolle sysadmin sind, wurden versehentlich entfernt.

  • Die Anmeldedaten, die Mitglieder der festen Serverrolle sysadmin sind, gehören zu Mitarbeitern, die das Unternehmen verlassen haben oder nicht verfügbar sind.

  • Das sa-Konto wurde deaktiviert, oder das Kennwort ist unbekannt.

Eine Möglichkeit, den Zugriff wiederzuerlangen, besteht darin, SQL Server neu zu installieren und alle Datenbanken an die neue instance anzufügen. Diese Lösung ist zeitaufwändig. Außerdem kann es zum Wiederherstellen der Anmeldedaten erforderlich sein, die Masterdatenbank aus einer Sicherung wiederherzustellen. Je nach Datum der Sicherung der Masterdatenbank sind möglicherweise nicht alle Informationen enthalten. Wenn die Sicherung der Masterdatenbank aktuell ist, sind möglicherweise die gleichen Anmeldedaten wie in der vorherigen Instanz enthalten und die Administratoren sind immer noch gesperrt.

Lösung

Starten Sie die instance von SQL Server im Einzelbenutzermodus, indem Sie entweder die Optionen -m oder -f verwenden. Jedes Mitglied der lokalen Administratorengruppe des Computers kann als Mitglied der festen Serverrolle sysadmin eine Verbindung zur SQL Server-Instanz herstellen.

Hinweis

Wenn Sie eine instance von SQL Server im Einzelbenutzermodus starten, beenden Sie zuerst den SQL Server-Agent-Dienst. Andernfalls kann SQL Server-Agent zuerst eine Verbindung herstellen und verhindern, dass Sie als zweiter Benutzer eine Verbindung herstellen.

Wenn Sie die Option -m mit sqlcmd oder SQL Server Management Studio verwenden, können Sie die Verbindungen auf eine angegebene Clientanwendung beschränken. Beispielsweise beschränkt -m"sqlcmd" Verbindungen auf eine einzelne Verbindung, und diese Verbindung muss sich selbst als sqlcmd-Clientprogramm identifizieren. Verwenden Sie diese Option, wenn Sie SQL Server im Einzelbenutzermodus starten und eine unbekannte Clientanwendung die einzige verfügbare Verbindung belegt. Um die Verbindung über den Abfrage-Editor in Management Studioherzustellen, verwenden Sie -m"Microsoft SQL Server Management Studio - Query" .

Wichtig

Verwenden Sie diese Option nicht als Sicherheitsfunktion. Die Clientanwendung gibt den Clientanwendungsnamen an und kann als Teil der Verbindungszeichenfolge einen falschen Namen angeben.

Ausführliche Anweisungen zum Starten von SQL Server im Einzelbenutzermodus finden Sie unter Konfigurieren von Serverstartoptionen (SQL Server-Konfigurations-Manager).

Schritt-für-Schritt-Anweisungen

In den folgenden Anweisungen wird der Prozess zum Herstellen einer Verbindung mit SQL Server 2014 unter Windows 8 oder höher beschrieben. Auf geringfügige Abweichungen bei früheren Versionen von SQL Server oder Windows wird ggf. hingewiesen. Diese Anweisungen müssen ausgeführt werden, während Sie bei Windows als Mitglied der lokalen Administratorgruppe angemeldet sind, und es wird davon ausgegangen, dass SQL Server Management Studio auf dem Computer installiert ist.

  1. Starten Sie auf der Startseite SQL Server Management Studio. Wählen Sie im Menü Ansicht die Option Registrierte Serveraus. (Wenn Ihr Server noch nicht registriert ist, klicken Sie mit der rechten Maustaste auf Lokale Servergruppen, zeigen auf Tasksund klicken dann auf Lokale Serverregistrieren.)

  2. Klicken Sie im Bereich „Registrierte Server“ mit der rechten Maustaste auf den Server, und klicken Sie dann auf SQL Server-Konfigurations-Manager. Eine Berechtigung zum Ausführen als Administrator sollte angefordert und der Konfigurations-Manager geöffnet werden.

  3. Schließen Sie Management Studio.

  4. Wählen Sie im linken Bereich des SQL Server -Konfigurations-Managers die Option SQL Server-Diensteaus. Suchen Sie im rechten Bereich Ihre SQL Server-Instanz. (Bei der Standardinstanz von SQL Server ist (MSSQLSERVER) nach dem Computernamen angegeben. Benannte Instanzen werden in Großbuchstaben mit demselben Namen wie unter Registrierte Server angezeigt.) Klicken Sie mit der rechten Maustaste auf die SQL Server-Instanz, und klicken Sie dann auf Eigenschaften.

  5. Geben Sie auf der Registerkarte Startparameter im Feld Startparameter angeben den Namen ein -m , und klicken Sie dann auf Add. (Der Parameter entspricht einem Bindestrich und dem Kleinbuchstaben m.)

    Hinweis

    Bei einigen früheren SQL Server -Versionen gibt es keine Registerkarte Startparameter . Doppelklicken Sie in diesem Fall auf der Registerkarte Erweitert auf Startparameter. Die Parameter werden in einem sehr kleinen Fenster geöffnet. Achten Sie darauf, die vorhandenen Parameter nicht zu ändern. Fügen Sie ganz unten den neuen Parameter ;-m hinzu, und klicken Sie auf OK. (Der Parameter entspricht einem Semikolon, einem Bindestrich und dem Kleinbuchstaben m.)

  6. Klicken Sie auf , und klicken Sie OKnach der Meldung zum Neustart mit der rechten Maustaste auf Ihren Servernamen, und klicken Sie dann auf Neu starten.

  7. Nachdem SQL Server neu gestartet wurde, befindet sich Ihr Server im Einzelbenutzermodus. Stellen Sie sicher, dass der SQL Server-Agent nicht ausgeführt wird. da er andernfalls Ihre einzige Verbindung belegt.

  8. Klicken Sie auf dem Windows 8-Startbildschirm mit der rechten Maustaste auf das Symbol für Management Studio. Wählen Sie am unteren Bildschirmrand Als Administrator ausführenaus. (Dadurch werden Ihre Administratoranmeldeinformationen an SSMS übergeben.)

    Hinweis

    In früheren Windows-Versionen wird die Option Als Administrator ausführen als Untermenü angezeigt.

    In einigen Konfigurationen versucht SSMS, mehrere Verbindungen herzustellen. Mehrere Verbindungen verursachen einen Fehler, da SQL Server im Einzelbenutzermodus ausgeführt wird. Sie können zwischen folgenden Aktionen wählen. Führen Sie einen der folgenden Schritte aus:

    1. Stellen Sie über den Objekt-Explorer unter Verwendung der Windows-Authentifizierung (die Ihre Administratoranmeldeinformationen enthält) eine Verbindung her. Erweitern Sie Sicherheitsowie Anmeldungen, und doppelklicken Sie auf Ihre eigene Anmeldung. Wählen Sie auf der Seite Serverrollen die Option aus sysadmin, und klicken Sie dann auf OK.

    2. Anstatt über den Objekt-Explorer stellen Sie in einem Abfragefenster unter Verwendung der Windows-Authentifizierung (die Ihre Administratoranmeldeinformationen enthält) eine Verbindung her. (Sie können diese Verbindung nur herstellen, wenn Sie keine Verbindung mit Objekt-Explorer hergestellt haben.) Führen Sie Code wie den folgenden aus, um eine neue Windows-Authentifizierungsanmeldung hinzuzufügen, die Mitglied der sysadmin festen Serverrolle ist. Im folgenden Beispiel wird ein Domänenbenutzer mit dem Namen CONTOSO\PatK hinzugefügt.

      CREATE LOGIN [CONTOSO\PatK] FROM WINDOWS;  
      ALTER SERVER ROLE sysadmin ADD MEMBER [CONTOSO\PatK];  
      
    3. Wenn SQL Server im gemischten Authentifizierungsmodus ausgeführt wird, stellen Sie eine Verbindung in einem Abfragefenster unter Verwendung der Windows-Authentifizierung her (die Ihre Administratoranmeldeinformationen enthält). Führen Sie Code wie den folgenden aus, um eine neue SQL Server Authentifizierungsanmeldung zu erstellen, die Mitglied der sysadmin festen Serverrolle ist.

      CREATE LOGIN TempLogin WITH PASSWORD = '************';  
      ALTER SERVER ROLE sysadmin ADD MEMBER TempLogin;  
      

      Warnung

      Ersetzen Sie ************ durch ein sicheres Kennwort.

    4. Wenn Ihr SQL Server im gemischten Authentifizierungsmodus ausgeführt wird und Sie das Kennwort des Kontos zurücksetzen möchten, stellen Sie mithilfe der sa Windows-Authentifizierung (einschließlich Ihrer Administratoranmeldeinformationen) eine Verbindung mit einem Abfragefenster her. Ändern Sie das Kennwort des sa Kontos mit der folgenden Syntax.

      ALTER LOGIN sa WITH PASSWORD = '************';  
      

      Warnung

      Ersetzen Sie ************ durch ein sicheres Kennwort.

  9. Die folgenden Schritte ändern SQL Server nun wieder in den Mehrbenutzermodus. Schließen Sie SSMS.

  10. Wählen Sie im linken Bereich des SQL Server -Konfigurations-Managers die Option SQL Server-Diensteaus. Klicken Sie im rechten Bereich mit der rechten Maustaste auf die Instanz von SQL Server, und klicken Sie dann auf Eigenschaften.

  11. Wählen Sie auf der Registerkarte Startparameter im Feld Vorhandene Parameter die Option aus -m , und klicken Sie dann auf Remove.

    Hinweis

    Bei einigen früheren SQL Server -Versionen gibt es keine Registerkarte Startparameter . Doppelklicken Sie in diesem Fall auf der Registerkarte Erweitert auf Startparameter. Die Parameter werden in einem sehr kleinen Fenster geöffnet. Entfernen Sie die ;-m zuvor hinzugefügte, und klicken Sie dann auf OK.

  12. Klicken Sie mit der rechten Maustaste auf den Servernamen, und klicken Sie dann auf Neu starten.

Jetzt sollten Sie in der Lage sein, eine normale Verbindung mit einem der Konten herzustellen, das jetzt Mitglied der sysadmin festen Serverrolle ist.

Weitere Informationen

Starten von SQL Server im Einzelbenutzermodus
Startoptionen für den Datenbank-Engine-Dienst