如果不慎遺忘 SQL Server 的管理員密碼(即:遺忘了所有的管理員密碼),或者需要強行添加另一個管理員賬號,這時候需要一種補救措施。 SQL Server 提供了單用戶模式(也稱為維護模式),便于用戶更改服務(wù)器配置選項或恢復(fù)受損的系統(tǒng)數(shù)據(jù)庫。在單用戶模式下啟動SQL Server,可以使本機Administrators組的任何成員作為sysadmin服務(wù)器角色的成員連接到SQL Server實例。 注意:在單用戶模式啟動之前,請停止 SQL Server Agent 服務(wù)。否則 SQL Server Agent 將占用此唯一的連接。
一、啟用單用戶模式 1. 打開SSCM(SQL Server配置管理器) 2. 停止SQL Server 引擎服務(wù)(實例) 3. 修改該引擎服務(wù)的屬性
4. 添加單用戶模式啟動參數(shù) (1) 適用于SQL Server 舊版本
(2) 適用于SQL Server 2012及后陸版本
5. 完成上述修改后,啟動數(shù)據(jù)庫引擎服務(wù) 6. 檢查啟動日志,確認已進入了單用戶模式
注意:啟動日志文件的位置及文件名由“啟動參數(shù)”的“-e”參數(shù)指定。例如,“C:\Users\Administrator>notepad C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Log\ERRORLOG ”。
二、越權(quán)添加或修改管理員帳戶 1. 查看數(shù)據(jù)庫引擎服務(wù)的列表(確保下一步操作時不會敲錯名稱)
2. 打開命令行窗口,使用 sqlcmd 連接到數(shù)據(jù)庫
3. 執(zhí)行以下其中一條T-SQL語句,添加或修改賬號 (1)添加本地或域帳戶到數(shù)據(jù)庫管理員組 1> EXEC sp_addsrvrolemember 'PC2014\jim', 'sysadmin';
(2)添加內(nèi)置帳戶到數(shù)據(jù)庫管理員組 1> EXEC sp_addsrvrolemember 'BUILTIN\administrators', 'sysadmin';
(3)如果遺忘了舊密碼,重置密碼 (官方不推薦使用sp_password) 1> Alter Login [BUILTIN\administrator] with password='newpassword';
(4)如果還記得舊密碼,修改密碼 1> Alter Login [sa] with password='newpassword' old_password='oldpassword';
注意:如果SA帳戶被禁用,則 1> Alter Login [sa] ENABLE; 注意:如果服務(wù)器身份驗證模式僅為“Windows身份驗證模式”,那么需要改為“SQL Server和Windows身份驗證模式”,才可以使用sa帳戶。修改此模式需要修改注冊表,注冊表項位于:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<實例ID>\MSSQLServer,將LoginMode改為2即可。 “實例ID”的命名格式默認為“MSSQL<版本號>.<實例名稱>”,例如 “MSSQL12.MSSQLSERVER”。這個設(shè)置是在安裝SQL Server時指定的,安裝向?qū)⑹褂眠@個“實例ID”創(chuàng)建對應(yīng)的文件夾。
三、啟動數(shù)據(jù)庫引擎服務(wù) 1. 打開SSCM,修改數(shù)據(jù)庫引擎的屬性,將“-m ”參數(shù)從啟動參數(shù)中移除。 2. 啟動數(shù)據(jù)庫引擎服務(wù),以新建或修改過的數(shù)據(jù)庫管理員帳戶連接到數(shù)據(jù)庫。
附注:直接使用命令行啟動單用戶模式的方法 1. 找到 sqlservr.exe 的路徑
2. 復(fù)制 sqlservr.exe 到命令行窗口,添加“-m”參數(shù)并運行 例如: C:\Users\Administrator> "C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Binn\sqlservr.exe" -sSQL2008R2 -m
注:還可以強行指定客戶端程序。 (1) -m "sqlcmd" 。指定只有sqlcmd可以連接到SQL Server 實例。 (2) -m "Microsoft SQL Server Management Studio -Query" 。指定只有SSMS可以連接到SQL Server 實例。 3. 另外打開一個命令行窗口,即可以使用 sqlcmd 執(zhí)行操作。 4. 如需停止SQL Server 實例,只需要在sqlservr.exe窗口按Ctrl-C(甚至直接關(guān)閉sqlservr.exe的窗口),在遇到提問時回答“Y”。 Do you wish to shutdown SQL Server (Y/N)? 本文出自 “我們一起追過的MSSQL” 博客,請務(wù)必保留此出處http://jimshu.blog.51cto.com/3171847/1563207 |
|
來自: 博文館911 > 《技術(shù)文章》