这是相当尴尬的,但我不小心从SQL Server 2008用户列表中删除了我的Windows帐户,我不能为我的生活找出如何重新添加自己,因为我没有登录权限。
服务器正在我的机器上运行,只有其他Windows用户可以访问IUSR,NETWORK SERVICE和SYSTEM。有什么我可以做的不能重新安装吗?
答案 0 :(得分:26)
我最近还从我的本地开发2008服务器上删除了我的Windows帐户。我能够使用SQL Server的单用户模式重新创建我的登录并将其添加到sysadmin角色。只用了几分钟,我就不必向任何人承认我的可怕错误了。
来自MSDN:
以单用户模式启动SQL Server可启用任何成员 计算机的本地Administrators组连接到SQL实例 服务器作为sysadmin固定服务器角色的成员。
以下是我恢复自己的方式:
-m
启动SQL服务。这将使SQL进入单用户模式。这意味着SQL只接受一个连接。 sqlcmd
使用-E
可信连接选项连接到您的服务器。如果您是本地管理员,SQL将接受sysadmin
角色。在交互式会话中,创建您的登录信息并添加到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
-m
参数并重新启动服务。您现在应该可以返回SSMS并继续正常使用服务器。如果您收到消息:
用户'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用户作为登录。
这个解决方案对我有用。