此时只有一个管理员可以连接(MS SQL Server错误18461)


14

我正在试验给SQL Server少量内存的效果,我认为它会恢复。

我将SQL Server配置为使用200MB的内存,现在它不想启动,我在Internet上进行了一些搜索,建议我以单用户模式启动SQL Server。但是,我得到了错误

用户A的登录失败。原因:服务器处于单用户模式。此时只有一个管理员可以连接(Microsoft SQL Server,错误:18461)

在此处输入图片说明

我已经停止了SQL Server代理。


2
为什么只有200MB的内存?快速版至少需要512MB。msdn.microsoft.com/zh-CN/library/ms143506(v=sql.120).aspx#pmosr
McNets

Answers:


23

如果以单用户模式启动SQL Server,则只有一位管理员可以同时连接。

这里可能发生的事情是某些服务正在使用sysadmin登录名进行连接,例如Reporting Services或SQL Server代理。

在单用户模式下启动SQL Server时,可以选择指定客户端应用程序,以便仅该应用程序可以连接。

看一下其中列出的命令行选项

-m“客户端应用程序名称”

在SQLCMD或SQL Server Management Studio中使用-m选项时,可以将连接限制为指定的客户端应用程序。例如,-m“ SQLCMD”将连接限制为单个连接,并且该连接必须将自身标识为SQLCMD客户端程序。当以单用户模式启动SQL Server并且未知的客户端应用程序正在建立唯一的可用连接时,请使用此选项。要通过Management Studio中的查询编辑器进行连接,请使用-m“ Microsoft SQL Server Management Studio-查询”。

客户端应用程序名称区分大小写。

如果能够以这种方式连接,请将最大服务器内存更改为合理的值。我想您将能够连接,因为否则您可能会收到诸如“管道的另一端没有进程”之类的消息,因此我假设您的服务器正在运行。

但是,如果由于内存配置不允许而无法登录SQL Server,则可以使用该-f选项以最小配置启动SQL Server 。

-F

以最少的配置启动SQL Server实例。如果配置值的设置(例如,过量使用内存)阻止了服务器启动,则此功能很有用。以最低配置模式启动SQL Server会将SQL Server置于单用户模式。有关更多信息,请参见以下有关-m的描述。

供参考:意外地将“最大服务器内存”设置为0后,SQL Server无法启动


7
  • 以最小配置模式启动SQL实例

    NET START MSSQLSERVER /f
  • 从同一cmd窗口连接到实例并更改“最大内存”设置:

    SQLCMD -S Server/Instance -E

    您应该看到如下所示的提示:

    1> 

默认情况下,最大内存设置可能无法查看和更改。若要修改此行为,请使用以下查询:

sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
sp_configure 'max server memory', 4096;  
GO  
RECONFIGURE;  
GO  

从Configuration Manager重新启动实例。


<SQL Server的最佳解决方案,在意外地将“最大服务器内存”设置为0>和“管道的另一端没有进程”错误后无法启动
faza

-1

我遇到了类似的问题。我设法通过停止“ SQL Server(MSSQLSERVER)”然后重新启动来解决它。重新启动该过程后,我无法连接。


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.