Im Einzelbenutzermodus kann keine Verbindung zum SQL Server hergestellt werden


10

Ich habe mein SQL Server 2008 sqlcst02\inst01In gestartet, Single User Modeindem ich das ;-man das Ende der Startparameter für diese Instanz in angehängt habe SQL Server Configuration Manager. Ich habe SQL Server Agentfür die inst01Instanz angehalten . Mein Konto ist Mitglied von Domain Admin groupund ich habe versucht, mich mit anzumelden sqlcmd -S sqlcst02\inst01und immer wieder eine Fehlermeldung zu erhalten, dass der Dienst Single User Modeangemeldet ist und nur ein Administrator angemeldet sein kann. Ich habe versucht ;-m"sqlcmd", die Startparameter zu ergänzen, um die Verbindung auf nur zu beschränken, sqlcmdaber ich erhalte die gleiche Ergebnisse. Ich habe versucht, dies als mein eigenes Konto angemeldet und als lokales Administratorkonto angemeldet. Ich habe die Eingabeaufforderung als ich selbst und als Administrator gestartet, erhalte jedoch die gleichen Ergebnisse. Ich habe versucht, eine Verbindung mit ADMIN:sqlcst02\inst01in herzustellen SSMS. Kein Glück.

Ich versuche, das saPasswort zurückzusetzen, da mir keine dieser Informationen vom vorherigen Administrator hinterlassen wurde. Das ist ja zum verrückt werden. Ich habe dies zuvor auf anderen Computern ohne Probleme getan.


1
Ist Ihr Domänenkonto (entweder explizit oder über eine Gruppe) Mitglied der Sysadmin-Serverrolle in der SQL Server-Instanz?
Brian Knight

Ich weiß es nicht. Ich weiß, dass ich Mitglied der Domänenadministratorgruppe und einer SQL ADMINS-Gruppe bin und dass die SQL ADMINS-Gruppe Mitglied der Sysadmin-Rolle auf allen anderen Servern ist. Aber ich wette, dass dies bei dieser Maschine nicht der Fall ist.

Läuft Ihr SQL in einem Cluster? In diesem Cluster hat der Dienst vor Ihnen eine offene Verbindung zu SQL. Eine andere Möglichkeit, dass Sie einen Dienst oder eine Anwendung haben, die als Sysadmin eine Verbindung zum SQL Server herstellt, bevor Sie als Administrator eine Verbindung herstellen können.
SQL Learner

An der Verbindung ist nichts auszusetzen, und an der Anmeldung ist nichts auszusetzen. Wenn Sie den Fehler im Einzelbenutzermodus sehen, müssen Sie herausfinden, was sonst noch eine Verbindung zur Instanz herstellt, und dies mindestens so lange verhindern, bis Sie die Verbindung selbst hergestellt haben.
Jon Seigel

Antworten:


6

Eine weitere Alternative zum Wiederherstellen des Zugriffs auf einen SQL Server wird in diesem Artikel beschrieben und erfordert keinen Neustart im Einzelbenutzermodus:

http://www.mssqltips.com/sqlservertip/2682/recover-access-to-a-sql-server-instance/

Laden Sie im Wesentlichen PSExec herunter und führen Sie es dann mit der folgenden Befehlszeile aus (geben Sie Ihren Speicherort für SSMS.exe ein):

PsExec -s -i "C:\Program Files (x86)\...\ssms.exe"

Sie werden aufgefordert, eine Verbindung herzustellen. Der Authentifizierungsmodus ist Windows-Authentifizierung und fest codiert NT AUTHORITY\SYSTEM. Sobald die Verbindung hergestellt ist, können Sie in die Sicherheit gehen und das sa-Passwort festlegen, sich als Administrator hinzufügen, andere Administratoren hinzufügen usw.

Der obige Artikel enthält einige Einschränkungen, die Sie lesen sollten, bevor Sie dies versuchen, und Sie können auch die Kommentare unten lesen.


1

Ich wurde gerade von diesem gebissen. Was ich vergessen hatte, war, die CMD-Eingabeaufforderung als Administrator auszuführen. Dies ist nicht die Standardeinstellung in Windows 2008 R2. Sobald ich das getan hatte, war alles in Ordnung. Einer meiner Kollegen schlug dieses Problem vor und hey presto alles behoben. Ich fühle mich wie ein Idiot, aber ich dachte, ich würde teilen, um andere zu retten.


0

OK - Wenn Sie in SQL Server nicht die Systemadministratorrolle haben, können Sie nicht über den Einzelbenutzermodus zugreifen. Wenn Sie ein Administrator auf dem Server selbst sind, können Sie die Antwort in diesem Beitrag verwenden , um Ihnen zu helfen.


Wenn Sie ein Administrator auf dem Server selbst sind, können Sie sich wie in den Dokumenten beschrieben im Einzelbenutzermodus anmelden. Die Verbindung wird so behandelt, als wären Sie in der sysadminRolle. Soweit ich sehen kann, ist genau das, was der Blog-Beitrag, auf den von Ihrem anderen Link aus verwiesen wird, tut.
Martin Smith

0

Ich hatte ein ähnliches Problem, bei dem ein Cluster ausfiel, weil ich das Maximum auf 12 gesetzt hatte (anstelle von 120000 war meine Null anscheinend gebrochen).

Ich bemerkte, dass bei Verwendung der normalen Eingabeaufforderung für Startparameter und bei sqlcmd -AI Anmeldezeitüberschreitungen auftraten und Fehlermeldungen angezeigt wurden, dass der DAC wahrscheinlich nicht verbunden war.

Ich habe die SQL-Dienste gestartet, indem ich die Startparameter vom Konfigurationsmanager in eine administrative Powershell-Eingabeaufforderung kopiert und die Parameter -cf hinzugefügt habe.

In einem anderen Fenster konnte ich sqlcmd verwenden, aber nicht mit dem Parameter -A, sondern nur mit Standardverbindungen.

Zu diesem Zeitpunkt konnte ich Abfragen ausführen und sp_configured meinen Ausweg. Dies war mit einem Domain-Konto.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.