我正在试验为 SQL Server 分配少量内存的效果,我认为它会恢复。
我将 SQL Server 配置为使用 200MB 内存,现在它不想启动,我在互联网上进行了一些搜索,并建议我以单用户模式启动 SQL Server。但是,我收到错误
用户 A 登录失败。原因:服务器处于单用户模式。此时只有一名管理员可以连接(Microsoft SQL Server,错误:18461)
我已停止 SQL Server 代理。
Tom*_*m V 26
如果以单用户模式启动 SQL Server,则只能同时连接一名管理员。
这里可能发生的情况是某些服务正在使用系统管理员登录进行连接,例如报告服务或 SQL Server 代理。
在单用户模式下启动 SQL Server 时,您可以选择指定客户端应用程序,以便只有该应用程序可以连接。
看看它列出的命令行选项:
-m "客户端应用程序名称"
将 -m 选项与 SQLCMD 或 SQL Server Management Studio 结合使用时,可以将连接限制为指定的客户端应用程序。例如,-m"SQLCMD" 将连接限制为单个连接,并且该连接必须将自身标识为 SQLCMD 客户端程序。当您在单用户模式下启动 SQL Server 并且未知的客户端应用程序正在使用唯一可用的连接时,请使用此选项。要通过 Management Studio 中的查询编辑器进行连接,请使用 -m"Microsoft SQL Server Management Studio - Query"。
客户端应用程序名称区分大小写。
如果您能够以这种方式连接,请将最大服务器内存更改为合理的值。我想您将能够连接,因为否则您可能会收到“管道的另一端没有进程”这样的信息,所以我假设您的服务器正在运行。
但是,如果由于内存配置不允许而无法登录 SQL Server,则可以使用该-f
选项以最低配置启动 SQL Server 。
-F
以最少的配置启动 SQL Server 实例。如果配置值的设置(例如,过度使用内存)阻止了服务器启动,这将非常有用。在最小配置模式下启动 SQL Server 会将 SQL Server 置于单用户模式。有关更多信息,请参阅后面的 -m 说明。
供参考:SQL Server 不小心将“最大服务器内存”设置为 0 后无法启动
在最小配置模式下启动 SQL 实例
NET START MSSQLSERVER /f
Run Code Online (Sandbox Code Playgroud)从同一 cmd 窗口连接到实例并更改最大内存设置:
SQLCMD -S Server/Instance -E
Run Code Online (Sandbox Code Playgroud)
您应该会看到如下所示的提示:
1>
Run Code Online (Sandbox Code Playgroud)默认情况下,可能无法查看和更改最大内存设置。要修改此行为,请使用以下查询:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO
Run Code Online (Sandbox Code Playgroud)
从配置管理器重新启动实例。
归档时间: |
|
查看次数: |
60125 次 |
最近记录: |