februari 2, 2022

Hur återställer jag SA-lösenordet på Microsoft SQL Server?

i den här artikeln kommer vi att titta på hur du återställer sa (systemadministratör) lösenord i Microsoft SQL Server 2019/2017/2014/2012 . Den här guiden hjälper dig att återställa åtkomst till MSSQL-databasen om du inte kan autentisera med kontot sa (lösenordet sa glömdes/förlorades/kontot inaktiverades) eller som Windows-användare (om det inte finns några användare med MS SQL sysadmin-behörigheter).

den lokala sa är ett välkänt administrativt konto i SQL Server. I de flesta fall är det inaktiverat, men du kan aktivera det, ställa in/återställa lösenordet och återställa åtkomst till din SQL Server.

för att återställa åtkomst till databasen utan att helt installera om MS SQL-instansen (och med förlusten av huvuddatabasen) måste du starta SQL Server i ett enanvändarläge. I det här läget kan du logga in på SQL Server under vilket konto som helst med lokala administratörsbehörigheter på datorn där MS SQL Server är installerad. Du kan sedan återställa sa-kontolösenordet och / eller bevilja administrativa behörigheter till specifika Windows-konton.

tips. Från och med SQL Server 2008 tilldelas inte sysadmin-rollen på en SQL server som standard till den lokala Windows-administratörsgruppen.

för att köra MS SQL Server i enanvändarläge, logga in på MSSQL-värden under vilket konto som helst med lokal administratörsbehörighet i Windows.

  1. stoppa SQL Server-instansen (i vårt exempel är MSSQL-instansnamnet mssqlserver) från kommandotolken net stop MSSQLSERVER eller med PowerShell: Get-Service MSSQLSERVER| Stop-Service stoppa mssqlserver via cli
  2. öppna Registerredigeraren (regedit.exe) och gå till SQL service-registernyckeln: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSSQLSERVER;
  3. ändra värdet på parametern ImagePath genom att lägga till alternativet-m som ett argument för att sqlservr.exe. Ange till exempel följande startsträng: "C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER -m  sql server kör i enanvändarläge via registret
  4. starta SQL Server: net start MSSQLSERVER
  5. din SQL Server körs nu i enanvändarläge och tillåter alla medlemmar i den lokala administratörsgruppen (eller den inbyggda Windows-administratören) att ansluta till SQL Server-instansen med sysadmin-behörigheter;
  6. öppna SQL Server Management Studio (SSMS) och anslut till SQL Server-databasmotorn med ett konto som är medlem i den lokala administratörsgruppen; Anslut till SQL tjäna i enanvändarläge via SQL Server Management Studio
  7. gå till säkerhet – > inloggningar och hitta sa-användaren. Sa-användaren är inaktiverad som standard;  sa-användaren är inaktiverad i MS SQL Server som standard
  8. öppna dess egenskaper, gå till fliken Allmänt och ange ett nytt SA-lösenord. Aktivera sedan det här kontot på fliken Status (inloggning – > aktiverad); SQL Server: Återställ sa-lösenord
  9. för att tillåta anslutning till MSSQL under lokala SQL-konton (inklusive sa) måste du aktivera SQL Server-och Windows-Autentiseringsläget i serverns egenskaper på fliken Säkerhet. Annars visas ett fel när du ansluter under det lokala sa-kontot:
    Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)

     aktivera autentisering av Server-och Windows-autentiseringsläge på MSSQL

  10. också i avsnittet inloggningar kan du lägga till de nödvändiga Windows-användarna (lokal eller domän) och tilldela honom en Sysadmin tole (på fliken serverroller). Eller så kan du lägga till roll för användaren från sqlcmd cli:
    EXEC sp_addsrvrolemember 'DOMAIN\Username', 'sysadmin';)
    GO

    grant sql server sysadmin roll till windows-användare
  11. det återstår att stoppa MSSQL-tjänsten igen, returnera initialvärdet för imagepart-registerparametern genom att ta bort” – m ” – omkopplaren (C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER);
  12. starta SQL Server-tjänsten normalt;
  13. du kan nu ansluta till SQL server Under sa-kontot i SQL Server-Autentiseringsläget eller under Windows-användarkontot som du har beviljat sysadmin-behörigheter i SQL Server.
tips. Du kan starta SQL Server i enanvändarläge med SQL Server Configuration Manager. För att göra detta, gå till fliken startparametrar i egenskaperna för den obligatoriska SQL –instansen och Lägg till alternativet-m startup.

sql server-konfiguration Lägg till stratup-parametrar

du kan också använda kommandoradsverktyget sqlcmd för att återställa SA-lösenordet och ge åtkomst till SQL Server:

  1. starta SQL Server i enanvändarläge enligt beskrivningen ovan;
  2. öppna kommandotolken och anslut till din SQL Server-instans: sqlcmd –S localhost
  3. för att ändra SA-användarlösenordet och aktivera det, kör följande T-SQL-kommandon:
    ALTER LOGIN sa enable
    GO
    ALTER LOGIN sa WITH PASSWORD = 'new_sa_pass331'
    GO
  4. för att bevilja sysadmin-behörigheter i MSSQL för ett Windows-konto (lokal användare i det här exemplet), använd kommandona:
    CREATE LOGIN FROM WINDOWS
    GO
    ALTER SERVER ROLE sysadmin ADD MEMBER
    GO

i den här artikeln har vi visat hur du återställer åtkomst till SQL Server i enanvändarläge. I det här läget kan du återställa sa-lösenordet (och andra SQL-användare) eller ge SQL-administratörsbehörigheter till Windows-användarkonton. Enanvändarläge kan också användas för att återställa temdb-databasen i MSSQL-servern.

Lämna ett svar

Din e-postadress kommer inte publiceras.