2012-07-13 141 views
33

我有一臺電腦被另一名員工使用。恢復sa密碼

已安裝SQL Server 2008 R2,但我不知道'sa'密碼。

當我嘗試更改登錄名時,會給出以下錯誤。

無法更改登錄'sa',因爲它不存在或您沒有權限。

當我嘗試恢復數據庫時,它給出了不同的權限錯誤。

(當我進入安全性 - >登錄 - > SA - >屬性 Windows身份驗證被禁用。)

我可以改變呢?

PS:密碼是不是「密碼」 :)

+1

可能重複的[有沒有一種方法,我可以在sql server 2005中檢索sa密碼](http://stackoverflow.com/questions/196150/is-there-a-way-i-can-retrieve- sa-password-in-sql-server-2005) – 2012-07-13 18:10:28

回答

45

,最好的辦法是簡單地用一個域/本地管理員(所以你可能需要從系統管理員的幫助下)連接重置密碼,但這隻如果SQL Server設置爲允許本地管理員(在安裝期間這些管理員現在離開默認管理員組),則可以工作。

如果您不能使用此或其他現有的方法來恢復/重置SA密碼,其中一些進行了說明:

然後,您可以隨時備份您的重要數據庫,卸載SQL Server並安裝新的實例。

你也可以搜索不那麼認真的方式來做到這一點(例如,有密碼破解者,我不熱衷於分享)。

另外,sa的登錄屬性永遠不會說Windows身份驗證。這是設計的,因爲這是一個SQL身份驗證帳戶。這並不意味着Windows身份驗證在實例級別被禁用(事實上這是不可能的),它只是不適用於SQL身份驗證帳戶。

編輯 2013年2月5日

我也寫了一篇關於使用PSExec小費使用NT AUTHORITY\SYSTEM帳戶連接到一個實例:

http://www.mssqltips.com/sqlservertip/2682/recover-access-to-a-sql-server-instance/

也看到這兩個資源:

http://technet.microsoft.com/en-us/library/dd207004.aspx

http://sqlblog.com/blogs/argenis_fernandez/archive/2012/01/12/leveraging-service-sids-to-logon-to-sql-server-2012-instances-with-sysadmin-privileges.aspx

+0

感謝您的回覆。這是一個很好的解決方案。 – 2012-07-16 06:04:42

+1

http://www.passwordunlocker.com/knowledge/change-sql-server-password.html – 2013-03-17 12:17:27

+6

PSExec技巧非常完美! – 2014-02-26 21:48:26

3

最佳回答Dmitri Korotkevitch寫:

說到安裝,SQL Server 2008中,您可以在安裝過程 設置 身份驗證模式(Windows或SQL服務器)。如果您在安裝過程中選擇了sql server身份驗證模式,您將被迫選擇用戶爲 的強密碼。

如果您安裝了SQL Server和Windows身份驗證模式,並希望 改變它,你需要做2周不同的事情:

  1. 轉到SQL Server屬性/安全選項卡並更改模式到SQL Server認證模式

  2. 轉到安全/登錄,打開SA登錄屬性

一個。 b。如果您決定使用弱密碼,請取消選中「執行密碼策略」和「強制密碼過期」 複選框

b。將密碼分配給SA用戶

c。打開「狀態」選項卡並啓用登錄。

我並不需要一提的是,從上述的每一個動作就會違背建議使用Windows身份驗證模式 ,有sa登錄禁用,並使用強密碼尤其是對 sa登錄 安全最佳實踐。

+1

我不認爲這有助於。該服務器已被設置爲混合模式身份驗證。而且用戶沒有必要更改sa密碼,因此首先將問題發佈到此處。 – 2012-07-13 18:41:34

+1

我試過了,但由於權限錯誤,它不能改變'sa'。 – 2012-07-13 18:47:36

+0

http://stackoverflow.com/a/24246285/1957479 – 2014-06-16 14:48:21