SQL Server 忘記 / 重設 / 重置 / 無法登入 SA 密碼

2021-11-01

SQL Server 忘記 SA 密碼,同時沒有任何帳號具有 Sysadmin 角色時該怎麼辦?不用重新安裝 SQL Server,只要藉由單一使用者模式就可以重新變更 SA 的密碼。

SQL Server Logo

說明

調整為單一使用者模式 (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]

參考資料

Recover a lost SA password

How to Change SQL SA Password from a Command Prompt

相關連結

SQL Server Integrated Service 初探

SQL Server 閃電般快速查詢指南⚡

SQL Server 周邊工具彙整筆記

SQL Server 學習資源筆記