[翻译]当SA帐号丢失时怎么办
Q:我遇到了一個災難:我丟失了SQL Server 2005的SA密碼,有辦法恢復么?我遵循了最佳安全實踐,從sysadmin中刪除了builtin\Administrators帳號,現在沒其他人是sysadmin了。除了重新安裝SQL Server并附加數據庫外有什么其它方法么?因為這樣可能會導致master數據庫中的數據損壞。
A:
SQL Server 2005/2008提供了針對該情況的更好的災難恢復方法,無需侵入master數據庫,不會對master數據庫中的對象和數據(例如登陸帳號,證書等)造成損壞。Windows管理員組的成員現在當SQL Server以單用戶模式啟動(另外一個名稱為維護模式)的情況下對SQL Server有了訪問權限。
通過使用單用戶模式,SQL Server 2005/2008避免了Windows管理員以sysadmin的身份在不被發現的情況下濫用權限。Windows管理員帳號能進行部分維護任務,例如安裝補丁等。
要將SQL Server以單用戶模式啟動,您可以在命令行模式下增加“-m”參數。您也可以使用SQL Server配置管理員工具。它提供了對文件訪問和其他權限的合適控制。要是用配置管理工具來恢復您的系統,您可以根據如下步驟:
1. 從菜單->SQL Server 2005->配置,打開配置管理工具
2. 停止您想要恢復的SQL Server實例
3. 找到“高級”tab,在屬性文本框內的結尾,“啟動參數”選項中增加“;–m”
4. 點擊“是”按鈕,重新啟動SQL Server實例
請注意:請確保在“;”和“-m”之間沒有空格。注冊參數解析器對類似的輸入錯誤非常敏感。您可以在SQL Server的ERRORLOG文件內看到顯示“SQL Server started in single-user mode.”
5. 在SQL Server實例以單用戶模式啟動后,Windows管理員帳號就能使用sqlcmd工具在Windows驗證模式下連接SQL Server。您可以使用T-SQL命令諸如“sp_addsrvrolemember”來在sysadmin服務器角色中添加現有登錄帳號或新創建一個登錄帳號。范例語句如下:
GO
6. 只要sysadmin訪問權限被恢復,在配置管理中從啟動參數中移除“;-m”參數,重新啟動SQL Server實例
重要的安全提示:
a. 該過程應該只能被用于當沒有其他方法使用特權帳號(例如sysadmin或等同角色)來訪問系統的災難恢復。
b. 該過程允許Windows管理員在SQL Server中有越權行為。它包含了可以被監測和檢測出的明確的侵入行為,包含:
1. 在單用戶模式下停止SQL Server并重啟
2. 使用Windows帳號連接SQL Server
轉載于:https://www.cnblogs.com/galaxyyao/archive/2009/02/23/1396697.html
總結
以上是生活随笔為你收集整理的[翻译]当SA帐号丢失时怎么办的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaEE实战班第13天
- 下一篇: 密码学二次剩余困难性问题The Quad