SQL是比較占內存的,SP裡面的臨時表,最好是刪除掉。 刪除臨時表的語句 IF NOT OBJECT_ID('TEMPDB..臨時表') IS NULL DROP TABLE 臨時表
sql server不会释放内存的,除非重启服务
目前有效的方法:通过批处理重启SQL服务:net stop sqlserveragent net stop MSSQLServer net Start MSSQLServer net Start sqlserveragent exit说明:MSSQLServer:是SQL必要的服务,sqlserveragent:是SQL的代理服务,如果服务器不需要运行代理,可以不加入批处理.然后在任务计划把改批处理添加进去,这样就做到每天定时重启SQL服务了。
"连登陆都登不上" 那一定是设计出了问题 SP里的临时对象不需要显式DROP有偿支持
sp_configure 'show advances options' 1 reconfigure go sp_configure 'awe enable' 1 reconfigure go sp_configure 'max server memory', 6000(设置为你想要限制的内存,单位是M) reconfigure GO
这个是不会释放内存的。最好还是写个批处理文件把sql服务重新启动,这样会释放内存
a.bat
stop sqlserver
start sqlserver
把此把此批处理文件加入到操作系统的计划中,具体在对sql server 不应用的启动服务,具体的时间。
那个设定值后 就一般不会释放,如果想释放 就重新 设置一个比较小的内存值,然后重启服务。
内存上限设置在服务器设置页面,输入正确数据就可以,注意要留一定内存给操作系统,有8G内存上限设置6144(6G)就可以了
配置内存上限可以限制MSSQL使用的内存总数,如果想详细了解这块的设置,可以去MSDN搜索一下,有相关的文章。
刪除臨時表的語句
IF NOT OBJECT_ID('TEMPDB..臨時表') IS NULL DROP TABLE 臨時表
net stop MSSQLServer
net Start MSSQLServer
net Start sqlserveragent
exit说明:MSSQLServer:是SQL必要的服务,sqlserveragent:是SQL的代理服务,如果服务器不需要运行代理,可以不加入批处理.然后在任务计划把改批处理添加进去,这样就做到每天定时重启SQL服务了。
那一定是设计出了问题
SP里的临时对象不需要显式DROP有偿支持
reconfigure
go
sp_configure 'awe enable' 1
reconfigure
go
sp_configure 'max server memory', 6000(设置为你想要限制的内存,单位是M)
reconfigure
GO