Security

你如何重置sa密碼?

  • November 8, 2021

我在一台機器上失去了 sa 密碼,當我直接使用 admin 組中的帳戶登錄機器時,SQL Server Management Studio 將不允許我使用 Windows 身份驗證登錄。

我的計劃是簡單地登錄伺服器,通過 Windows 身份驗證連接,然後重置 sa 以使用新密碼。由於我無法通過 Windows 身份驗證進行連接,因此這不起作用。

我還能如何重置 sa 密碼?

您可以按照以下連結中提到的步驟重置 SA 密碼:

步驟總結如下:

  1. 從開始菜單 > 程序 > Microsoft SQL Server 20xx > 配置工具 > 與您安裝的最新版本的 SQL Server 相關(例如,如果您安裝了 2005 和 2012,請使用 2012 版本)打開 SQL Server 配置管理器。沒有開始菜單?在 Windows 8 的開始螢幕上,開始鍵入 SQL Server Con… 直到它出現。
  2. 通過右鍵點擊 SQL Server 服務中的實例並選擇“停止”來停止您需要恢復的 SQL Server 實例
  3. 右鍵點擊剛剛停止的實例,點擊屬性,然後在“高級”選項卡的“屬性”文本框中,將“;-m”添加到“啟動參數”選項列表的末尾(在較新的版本中,您可以直接進入“啟動參數”選項卡,輸入“-m”並點擊添加,無需擔心語法、分號或其他任何東西)。
  4. 點擊“確定”按鈕,然後重新啟動 SQL Server 實例
  5. 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(在此過程中添加一個本地帳戶作為 sysadmin)。

引用自:https://dba.stackexchange.com/questions/4679