jak obnovit heslo SA na serveru Microsoft SQL Server?
v tomto článku se podíváme na to, jak obnovit heslo SA (správce systému) v Microsoft SQL Server 2019/2017/2014/2012 . Tato příručka vám pomůže obnovit přístup k databázi MSSQL, pokud nemůžete ověřit pomocí účtu sa
(heslo sa
bylo zapomenuto / ztraceno / účet byl deaktivován)nebo jako uživatel systému Windows (pokud nejsou uživatelé s oprávněními MS SQL sysadmin).
Chcete-li obnovit přístup k databázi bez úplné přeinstalace instance MS SQL (a se ztrátou hlavní databáze), musíte spustit SQL Server v režimu pro jednoho uživatele. V tomto režimu se můžete přihlásit k serveru SQL pod libovolným účtem s oprávněními místního správce v počítači, na kterém je nainstalován server MS SQL Server. Poté můžete resetovat heslo účtu sa a / nebo udělit administrátorská oprávnění konkrétním účtům systému Windows.
Chcete-li spustit MS SQL Server v režimu pro jednoho uživatele, přihlaste se k hostiteli MSSQL pod libovolným účtem s oprávněním místního správce v systému Windows.
- zastavte instanci serveru SQL (v našem příkladu je název instance MSSQL mssqlserver) z příkazového řádku
net stop MSSQLSERVER
nebo pomocí PowerShell:Get-Service MSSQLSERVER| Stop-Service
- otevřete editor registru (
regedit.exe
) a přejděte na klíč registru služby SQL: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001 \ Services\MSSQLSERVER; - změňte hodnotu parametru ImagePath přidáním volby-m jako argumentu do sqlservr.exe. Například nastavte následující spouštěcí řetězec:
"C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER -m
- spusťte SQL Server:
net start MSSQLSERVER
- váš SQL Server je nyní spuštěn v režimu pro jednoho uživatele a umožňuje jakémukoli členovi skupiny místních správců (nebo vestavěnému správci systému Windows) připojit se k instanci serveru SQL Server s oprávněními sysadmin;
- otevřete SQL Server Management Studio (SSMS) a připojte se k databázovému nástroji SQL Server pomocí účtu, který je členem skupiny místních správců;
- přejděte do části Zabezpečení-> přihlaste se a najděte uživatele sa. Uživatel sa je ve výchozím nastavení zakázán;
- otevřete jeho vlastnosti, přejděte na kartu Obecné a nastavte nové heslo SA. Poté povolte tento účet na kartě Stav (přihlášení – > povoleno);
- Chcete-li povolit připojení k MSSQL v rámci místních účtů SQL (včetně sa), musíte povolit režim ověřování serveru SQL Server a Windows ve vlastnostech serveru na kartě Zabezpečení. V opačném případě se při připojení pod místním účtem sa objeví chyba:
Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)
- také v sekci Přihlášení můžete přidat požadované uživatele systému Windows (místní nebo doménové) a přiřadit mu sysadmin tole (na kartě role serveru). Nebo můžete přidat roli uživateli z sqlcmd cli:
EXEC sp_addsrvrolemember 'DOMAIN\Username', 'sysadmin';)
GO
- zbývá znovu zastavit službu MSSQL, vrátit počáteční hodnotu parametru registru ImagePart odstraněním přepínače “ – m(
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER
); - spusťte službu SQL Server normálně;
- nyní se můžete připojit k serveru SQL pod účtem sa v režimu ověřování serveru SQL nebo pod Uživatelským účtem Windows, kterému jste v SQL Serveru udělili oprávnění sysadmin.
můžete také použít nástroj příkazového řádku sqlcmd k resetování hesla SA a udělení přístupu k serveru SQL Server:
- spusťte SQL Server v režimu jednoho uživatele, jak je popsáno výše;
- otevřete příkazový řádek a připojte se k instanci serveru SQL Server:
sqlcmd –S localhost
- Chcete-li změnit heslo uživatele SA a povolit jej, spusťte následující příkazy T-SQL:
ALTER LOGIN sa enable
GO
ALTER LOGIN sa WITH PASSWORD = 'new_sa_pass331'
GO - Chcete-li udělit oprávnění sysadmin v MSSQL pro účet Windows (místní uživatel v tomto příkladu), použijte příkazy:
CREATE LOGIN FROM WINDOWS
GO
ALTER SERVER ROLE sysadmin ADD MEMBER
GO
v tomto článku jsme ukázali, jak obnovit přístup k serveru SQL Server v režimu pro jednoho uživatele. V tomto režimu můžete resetovat heslo sa (a dalších uživatelů SQL) nebo udělit oprávnění správce SQL uživatelským účtům systému Windows. Režim pro jednoho uživatele lze také použít k obnovení databáze temdb V serveru MSSQL.