Microsoft SQL Server 说我的登录被禁用,即使在单用户/DAC 模式下

sar*_*ahg 4 authentication sql-server

我被锁定在本地数据库之外,过去对我有用的单用户模式选项在这里对我不起作用。我可以使用一些选项来尝试。

据说该帐户已被禁用,我认为这在单用户模式下是不可能的。

我已经尝试过的:

在单用户模式下重启:

C:\Program Files\Microsoft SQL Server\MSSQL10_50.DBNAME\MSSQL\Binn>net stop MSSQL$DBNAME
The SQL Server (DBNAME) service is stopping..
The SQL Server (DBNAME) service was stopped successfully.


C:\Program Files\Microsoft SQL Server\MSSQL10_50.DBNAME\MSSQL\Binn>.\sqlservr -sDBNAME -m -c

[seems to come up]
Run Code Online (Sandbox Code Playgroud)

登录尝试如下所示:

C:\Program Files\Microsoft SQL Server\MSSQL10_50.DBNAME\MSSQL\Binn>sqlcmd -S .\DBNAME
Msg 18470, Level 14, State 1, Server MY-PC\DBNAME, Line 1
Login failed for user 'My-PC\sarahg'. Reason: The account is disabled.
Run Code Online (Sandbox Code Playgroud)

服务器输出:

2012-05-29 15:55:25.11 Logon       Error: 18470, Severity: 14, State: 1.
2012-05-29 15:55:25.11 Logon       Login failed for user 'My-PC\sarahg'. Reason: The account is disabled. [CLIENT: <local machine>]
Run Code Online (Sandbox Code Playgroud)

在 DAC 模式下重新启动:

C:\Program Files\Microsoft SQL Server\MSSQL10_50.DBNAME\MSSQL\Binn>.\sqlservr -sDBNAME -m -c -t 7806
... blah blah ...
2012-05-29 15:59:05.59 spid6s      Server name is 'MY-PC\DBNAME'. This is an informational message only. No user action is required.
2012-05-29 15:59:05.60 spid9s      Starting up database 'model'.
2012-05-29 15:59:05.60 spid6s      Informational: No full-text supported languages found.
2012-05-29 15:59:05.60 spid6s      Starting up database 'msdb'.
2012-05-29 15:59:05.72 Server      A self-generated certificate was successfully loaded for encryption.
2012-05-29 15:59:05.72 Server      Server is listening on [ 'any' <ipv6> 49201].
2012-05-29 15:59:05.74 Server      Server is listening on [ 'any' <ipv4> 49201].
2012-05-29 15:59:05.74 Server      Server local connection provider is ready to accept connection on [ \\.\pipe\SQLLocal\DBNAME ].
2012-05-29 15:59:05.74 Server      Server named pipe provider is ready to accept connection on [ \\.\pipe\MSSQL$DBNAME\sql\query ].
Run Code Online (Sandbox Code Playgroud)

登录尝试如下所示:

C:\Program Files\Microsoft SQL Server\MSSQL10_50.DBNAME\MSSQL\Binn>sqlcmd -A -S .\DBNAME
Msg 18470, Level 14, State 1, Server MY-PC\DBNAME, Line 1
Login failed for user 'Mys-PC\sarahg'. Reason: The account is disabled.
Run Code Online (Sandbox Code Playgroud)

使用服务器日志:

2012-05-29 16:00:24.86 Logon       Error: 18470, Severity: 14, State: 1.
2012-05-29 16:00:24.86 Logon       Login failed for user 'Mys-PC\sarahg'. Reason: The account is disabled. [CLIENT: 127.0.0.1]
Run Code Online (Sandbox Code Playgroud)

非常欢迎任何帮助,

- 莎拉

小智 6

我遇到了完全相同的问题并尝试了这个解决方案并且它有效:使用 PSExec(从 Microsoft 免费下载)使用该NT AUTHORITY\SYSTEM帐户连接到实例。示例语法:

PsExec -s -i "C:\...\Tools\Binn\ManagementStudio\Ssms.exe"
Run Code Online (Sandbox Code Playgroud)

这将作为具有本机系统管理员权限的 Windows 帐户启动 Management Studio,这将允许您切换到混合模式、启用 sa 帐户、重置 sa 帐户、添加您自己的 Windows 帐户作为管理员等。

在以下文章中可以找到更多信息:

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

但是请记住,您可能会违反某些合同,只是想注意一下。:)