SQL Server最大内存设为0后的处置办法

故障说明:
远程调整实例内存时疏忽,将实例最大内存调整为了0,因此最大内存变成了128MB的最小值。
解决方式:
1.正常关闭SQL Server服务,如果是集群,需要先关停止集群角色防止故障转移,然后再单独关闭服务。
--注意这一步可能会使实例处于挂起状态很长时间,但是正常关闭是必须的,直接杀进程可能造成数据文件损坏。
2.以"not as a service"的模式启动实例。
cd D:Microsoft SQL ServerMSSQL11.MSSQLSERVERMSSQLBinn
sqlservr.exe -sMSSQLSERVER -mSQLCMD –c -f -m

这样以最小配置+单用户模式单独启动sqlserver服务,注意不要关闭此窗口,否则服务关闭。

3.重开一个cmd窗口,连接数据库

sqlcmd -E  (-E只是windows身份验证,从而使本地登录无需账号名密码)
--如果是命名实例则:
sqlcmd -E -S IP<实例名> 
注意命名实例需要开启SQL server Browser服务,才能连接。
EXEC sys.sp_configure N'show advanced options', N'1'  RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N'max server memory (MB)', N'5000'
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sys.sp_configure N'show advanced options', N'0'  RECONFIGURE WITH OVERRIDE
GO

4.修改内存完毕后,关闭sqlservr.exe窗口,重启实例服务即可。

 

原文地址:https://www.cnblogs.com/leohahah/p/7199709.html