社区
MS-SQL Server
帖子详情
关于SQL Server 在win2000下内存无法释放的问题(最终结果)
w0017
2002-06-26 02:45:55
我已经打过ms的技术支持电话了
基本上,是SQL Server本身的问题
ms不提倡通过应用程序释放,也没有告诉我怎么释放
看来这个问题基本上,没法解决,只能设置个内存最大值了
...全文
108
10
打赏
收藏
关于SQL Server 在win2000下内存无法释放的问题(最终结果)
我已经打过ms的技术支持电话了 基本上,是SQL Server本身的问题 ms不提倡通过应用程序释放,也没有告诉我怎么释放 看来这个问题基本上,没法解决,只能设置个内存最大值了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CDINnet
2002-06-28
打赏
举报
回复
SQL Server在默认状态,会自动将自己的最大使用内存和CPU线程设为最大,如你的系统内存为512M,那么SQLServer的默认最大内存也是512M,而CPU的最大工作线程为“255”。
所以可以想象,一旦SQLServer进行大批量数据的检索,建立大数据量的临时表,或者运行一些多表关联的查询和修改时,整个系统的资源就基本被完全占有。而如果你的服务器同时还承担着其他一些服务,如IIS,Exchange Server等,那么必然导致系统资源紧张,从而争抢线程,导致系统完全堵塞。
所以碰到此类问题只能预防:
1. 根据数据库的服务量,配置合理的硬件,如果服务量很大,那么最好只安装SQL Server这种大型的服务软件。
2. 适当的增加虚拟内存,但过高反而会影响速度。
3. 将系统内存资源至少拿出50M供Windows使用,也就是说SQL Server的最大使用内存=系统总内存-50(如果你安装了其他服务软件 ,那么还需减少SQL Server的最大使用内存)
4. 适当的减少SQL Server的最大CPU工作线程,比如改为220,或者200等。
5. 其他就要从内部来优化:比如减少一次性读取得数据量,比如你需要读取10万条记录并进行修改,那么最好分批次循环来执行,如一次只处理2000条。
其他:在测试存储过程的时候,最好打开任务管理器,宏观监控系统资源,然后优化你的存储过程。
CDINnet
2002-06-27
打赏
举报
回复
SQL Server是有这个问题,如果承担太多的后台服务,或者运行大批量的检索查询后,内存一直无法释放,甚至会导致线程堵塞。
所以首先为了放置系统堵塞,可以把SQL Server的最大内存,和CPU线程分配小一点。
其次,如果不是实时数据服务的话,可以手动或者写个小程序,定时关闭一下SQL Server的服务,然后重新打开。
总之一个字:烦!
bluepower2008
2002-06-27
打赏
举报
回复
一般来说中等到大型的应用系统,数据库服务器应该是单独的,内存至少512m以上,处理os的内存需求,其他最好都让sqlserver使用,可以提高性能。
为什么要释放内存呢?
如果只是测试或开发环境,重启服务就行了。
w0017
2002-06-27
打赏
举报
回复
肯定不是因为病毒
与数据库的连接最后肯定是释放了,我在sql的管理器里查看过
但不知道为什么就是释放不了占用的内存
有人说在NT下没问题。
w0017
2002-06-27
打赏
举报
回复
点数已经增加,CDINnet(CDIN.Net) 能仔细讲一下上面的问题么?
w0017
2002-06-27
打赏
举报
回复
甚至会导致线程阻塞?能说得具体一点么?谢谢
p.s.怎么增加“问题点数”啊?
hzm_8
2002-06-26
打赏
举报
回复
兄弟不要泄气,继续找原因。找出到底什么影响了你的资源,会不会是WINDOWS操作系统的原因,比如说病毒。
拭目以待。
yongwc
2002-06-26
打赏
举报
回复
我的看法是没有必要自己去放内存,由操作系统管理吧
而且sql 一般会为系统留下4M-10M 的物理内存给os
w0017
2002-06-26
打赏
举报
回复
鱼焖。
我打电话的时候偷偷想:
如果sql server不是第一大软件公司的产品,只因为这个问题,也会被n多人抛弃的
gzj0815
2002-06-26
打赏
举报
回复
没有听明白,我做完后,都是这样
set myrst=nothing
set conn=nothing
也不知道是不是你说的最终释放内存。
vc++ 应用源码包_1
代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在
内存
中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...
vc++ 开发实例源码包
代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在
内存
中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...
实战化课程:全面掌握
SQL
Server
高可用技术,从菜鸟到专家
课程系统性强,知识体系完整,覆盖90%以上的企业环境下
SQL
Server
高可用场景,课程中不仅演示详细的操作步骤,更加突出最常见的故障和
问题
,让学员少走“弯路”,不只是让学员学会“操作”更能让学员“操作”的规范...
vc++ 应用源码包_2
代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在
内存
中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...
vc++ 应用源码包_6
代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在
内存
中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...
MS-SQL Server
34,590
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章