cum se resetează parola SA pe Microsoft SQL Server?
în acest articol, vom arunca o privire asupra modului de resetare a parolei SA (administrator de sistem) în Microsoft SQL Server 2019/2017/2014/2012 . Acest ghid vă va ajuta să restaurați accesul la baza de date MSSQL dacă nu vă puteți autentifica folosind contul sa
(parola sa
a fost uitată/pierdută/contul a fost dezactivat) sau ca utilizator Windows (dacă nu există utilizatori cu permisiuni MS SQL sysadmin).
pentru a restabili accesul la baza de date fără a reinstala complet instanța MS SQL (și cu pierderea bazei de date master), trebuie să porniți SQL Server într-un mod cu un singur utilizator. În acest mod, vă puteți conecta la SQL Server sub orice cont cu permisiuni de administrator local pe computerul pe care este instalat MS SQL Server. Apoi puteți reseta parola contului sa și / sau puteți acorda permisiuni administrative anumitor conturi Windows.
pentru a rula MS SQL Server în modul single-user, conectați-vă la gazda MSSQL sub orice cont cu permisiunea admin locale în Windows.
- opriți instanța SQL Server (în exemplul nostru, numele instanței MSSQL este MSSQLSERVER) din promptul de comandă
net stop MSSQLSERVER
sau folosind PowerShell:Get-Service MSSQLSERVER| Stop-Service
- Deschideți Editorul de registru (
regedit.exe
) și accesați cheia de registry SQL service: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSSQLSERVER; - modificați valoarea parametrului ImagePath adăugând opțiunea-m ca argument la sqlservr.exe. De exemplu, setați următorul șir de pornire:
"C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER -m
- porniți SQL Server:
net start MSSQLSERVER
- serverul SQL rulează acum în modul utilizator unic și permite oricărui membru al grupului Administratori locali (sau administratorul Windows încorporat) să se conecteze la instanța SQL Server cu privilegii sysadmin;
- deschideți SQL Server Management Studio (SSMS) și conectați-vă la motorul bazei de date SQL Server utilizând un cont care este membru al grupului Administratori locali;
- mergeți la securitate -> conectări și găsiți utilizatorul sa. Utilizatorul sa este dezactivat în mod implicit;
- deschideți proprietățile sale, accesați fila General și setați o nouă parolă SA. Apoi activați acest cont în fila Stare (conectare -> activat);
- pentru a permite conectarea la MSSQL sub conturi SQL locale (inclusiv sa), trebuie să activați modul de autentificare SQL Server și Windows în proprietățile serverului din fila Securitate. În caz contrar, atunci când vă conectați sub contul sa local, va apărea o eroare:
Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)
- de asemenea, în secțiunea de conectare, puteți adăuga utilizatorii Windows necesari (local sau domeniu) și îi puteți atribui un sysadmin tole (în fila roluri Server). Sau, puteți adăuga rol de utilizator de la sqlcmd cli:
EXEC sp_addsrvrolemember 'DOMAIN\Username', 'sysadmin';)
GO
- rămâne să opriți din nou serviciul MSSQL, returnați valoarea inițială a parametrului de registry ImagePart eliminând comutatorul ” – m(
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER
); - porniți serviciul SQL Server în mod normal;
- acum vă puteți conecta la SQL server sub contul sa în modul de autentificare SQL Server sau sub contul de utilizator Windows pe care le-ați acordat privilegii sysadmin în SQL Server.
de asemenea, puteți utiliza instrumentul de linie de comandă sqlcmd pentru a reseta parola SA și a acorda acces la SQL Server:
- porniți SQL Server în modul utilizator unic, așa cum este descris mai sus;
- deschideți promptul de comandă și conectați-vă la instanța SQL Server:
sqlcmd –S localhost
- pentru a schimba parola de utilizator SA și a o activa, executați următoarele comenzi T-SQL:
ALTER LOGIN sa enable
GO
ALTER LOGIN sa WITH PASSWORD = 'new_sa_pass331'
GO - pentru a acorda permisiuni sysadmin în MSSQL pentru un cont Windows (utilizator local în acest exemplu), utilizați comenzile:
CREATE LOGIN FROM WINDOWS
GO
ALTER SERVER ROLE sysadmin ADD MEMBER
GO
în acest articol, am arătat cum să restabiliți accesul la SQL Server în modul cu un singur utilizator. În acest mod, puteți reseta parola sa (și alți utilizatori SQL) sau puteți acorda permisiuni SQL admin conturilor de utilizator Windows. Modul Single-user Poate fi, de asemenea, utilizat pentru a restabili baza de date temdb în serverul MSSQL.