无法以单用户模式连接到SQL Server


10

我已经开始我SQL Server 2008 sqlcst02\inst01Single User Mode通过附加;-m到该实例在启动参数结束SQL Server Configuration Manager。我已经停止SQL Server Agentinst01实例。我的帐户的一员Domain Admin group,我已经用试图登录sqlcmd -S sqlcst02\inst01,并不断收到错误,该服务是Single User Mode只有一个管理员可以登录。我尝试添加;-m"sqlcmd"到启动参数来限制只是连接sqlcmd,但我得到的相同的结果。我已经尝试过以我自己的帐户登录,并以本地管理员帐户登录。我已经以本人和管理员身份启动了命令提示符,但得到的结果相同。我尝试使用ADMIN:sqlcst02\inst01in 连接SSMS。没运气。

我正在尝试重置sa密码,因为以前的管理员没有为我保留此信息。这太疯狂了。我之前在其他机器上都做到了这一点,没有任何问题。


1
您的域帐户(显式还是通过组)是SQL Server实例上sysadmin服务器角色的成员吗?
布莱恩·奈特

我不知道。我知道我是Domain Admin组和SQL ADMINS组的成员,并且SQL ADMINS组是所有其他服务器上sysadmin角色的成员。但是我敢打赌这台机器不是这样。

您的SQL是否在群集上运行?在该群集服务中,您之前已经打开了与SQL的连接。另一种可能是,您有服务或应用程序正在以admin身份建立与SQL Server的连接,然后才能以admin身份进行连接。
SQL Learner 2013年

连接没有问题,登录也没有问题。如果您发现单用户模式错误,则必须弄清楚还有什么要连接到该实例,并至少在自己建立连接所需的时间范围内阻止该实例。
乔恩·塞格尔

Answers:


6

本文概述了恢复对SQL Server的访问权限的另一种方法,并且不需要以单用户模式重新启动:

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

本质上,下载PSExec,然后使用以下命令行运行它(填写您的SSMS.exe位置):

PsExec -s -i "C:\Program Files (x86)\...\ssms.exe"

系统将提示您连接-身份验证模式将为Windows身份验证,并硬编码为NT AUTHORITY\SYSTEM。建立连接后,您将可以进入安全性并修复sa密码,将自己添加为管理员,添加其他管理员等。

在尝试此操作之前,上面的文章有几个警告,您应该阅读,并且您可能还希望查看底部的评论。


1

我被这个咬了。我忘记的是以管理员身份运行CMD提示符。这不是Windows 2008 R2中的默认设置。一旦完成,一切都很好。我的一位同事提出了这个问题,嘿,所有问题都已解决。我觉得自己是个白痴,但我想我会分享来拯救别人。


0

确定-如果您不是SQL Server的sysadmin角色,则将无法通过单用户模式进入。如果您是服务器本身的管理员,您可以使用答案在这个岗位来帮助你。


如果您是服务器本身的管理员,则可以按照docs中所述通过单用户模式登录,它将像对待sysadmin角色一样对待连接。据我所知,这正是您从其他链接链接到的博客帖子的功能。
马丁·史密斯

0

我遇到了类似的问题,因为我将maxmem设置为12,所以群集出现故障(而不是120000,我的零显然被破坏了)

我注意到,当我使用正常的启动参数提示时,并且sqlcmd -AI正在获得登录超时,并且错误消息告诉我DAC可能未连接。

我通过将启动参数从配置管理器复制到管理Powershell提示符中来启动sql服务,并添加了-cf参数。

在另一个窗口中,我可以使用sqlcmd,但不能使用-A参数,而只能使用标准连接。

那时,我能够运行查询并通过sp_config配置了出路。这是一个域帐户。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.