Wie kann ich das SA-Passwort auf dem Microsoft SQL Server zurücksetzen?
In diesem Artikel erfahren Sie, wie Sie das SA-Kennwort (Systemadministrator) in Microsoft SQL Server 2019/2017/2014/2012 zurücksetzen . Dieses Handbuch hilft Ihnen, den Zugriff auf die MSSQL-Datenbank wiederherzustellen, wenn Sie sich nicht mit dem sa
-Konto authentifizieren können (das sa
-Kennwort wurde vergessen / verloren / das Konto wurde deaktiviert) oder als Windows-Benutzer (wenn keine Benutzer mit MS SQL Sysadmin-Berechtigungen vorhanden sind).
Um den Zugriff auf die Datenbank wiederherzustellen, ohne die MS SQL-Instanz vollständig neu zu installieren (und mit dem Verlust der Master-Datenbank), müssen Sie SQL Server im Einzelbenutzermodus starten. In diesem Modus können Sie sich unter jedem Konto mit lokalen Administratorberechtigungen auf dem Computer, auf dem MS SQL Server installiert ist, bei SQL Server anmelden. Anschließend können Sie das Kennwort für das sa-Konto zurücksetzen und / oder bestimmten Windows-Konten Administratorberechtigungen erteilen.
Um MS SQL Server im Einzelbenutzermodus auszuführen, melden Sie sich unter Windows unter einem beliebigen Konto mit lokaler Administratorberechtigung beim MSSQL-Host an.
- Beenden Sie die SQL Server-Instanz (in unserem Beispiel lautet der MSSQL-Instanzname MSSQLSERVER) über die Eingabeaufforderung
net stop MSSQLSERVER
oder mithilfe von PowerShell:Get-Service MSSQLSERVER| Stop-Service
- Öffnen Sie den Registrierungseditor (
regedit.exe
) und wechseln Sie zum Registrierungsschlüssel des SQL-Dienstes: HKEY_LOCAL_MACHINE \SYSTEM\ControlSet001\Services\MSSQLSERVER; - Ändern Sie den Wert des Parameters ImagePath, indem Sie die Option -m als Argument sqlservr.exe. Legen Sie beispielsweise die folgende Startzeichenfolge fest:
"C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER -m
- SQL Server starten:
net start MSSQLSERVER
- Ihr SQL Server wird jetzt im Einzelbenutzermodus ausgeführt und ermöglicht es jedem Mitglied der lokalen Administratorgruppe (oder dem integrierten Windows-Administrator), mit Systemadministratorrechten eine Verbindung zur SQL Server-Instanz herzustellen;
- Öffnen Sie das SQL Server Management Studio (SSMS) und stellen Sie mit einem Konto, das Mitglied der lokalen Administratorgruppe ist, eine Verbindung zum SQL Server-Datenbankmodul her;
- Gehen Sie zu Sicherheit -> Anmeldungen und suchen Sie den sa-Benutzer. Der sa-Benutzer ist standardmäßig deaktiviert;
- Öffnen Sie die Eigenschaften, wechseln Sie zur Registerkarte Allgemein und legen Sie ein neues SA-Kennwort fest. Aktivieren Sie dann dieses Konto auf der Registerkarte Status (Login -> Aktiviert);
- Um eine Verbindung zu MSSQL unter lokalen SQL-Konten (einschließlich sa) herzustellen, müssen Sie den SQL Server- und Windows-Authentifizierungsmodus in den Servereigenschaften auf der Registerkarte Sicherheit aktivieren. Andernfalls wird beim Herstellen einer Verbindung unter dem lokalen sa-Konto ein Fehler angezeigt:
Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)
- Außerdem können Sie im Abschnitt Anmeldungen die erforderlichen Windows-Benutzer (lokal oder Domäne) hinzufügen und ihm einen Sysadmin-Tole zuweisen (auf der Registerkarte Serverrollen). Sie können dem Benutzer auch eine Rolle über die sqlcmd-CLI hinzufügen:
EXEC sp_addsrvrolemember 'DOMAIN\Username', 'sysadmin';)
GO
- Es bleibt übrig, den MSSQL-Dienst erneut zu stoppen und den Anfangswert des ImagePart-Registrierungsparameters zurückzugeben, indem Sie den Schalter „-m“ entfernen (
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER
); - Starten Sie den SQL Server-Dienst normal;
- Sie können jetzt unter dem sa-Konto im SQL Server-Authentifizierungsmodus oder unter dem Windows-Benutzerkonto, dem Sie Sysadmin-Berechtigungen in SQL Server erteilt haben, eine Verbindung zum SQL Server herstellen.
Sie können auch das Befehlszeilentool sqlcmd verwenden, um das SA-Kennwort zurückzusetzen und den Zugriff auf SQL Server zu gewähren:
- Starten Sie SQL Server im Einzelbenutzermodus wie oben beschrieben;
- Öffnen Sie die Eingabeaufforderung und stellen Sie eine Verbindung zu Ihrer SQL Server-Instanz her:
sqlcmd –S localhost
- Führen Sie die folgenden T-SQL-Befehle aus, um das SA-Benutzerkennwort zu ändern und zu aktivieren:
ALTER LOGIN sa enable
GO
ALTER LOGIN sa WITH PASSWORD = 'new_sa_pass331'
GO - Verwenden Sie die folgenden Befehle, um Sysadmin-Berechtigungen in MSSQL für ein Windows-Konto (in diesem Beispiel lokaler Benutzer) zu erteilen:
CREATE LOGIN FROM WINDOWS
GO
ALTER SERVER ROLE sysadmin ADD MEMBER
GO
In diesem Artikel haben wir gezeigt, wie Sie den Zugriff auf SQL Server im Einzelbenutzermodus wiederherstellen können. In diesem Modus können Sie das sa-Kennwort (und andere SQL-Benutzer) zurücksetzen oder Windows-Benutzerkonten SQL-Administratorberechtigungen erteilen. Der Einzelbenutzermodus kann auch zum Wiederherstellen der temdb-Datenbank in MSSQL Server verwendet werden.