Security
你如何重置sa密碼?
我在一台機器上失去了 sa 密碼,當我直接使用 admin 組中的帳戶登錄機器時,SQL Server Management Studio 將不允許我使用 Windows 身份驗證登錄。
我的計劃是簡單地登錄伺服器,通過 Windows 身份驗證連接,然後重置 sa 以使用新密碼。由於我無法通過 Windows 身份驗證進行連接,因此這不起作用。
我還能如何重置 sa 密碼?
您可以按照以下連結中提到的步驟重置 SA 密碼:
步驟總結如下:
- 從開始菜單 > 程序 > Microsoft SQL Server 20xx > 配置工具 > 與您安裝的最新版本的 SQL Server 相關(例如,如果您安裝了 2005 和 2012,請使用 2012 版本)打開 SQL Server 配置管理器。沒有開始菜單?在 Windows 8 的開始螢幕上,開始鍵入 SQL Server Con… 直到它出現。
- 通過右鍵點擊 SQL Server 服務中的實例並選擇“停止”來停止您需要恢復的 SQL Server 實例
- 右鍵點擊剛剛停止的實例,點擊屬性,然後在“高級”選項卡的“屬性”文本框中,將“;-m”添加到“啟動參數”選項列表的末尾(在較新的版本中,您可以直接進入“啟動參數”選項卡,輸入“-m”並點擊添加,無需擔心語法、分號或其他任何東西)。
- 點擊“確定”按鈕,然後重新啟動 SQL Server 實例
- SQL Server 實例以單使用者模式啟動後,Windows 管理員帳戶能夠使用 sqlcmd 實用程序使用 Windows 身份驗證連接到 SQL Server。您可以使用諸如“sp_addsrvrolemember”之類的 Transact-SQL 命令將現有登錄名(或新創建的登錄名)添加到 sysadmin 伺服器角色。
以下範例將“CONTOSO”域中的帳戶“Buck”添加到 sysadmin 角色:
EXEC sp_addsrvrolemember 'CONTOSO\Buck', 'sysadmin';
恢復 sysadmin 訪問後,使用配置管理器從啟動參數中刪除“;-m”並再次重新啟動 SQL Server 實例。
**注意:**確保“;”之間沒有空格 和“-m”,系統資料庫參數解析器對此類拼寫錯誤很敏感。您應該會在 SQL Server ERRORLOG 文件中看到一個條目,該條目顯示“SQL Server 以單使用者模式啟動”。
其他資源:
- 在系統管理員被鎖定時連接到 SQL Server
- 利用服務 SID 登錄到具有系統管理員權限的 SQL Server 2012 和 SQL Server 2014 實例
- 使用 PsExec 恢復對 SQL Server 實例的訪問
最終,您始終可以將數據庫文件複製到另一個實例,甚至重新安裝 SQL Server(在此過程中添加一個本地帳戶作為 sysadmin)。