SQL Server 忘記 / 重設 / 重置 / 無法登入 SA 密碼
2021-11-01
SQL Server 忘記 SA 密碼,同時沒有任何帳號具有 Sysadmin 角色時該怎麼辦?不用重新安裝 SQL Server,只要藉由單一使用者模式就可以重新變更 SA 的密碼。
說明
調整為單一使用者模式 (Single User Mode)
使用 SQL Server 組態管理員,加入參數 -m
並且重新啟動 SQL Server 服務,這時候 SQL Server 上的 Windows Administrator 就可以直接登入 SQL Server 並且具有 sysadmin 的權限。
新增 sysadmin
接著可以使用 SSMS 或者 SQLCMD 來完成新增 sysadmin 的作業,
使用 SSMS 的話,直接到安全性更改 SA 密碼即可。
如果是使用 SQLCMD 可以使用 sp_password 來變更 SA 的密碼,或者新增具有 sysadmin 角色的新使用者。
sp_password @new = 'Password', @loginame = 'sa'
藉由新增一組 SQL User 使用者 並授權 sysadmin 的指令:
CREATE LOGIN tempSA WITH PASSWORD = 'Password';
GO
ALTER SERVER ROLE sysadmin ADD MEMBER tempSA
藉由新增 AD User 並授權 sysadmin 的指令:
CREATE LOGIN [domain\Webber] FROM WINDOWS
GO
ALTER SERVER ROLE sysadmin ADD MEMBER [domain\Webber]
參考資料
How to Change SQL SA Password from a Command Prompt