解决SQL Server虚拟内存不足情况

2016-02-19 11:12 14 1 收藏

下面请跟着图老师小编一起来了解下解决SQL Server虚拟内存不足情况,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - 编程语言 】

解决SQL Server虚拟内存不足情况
症状
  在具有 2 GB 或更多 RAM 的计算机上,除了 256 MB (SQL Server 7.0) 或 384 MB (SQL Server 2000) 虚拟地址空间之外,SQL Server 在启动过程中保留剩下的所有虚拟地址空间以供缓冲池使用。另外,为了存储数据和过程缓存,SQL Server 使用缓冲池内存为来自 SQL Server 进程的大多数小于 8 KB 的其他内存请求提供服务。剩下的未保留内存准备用于不能从缓冲池得到服务的其他分配。这些分配包括、但不限于以下各项: •SQL Server 创建的所有线程的堆栈和关联的线程环境块。在 SQL Server 创建了所有 255 个工作线程之后,这大约为 140 MB。

  •由在 SQL Server 地址空间(根据具体系统而有所不同)中运行的其他 DLL 或进程进行的分配,如: •任何链接的服务器中的 OLE DB 提供程序。

  •通过使用 sp_OA 系统存储过程或扩展存储过程加载的 COM 对象。

  •加载到地址空间中的任何映像(.exe 或 .dll),这些映像通常使用 20 到 25 MB,但是如果您使用链接的服务器、sp_OA 或扩展存储过程,则这些映像可能使用更多的空间。

  •进程堆和 SQL Server 可能创建的任何其他堆。在启动过程中,此空间通常为 10 MB,但是如果您使用链接的服务器、sp_OA 或扩展存储过程,则此空间可能更多。

  •来自 SQL Server 进程的大于 8 KB 的分配,例如较大查询计划、网络数据包大小配置选项接近于 8 KB 时发送和接收缓冲区等情况所需要的分配。要查看此数字,请查找在 DBCC MEMORYSTATUS 中报告的 OS Reserved 值,该值是作为 8 KB 页的数目报告的。通常,该值为 5 MB。

  •跟踪缓冲池中每个缓冲区状态信息的数组。该值通常约为 20 MB,除非 SQL Server 运行时启用了地址窗口化扩展插件 (AWE),在这种情况下,该值将会显著提高。

  在拥有大量数据库的系统上,日志格式化所需的 64 KB 分配可能会占用所有剩余的虚拟内存。这之后的分配将失败,导致本文的“症状”一节中列出的一个或多个错误。

  通过使用 -g 启动参数,您可以指示 SQL Server 保留附加的虚拟内存可用,以便这些与日志相关的分配和其他正常分配加在一起也不会用完虚拟地址空间。

  下表根据数据库的数目和服务器版本列出 -g 值的一些建议初始值: DatabasesSQL Server 7.0SQL Server 2000

  250-g134N/A

  500-g185N/A

  750-g237N/A

  1000-g288-g288

  1250-g340-g340

  1500-g392-g392

  此表是使用列出的典型值进行计算的,并且此计算是基于没有使用链接的服务器活动、sp_OA 或扩展存储过程这一假设的。它还假设您没有使用 AWE 和 SQL 事件探查器。出现以上任意一种情况都需要您增加 -g 的值。

  如果服务器上数据库的数目超过此数目,Microsoft 建议您在运行该服务器之前进行慎重的考虑,因为系统上具有如此数目的数据库所需的系统开销将占用缓冲池中的大量虚拟内存,从而可能导致系统整体性能下降。

: 打造SQL Server2000的安全策略

来源:http://www.tulaoshi.com/n/20160219/1596763.html

延伸阅读
如果您碰到SQL Server服务造成内存不断扩展最终系统死机等情况,请按照以下方法解决。 原理:SQL Server 2000引入的动态内存分配机制,一般不能很好的回收内存,如果计算机一直不关闭,就会发生内存耗尽的可能。您可以选择每周关机一次来避免,或者是按照下述方法来抑制内存的增长。 1、在服务器上开始—Microsoft SQL Server—...
标签: 电脑入门
大家在应用电脑时一定都遇到过机器提示内存不足的现象吧,那么什么是内存不足,又该如何处理呢,下面我们就来讲一讲有关这方面的内容。 所谓内存不足就是指在启动或运行DOS应用程序和Windows应用程序时,系统报Out of memory"或内存不足"的错误信息。内存不足是一种很常见的故障,运行DOS应用程序和Windows应用程序引起内存不足的原...
标签: 内存
关闭多余程序 如果同时打开的文档过多或者运行的程序过多,就没有足够的内存运行其他程序。这时,对于多文档界面程序,如Word、Excel等,请关闭当前文档外的所有文档,并退出当前未使用的程序,或许你就能够继续执行因“内存不足”而被中断的任务。 清除剪贴板中的内容 1.清除系统剪贴板中的内容(存储Windows复制或剪贴内容...
标签: 电脑入门
一、DOS下的内存不足 如果是在运行DOS应用程序时出现 Out of memory(内存不足)的故障,可按以下方法进行检查和处理: 1、检查系统是否提供对扩充内存的支持,必须保证CONFIG.SYS文件中的EMM386.EXE命令中含有RAM参数,关于RAM参数的设置请参考相关文章,这里就不述叙; 2、 如果故障仍存在,检查DOS内核程序与其它运行的应用程序是否兼容,某...
标签: 电脑入门
一、剪贴板占用了太多的内存 实际上,剪贴板是内存中的一块临时区域,当你在程序中使用了复制或剪切命令后,Windows将把复制或剪切的内容及其格式等信息暂时存储在剪贴板上,以供粘贴使用。如果当前剪贴板中存放的是一幅图画,则剪贴板就占用了不少的内存。这时,请按下述步骤清除剪贴板中的内容,释放其占用的内存资源: 1.单击开始,指向程...

经验教程

575

收藏

72
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部