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).
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.
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.
- 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
- öppna Registerredigeraren (
regedit.exe
) och gå till SQL service-registernyckeln: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSSQLSERVER; - ä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
- starta SQL Server:
net start MSSQLSERVER
- 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;
- öppna SQL Server Management Studio (SSMS) och anslut till SQL Server-databasmotorn med ett konto som är medlem i den lokala administratörsgruppen;
- gå till säkerhet – > inloggningar och hitta sa-användaren. Sa-användaren är inaktiverad som standard;
- ö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);
- 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)
- 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
- 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
); - starta SQL Server-tjänsten normalt;
- 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.
du kan också använda kommandoradsverktyget sqlcmd för att återställa SA-lösenordet och ge åtkomst till SQL Server:
- starta SQL Server i enanvändarläge enligt beskrivningen ovan;
- öppna kommandotolken och anslut till din SQL Server-instans:
sqlcmd –S localhost
- 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 - 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.