2009-10-06 38 views
11

這是相當尷尬的,但我不小心從SQL Server 2008用戶列表中刪除了我的Windows帳戶,我無法爲我的生活弄清楚如何重新添加自己現在我沒有登錄權限。刪除默認用戶後添加Windows帳戶

服務器正在我的機器上運行,唯一有權訪問的其他Windows用戶是IUSR,NETWORK SERVICE和SYSTEM。有什麼我可以做的短重新安裝?

回答

25

我最近也從我的本地開發2008服務器中刪除了我的Windows帳戶。我能夠使用SQL Server的單用戶模式重新創建我的登錄並將其添加到sysadmin角色。只花了幾分鐘,我不必承認任何人都有可怕的錯誤。

從MSDN:在單用戶模式

啓動SQL Server允許的 計算機的本地管理員組的任何成員連接到SQL 服務器的實例作爲sysadmin固定服務器角色成員。

以下是我恢復自己:

  1. 將退出SSMS
  2. 的停止所有SQL相關的服務。我不得不停止Reporting Services。其他SQL服務(如SQL代理)也將耗盡您的寶貴連接。
  3. 停止SQL服務
  4. 使用額外參數-m啓動SQL服務。這將使SQL進入單用戶模式。這意味着SQL將只接受一個連接。
  5. 使用sqlcmd通過-E可信連接選項連接到您的服務器。如果您是本地管理員,SQL將會讓您進入sysadmin角色。
  6. 在交互式會話中,創建您的登錄名並添加到sysadmins角色。

    USE master 
    GO 
    CREATE LOGIN [domain\username] FROM WINDOWS WITH DEFAULT_DATABASE=[Master] 
    GO 
    EXEC sp_addsrvrolemember @loginame=N'domain\username', @rolename=N'sysadmin' 
    GO 
    
  7. 停止SQL服務,刪除-m參數並重新啓動服務。您現在應該能夠重新進入SSMS並繼續正常使用服務器。

如果你得到的消息:

登錄失敗,用戶 '域\用戶名'。原因:服務器處於單用戶 模式。此時只有一位管理員可以連接。

然後有一些使用您的單一連接。您需要找到該服務或連接,並在登錄前停止它。檢查SQL代理,SQL Reporting Services,SQL Analysis Services等。

+1

爲我工作,謝謝。要從命令行啓動和停止服務,我發現這個[technet reference](http://technet.microsoft.com/en-us/magazine/dd421654.aspx)很有幫助。 – tharen 2012-03-19 21:15:21

+0

更新爲首選答案,原始答案中的博客鏈接不再可用。 – 2013-07-05 18:42:41

5

幸運的是,這並不難解決(不是它應該很難......)!

This blog post 解釋了以單用戶模式啓動SQL Server的步驟,它以(出於某種原因)允許我以Windows管理員帳戶登錄,將帳戶添加到用戶列表(使用CREATE LOGIN),啓用SA用戶並將其密碼設置爲我實際知道的內容,最後以SA身份登錄並授予Windows帳戶系統管理員權限。

編輯07/05/13:Try this link instead

+0

此鏈接已過期! – user287745 2010-07-25 13:03:19

0

通常安裝SQL Server以便任何本地管理員都是SQL服務器sysadmin

如果這是您的情況,您可以以管理員身份運行Management Studio,然後在安全部分添加任何其他Windows用戶作爲登錄。

此解決方案適用於我。

相關問題