超市的收银系统出问题了,收银机动不动就死机,原因是后台服务器的SQL Server老是出现“SQL Server存储器不足”的提示,服务还会自动停止。这种情况是怎么造成的?如何解决?请各位帮帮忙,十万火急!!附:我把数据库备份出来,还原到另一台电脑,居然还是这样。

解决方案 »

  1.   

    改成系统自动分配,另外 sql server的补丁打了没有
      

  2.   

    SQL Server2000   没打补丁
      

  3.   

    回:改成系统自动分配,另外 sql server的补丁打了没有虚拟内存没有“系统自动分配”这一项
      

  4.   

    回tylbud:
      
      超市一共才6000条商品信息,前台只有一个收银机
      

  5.   

    回tylbud:  我也觉得问题在数据库上,因为我还原到另一台电脑上,也变成这样了,本来那台是好好的。
      

  6.   

    楼主的问题应该是SQL Server 缓冲池的预期行为通过查找原因才知道这是SQL Server 缓冲池的预期行为。默认情况下,在启动 SQL Server之后,SQL Server会根据操作系统报告的物理内存数来动态增大或缩小高速缓冲存储器的容量。只要可用物理内存大小保持在4MB到10MB之间,SQL Server 缓冲池就会继续增大(保留可用物理内存在4MB到10MB之间是为了避免操作系统因为缺少内存而频繁地换页)。如果物理可用内存变得较少的时候,则SQL Server会将一些内存释放给操作系统。 
      为了使运行在服务器上的应用程序都能达到比较满意的效果,同时也为了能给其他应用程序分配足够的内存,需要采取措施限制SQL Server 的内存使用量。我们可以通过设置SQL Server 数据库引擎使用的内存的上下限来达到此目的。其具体步骤是: 
      1.打开企业管理器,展开服务器组。 
      2.单击该服务器,点击鼠标右键,单击属性菜单。 
      3.在弹出的对话框中单击内存选项卡。   内存设置方法有两种: 
      1.设置min server memory和max server memory 在一个范围段内。 
      比如,我们将它设置成最小0MB,最大255MB。这种方法在为一台服务器中运行多个应用程序分配内存时非常有用。 
      2.设置 min server memory 和 max server memory 为同一数值。 
      比如,可以将它最大和最小值都设置成255MB。这样的设置方法与窗口中的另一个选项“使用固定的内存大小” 相一致。 
      虽然内存最小值和最大值设置是高级选项,但在设置完毕之后,最好还是先将SQL Server服务停止后再重新运行,以便SQL Server能更好地对内存进行合理安排。
      

  7.   

    to kourr2004(愿上帝,佛祖保佑,阿门,阿弥陀佛) 我按照你的步骤一步步操作,在“内存”选项卡里看到的是   动态地配置SQL Server内存
       最小值  0 MB
       最大值 127MB