在物理内存只有512MB的机器上设置SQL server服务器的最大线程数为1024有没有影响?(40分)

  • 主题发起人 主题发起人 markss
  • 开始时间 开始时间
M

markss

Unregistered / Unconfirmed
GUEST, unregistred user!
一台服务器,双CPU,物理内存只有512MB,然后将SQL server服务器的最大线程数从255改为1024,不知道有没有影响?有没有可能出现out of memory的错误呢?

我通过delphi程序调用isqlw.exe执行一个很非常耗时的存储过程,这个存储过程主要是将一些表的记录进行汇总之类的操作,同时这个存储过程中使用了很多其他的存储过程。原来一直都很正常,最近改掉了最大线程数为1024,执行了几天程序之后,今天出现了错误:

======================================
[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionCheckForData (CheckforData()).
服务器: 消息 11,级别 16,状态 1,行 0
一般性网络错误。请检查网络文档。

连接中断

======================================


其中有提到][Shared Memory],很可能就是内存溢出的原因。
其中虽然说是网络错误,但是这个程序是在SQL Server服务器上(本地服务器上)直接运行的,并没有需要链接到其他的网络服务器上的。
 
小点的好,不然RAID不安全的。我以前做过的一个因为线程太大了结果我连加了四天的班的。
 
哦?
请问如何修改sql server的线程数,我要改下。
 
to:wzhhzw
线程过大导致你的程序出什么问题了?谢谢

==========================
在服务器的“属性”->“处理器”->“最大工作线程”中修改。
 
线程要那么多干嘛? CPU运行能力是有限的.一般的应用我觉得255都用不了的.因为如果你的这个存储过程非常耗时,那说明他非常耗CPU,这时候即使线程再多,有什么用?我想你的系统不太可能同时运行多少个如此耗时的存储过程吧.
对于数据库的优化,是需要比较专业的知识的.这可以专门成为一个职业的.
至于你的现在的症状.在SQL的帮助当中根据错误代码应该有说明的.同时你可以查看MSSQL的日志获取一定的信息
 
后退
顶部