hoe Sa-wachtwoord opnieuw instellen op Microsoft SQL Server?
In dit artikel zullen we kijken naar het resetten van het wachtwoord van SA (systeembeheerder) in Microsoft SQL Server 2019/2017/2014/2012 . Deze handleiding zal u helpen de toegang tot de MSSQL database te herstellen als u niet kunt authenticeren met behulp van het sa
account (het sa
wachtwoord is vergeten/verloren/het account is uitgeschakeld) of als een Windows-gebruiker (als er geen gebruikers zijn met MS SQL sysadmin rechten).
om de toegang tot de database te herstellen zonder de MS SQL-instantie volledig opnieuw te installeren (en met het verlies van de masterdatabase), moet u SQL Server starten in een single-user modus. In deze modus kunt u zich aanmelden bij SQL Server onder elk account met lokale beheerdersmachtigingen op de computer waarop MS SQL Server is geïnstalleerd. U kunt vervolgens het wachtwoord van uw sa-account opnieuw instellen en / of beheerdersmachtigingen verlenen aan specifieke Windows-accounts.
om MS SQL Server in single-user modus uit te voeren, meld u aan bij de MSSQL-host onder een account met lokale beheerdersrechten in Windows.
- Stop de SQL Server-instantie (in ons voorbeeld is de naam van de MSSQL-instantie MSSQLServer) vanaf de opdrachtprompt
net stop MSSQLSERVER
of gebruik PowerShell:Get-Service MSSQLSERVER| Stop-Service
- Open de Register-editor (
regedit.exe
) en ga naar de SQL service registersleutel: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSSQLSERVER; - Wijzig de waarde van de parameter ImagePath door de optie-m als argument toe te voegen aan sqlservr.executable. Stel bijvoorbeeld de volgende opstartstring in:
"C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER -m
- Start de SQL Server:
net start MSSQLSERVER
- Uw SQL Server is nu uitgevoerd in de modus voor één gebruiker en kan ieder lid van de lokale groep Administrators (of het ingebouwde Windows-beheerder) om verbinding te maken met de SQL Server-instantie met sysadmin-bevoegdheden;
- Open de SQL Server Management Studio (SSMS) en de verbinding met de SQL Server-Database-Engine met een account die lid is van de lokale groep Administrators;
- Ga naar Beveiliging -> Logins en vind de sa gebruiker. De sa-gebruiker is standaard uitgeschakeld;
- Open zijn eigenschappen, ga naar het tabblad Algemeen en stel een nieuw SA-wachtwoord in. Schakel dit account vervolgens in op het tabblad Status (Login – > ingeschakeld);
- om verbinding met MSSQL mogelijk te maken onder lokale SQL-accounts (inclusief sa), moet u de SQL Server en Windows-Authenticatiemodus inschakelen in de server-eigenschappen op het tabblad Beveiliging. Anders verschijnt er bij het verbinden Onder het lokale sa-account een fout:
Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)
- ook in het gedeelte Logins kunt u de vereiste Windows-gebruikers (lokaal of domein) toevoegen en hem een Sysadmin tole toewijzen (op het tabblad Serverrollen). Of u kunt een rol aan de gebruiker toevoegen vanuit sqlcmd cli:
EXEC sp_addsrvrolemember 'DOMAIN\Username', 'sysadmin';)
GO
- het blijft om de MSSQL-service opnieuw te stoppen, retourneer de initiële waarde van de imagepart registerparameter door de “-m” – Schakelaar te verwijderen (
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER
); - de SQL Server-service normaal starten;
- u kunt nu verbinding maken met de SQL server Onder het sa-account in de SQL Server-verificatiemodus of onder het Windows-gebruikersaccount waarvoor u sysadmin-rechten hebt verleend in SQL Server.
Ook kunt u gebruik maken van de sqlcmd commando-regel gereedschap voor het resetten van het wachtwoord en het verlenen van toegang tot SQL Server:
- Start SQL Server in de modus voor één gebruiker als hierboven beschreven;
- Open een opdrachtprompt en verbinding te maken met uw exemplaar van SQL Server:
sqlcmd –S localhost
- Wijzigen van het SA-wachtwoord in en inschakelen, voert u de volgende T-SQL-opdrachten:
ALTER LOGIN sa enable
GO
ALTER LOGIN sa WITH PASSWORD = 'new_sa_pass331'
GO - Tot het verlenen van sysadmin-machtigingen in MSSQL voor een Windows-account (lokale gebruiker zijn in dit voorbeeld), gebruik je de commando ‘ s:
CREATE LOGIN FROM WINDOWS
GO
ALTER SERVER ROLE sysadmin ADD MEMBER
GO
In dit artikel hebben we laten zien hoe je de toegang tot SQL Server in single-user modus kunt herstellen. In deze modus kunt u het wachtwoord van de sa (en andere SQL-gebruikers) opnieuw instellen of SQL-beheersmachtigingen verlenen aan Windows-gebruikersaccounts. Single-user mode kan ook worden gebruikt om de temdb database te herstellen in MSSQL Server.