februarie 2, 2022

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).

sa locală este un cont administrativ bine-cunoscut în SQL Server. În majoritatea cazurilor este dezactivat, dar îl puteți activa, seta/reseta parola și restabili accesul la serverul SQL.

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.

sfat. Începând cu SQL Server 2008, rolul sysadmin pe un SQL server nu este atribuit în mod implicit la locale Windows administratori grup.

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.

  1. 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 opriți MSSQLSERVER prin cli
  2. Deschideți Editorul de registru (regedit.exe) și accesați cheia de registry SQL service: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSSQLSERVER;
  3. 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 SQL server run în modul utilizator unic prin registry
  4. porniți SQL Server: net start MSSQLSERVER
  5. 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;
  6. 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; conectați-vă la SQL serve în modul utilizator unic prin SQL Server Management Studio
  7. mergeți la securitate -> conectări și găsiți utilizatorul sa. Utilizatorul sa este dezactivat în mod implicit;  utilizatorul sa este dezactivat în MS SQL Server în mod implicit
  8. 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); SQL Server: resetați parola SA
  9. 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)

    activați autentificarea serverului și a modului de autentificare Windows pe MSSQL

  10. 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

    acordați rolul sql server sysadmin utilizatorului windows
  11. 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);
  12. porniți serviciul SQL Server în mod normal;
  13. 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.
sfat. Puteți porni SQL Server în modul cu un singur utilizator utilizând SQL Server Configuration Manager. Pentru a face acest lucru, accesați fila Parametri de pornire din proprietățile instanței SQL necesare și adăugați opțiunea de pornire –M.

 configurare sql server adăugați parametrii stratup

de asemenea, puteți utiliza instrumentul de linie de comandă sqlcmd pentru a reseta parola SA și a acorda acces la SQL Server:

  1. porniți SQL Server în modul utilizator unic, așa cum este descris mai sus;
  2. deschideți promptul de comandă și conectați-vă la instanța SQL Server: sqlcmd –S localhost
  3. 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
  4. 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.

Lasă un răspuns

Adresa ta de email nu va fi publicată.