Share via


Starten von SQL Server im Einzelbenutzermodus

Unter bestimmten Umständen müssen Sie eine Instanz von SQL Server im Einzelbenutzermodus starten, indem Sie die Startoption -m verwenden. Zum Beispiel, wenn Sie die Konfigurationsoptionen des Servers ändern oder eine beschädigte Master-Datenbank oder eine andere Systemdatenbank wiederherstellen möchten. Beide Aktionen erfordern das Starten einer Instanz von SQL Server im Einzelbenutzermodus.

SQL Server im Einzelbenutzermodus zu starten, ermöglicht einem beliebigen Mitglied der lokalen Administratorengruppe des Computers, eine Verbindung mit der Instanz von SQL Server als Mitglied der festen Serverrolle "sysadmin" herzustellen. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SQL Server, wenn Systemadministratoren gesperrt sind.

Beachten Sie beim Starten einer Instanz von SQL Server im Einzelbenutzermodus Folgendes:

  • Nur ein einziger Benutzer kann die Verbindung mit dem Server herstellen.

  • Der CHECKPOINT-Prozess wird nicht ausgeführt. Standardmäßig wird dieser Prozess beim Starten automatisch ausgeführt.

Hinweis

Beenden Sie den SQL Server -Agent-Dienst, bevor Sie eine Verbindung mit einer Instanz von SQL Server im Einzelbenutzermodus herstellen, da andernfalls der SQL Server -Agent-Dienst diese Verbindung verwendet und somit blockiert.

Wenn Sie eine Instanz von SQL Server im Einzelbenutzermodus starten, kann SQL Server Management Studio eine Verbindung mit SQL Serverherstellen. Der Objekt-Explorer in Management Studio erzeugt möglicherweise einen Fehler, da einige Vorgänge mehr als eine Verbindung erfordern. Um SQL Server im Einzelbenutzermodus zu verwalten, führen Sie Transact-SQL-Anweisungen aus, indem Sie sich nur über den Abfrage-Editor in Management Studio verbinden, oder verwenden Sie das Dienstprogramm sqlcmd.

Wenn Sie die Option -m mit sqlcmd oder 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.

Hinweis für gruppierte Installationen

Für die SQL Server -Installation in einer Clusterumgebung verwendet die Clusterressourcen-DLL, wenn SQL Server im Einzelbenutzermodus gestartet wird, die verfügbare Verbindung, wodurch alle anderen Verbindungen mit dem Server blockiert werden. Wenn SQL Server diesen Status aufweist, wenn Sie versuchen, die SQL Server -Agent-Ressource online zu schalten, wird möglicherweise ein Failover für die SQL-Ressource auf einen anderen Knoten ausgeführt, wenn die Ressource so konfiguriert ist, dass sie sich auf die Gruppe auswirkt.

Gehen Sie folgendermaßen vor, um das Problem zu verhindern:

  1. Entfernen Sie den -m-Startparameter aus den erweiterten SQL Server-Eigenschaften.

  2. Schalten Sie die SQL Server -Ressource offline.

  3. Geben Sie aus dem aktuellen Benutzerknoten dieser Gruppe den folgenden Befehl an der Eingabeaufforderung aus:
    net start MSSQLSERVER /m.

  4. Überprüfen Sie in Konsole der Clusterverwaltung oder der Failoverclusterverwaltung, dass die SQL Server -Ressource immer noch offline ist.

  5. Verbinden Sie sich nun mit dem folgenden Befehl mit dem SQL Server und führen Sie die notwendige Operation durch: SQLCMD -E -S <servername>.

  6. Schließen Sie die Eingabeaufforderung, nachdem der Vorgang abgeschlossen wurde, und schalten Sie die SQL-Ressource sowie andere Ressourcen über die Clusterverwaltung wieder online.

Weitere Informationen

Starten, Beenden oder Anhalten des SQL Server-Agent-Diensts
Diagnoseverbindung für Datenbankadministratoren
SQLCMD-Hilfsprogramm
CHECKPOINT (Transact-SQL)
sp_configure (Transact-SQL)
Startoptionen für den Datenbank-Engine-Dienst