SQL Server 2008 - 删除默认用户后添加Windows帐户

时间:2009-10-06 23:00:17

标签: sql-server sql-server-2008 login

这是相当尴尬的,但我不小心从SQL Server 2008用户列表中删除了我的Windows帐户,我不能为我的生活找出如何重新添加自己,因为我没有登录权限。

服务器正在我的机器上运行,只有其他Windows用户可以访问IUSR,NETWORK SERVICE和SYSTEM。有什么我可以做的不能重新安装吗?

3 个答案:

答案 0 :(得分:26)

我最近还从我的本地开发2008服务器上删除了我的Windows帐户。我能够使用SQL Server的单用户模式重新创建我的登录并将其添加到sysadmin角色。只用了几分钟,我就不必向任何人承认我的可怕错误了。

来自MSDN:

  

以单用户模式启动SQL Server可启用任何成员   计算机的本地Administrators组连接到SQL实例   服务器作为sysadmin固定服务器角色的成员。

以下是我恢复自己的方式:

  1. 退出SSMS
  2. 停止任何与SQL相关的服务。我不得不停止Reporting Services。其他SQL服务(如SQL Agent)也将耗尽您的一个有价值的连接。
  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并继续正常使用服务器。
  8. 如果您收到消息:

      

    用户'domain \ username'登录失败。原因:服务器是单用户   模式。此时只能有一个管理员连接。

    然后使用单一连接有一些东西。您需要找到该服务或连接并在登录之前将其停止。检查SQL代理,SQL Reporting Services,SQL Analysis Services等。

答案 1 :(得分:5)

幸运的是,这并不难解决(不是说应该很难......)!

This blog post解释了在单用户模式下启动SQL Server的步骤,(由于某种原因)允许我以Windows管理员帐户登录,将帐户添加到用户列表(使用CREATE LOGIN),启用SA用户并将其密码设置为我实际知道的内容,最后以SA身份登录并授予Windows帐户sysadmin权限。

编辑07/05/13: Try this link instead

答案 2 :(得分:0)

通常安装SQL Server,以便任何本地管理员都是SQL Server sysadmin

如果是这种情况,您可以以管理员身份运行Management Studio,然后在安全性部分中添加任何其他Windows用户作为登录。

这个解决方案对我有用。