时间的法外狂徒

导航

sqlserver最大内存太小导致连接不上

当修改了sqlserver最大内存过小时会导致程序连接不上数据库,最小内存的大小不定,可能跟数据库版本和开启服务有关系,建议1000m.

解决该问题的思路是:数据库最大内存过小时,sqlserver允许最小模式登录,所有先开启最小模式,登录sqlcmd,然后使用脚本修改数据库的最大内存。

 

1、在windows服务界面启动

 

 

 

 

 

 在启动参数一栏填写:sqlservr.exe -sMSSQLSERVER -mSQLCMD –c -f -m

点击启动,会出现如下图:

 

 

 然后,win+R,输入sqlcmd

 

运行后有如下界面:

 

 

 

 

 将修改最大内存脚本复制进去:

EXEC sp_configure 'show advanced options', '1' RECONFIGURE WITH OVERRIDE;
EXEC sp_configure 'max server memory', 2000 RECONFIGURE WITH OVERRIDE;
EXEC sp_configure 'show advanced options', '0' RECONFIGURE WITH OVERRIDE;
GO

 

 

 回车运行后如下图:

 

 

 修改成功后,要重启服务,将最小模式取消掉后即可正常登陆

 

 

 2、命令行开启最小模式

在服务端sqlserver服务时关闭的情况下,找到sqlservr.exe的位置,cmd启动。

 

 

 输入启动脚本:sqlservr.exe -sMSSQLSERVER -mSQLCMD –c -f -m

 

如下图是启动失败的实例,需要关闭其他的连接,即使没有连接上,如navicat和sqlserver management,关闭他们。保证服务也是关闭状态。

 

 

 

 

 

如下图是正常启动界面:

 

 

 保持该界面正常,同时再另一个cmd界面运行:sqlcmd -E -sMSSQLSERVER。该步也是为了登录,可以直接win+R然后sqlcmd来操作效果一样。

 

 

 在该界面输入修改最大内存脚本:

EXEC sp_configure 'show advanced options', '1' RECONFIGURE WITH OVERRIDE;
EXEC sp_configure 'max server memory', 2000 RECONFIGURE WITH OVERRIDE;
EXEC sp_configure 'show advanced options', '0' RECONFIGURE WITH OVERRIDE;
GO

 

 

 

 出现下图界面即以修改成功,关闭此前开启所有的cmd界面,去服务中开启服务即可。

 

posted on 2022-12-04 10:10  抄手砚  阅读(500)  评论(0编辑  收藏  举报