zoukankan      html  css  js  c++  java
  • 内存体系结构

    SQL Server 将根据需要动态获取并释放内存。虽然该选项仍然存在且在有些环境下需要用到,但通常情况下管理员不必指定为 SQL Server 分配多少内存。

    SQL Server 支持地址窗口化扩展插件 (AWE),从而允许在 32 位版本的 Microsoft Windows 操作系统上使用超过 4 GB 的物理内存。最多可支持 64 GB 的物理内存。运行在 Microsoft Windows 2000 上的 SQL Server 实例使用静态 AWE 内存分配,而运行在 Microsoft Windows Server 2003 上的实例使用动态 AWE 内存分配。

    ms187499.note(zh-cn,SQL.100).gif注意:
    只有 SQL Server Enterprise Edition、Standard Edition 和 Developer Edition 支持 AWE,并且 AWE 只能应用于 32 位操作系统。Analysis Services 不能利用 AWE 映射内存。如果可用物理内存小于用户模式虚拟地址空间,则无法启用 AWE。

    所 有数据库软件的主要设计目标之一是尽量减少磁盘 I/O,因为磁盘的读取和写入操作占用大量资源。SQL Server 在内存中生成缓冲池,以保存从数据库读取的页。SQL Server 中的大量代码专门用于尽量减少磁盘与缓冲池之间的物理读写次数。SQL Server 设法在以下两个目标之间达到平衡:

    • 防止缓冲池变得过大,从而导致整个系统内存不足。
    • 尽量增加缓冲池达的大小,以便尽量减少数据库文件的物理 I/O。

    有关详细信息,请参阅缓冲区管理

    默认情况下,SQL Server 2005 的各个版本动态管理每个实例占用的内存。在 Windows 2000 和更高版本的操作系统上,SQL Server 管理 AWE 映射内存的方式有所不同。

    ms187499.note(zh-cn,SQL.100).gif注意:
    在负载过重的系统中,某些在运行时需要大量内存的大型查询不能获取所需的最小内存量,并在等待内存资源时收到超时错误。若要解决此问题,请增大 query wait 选项。对于并行查询,请考虑减小 max degree of parallelism 选项
    ms187499.note(zh-cn,SQL.100).gif注意:
    在负载过重而内存不足的系统中,对于查询计划中带有合并联接、排序和位图的查询,如果无法获得位图所需的最小内存量,可以删除位图。这会影响查询的性能,并且如果排序过程所需的内存过大,就会增加 tempdb 数据库中工作表的使用量,从而导致 tempdb 增大。若要解决此问题,可添加物理内存或优化查询以使用其他更迅速的查询计划。有关优化信息,请参阅优化 tempdb 性能如何优化数据库
     为 SQL Server 提供最大内存量

    通过使用 AWE 和“锁定内存中的页”权限,可以为 SQL Server 数据库引擎提供下列内存量。


    32 位 64 位

    常规内存

    所有 SQL Server 版本的最大处理虚拟地址空间限制:

    • 2 GB
    • 3 GB,具有 /3gb 启动参数 1
    • 4 GB,在 WOW642 上

    所有 SQL Server 版本的最大处理虚拟地址空间限制:

    • 7 TB,在 IA64 体系结构上
    • 8 TB,在 x64 体系结构上
    ms187499.note(zh-cn,SQL.100).gif注意:
    在 Windows Server 2003 上,限制为 512 GB;在 Windows Server 2003 Service Pack 1 上,限制为 1 TB。Windows 支持其他内存时,SQL Server 可以达到列出的限制。

    AWE 机制(允许 SQL Server 在 32 位平台上超过处理虚拟地址空间限制。)

    SQL Server Standard Edition、Enterprise Edition 和 Developer Edition:缓冲池最多可以访问 64 GB 内存。

    不可用 3

    “锁定内存中的页”操作系统 (OS) 权限(允许锁定物理内存,避免 OS 对锁定的内存进行分页。)4

    SQL Server Standard Edition、Enterprise Edition 和 Developer Edition:SQL Server 进程使用 AWE 机制所必需的。通过 AWE 机制分配的内存不能出页。

    授予此权限但未启用 AWE 不会对服务器产生影响。

    SQL Server Enterprise Edition 和 Developer Edition:建议,以避免操作系统分页。是否具有性能优势取决于工作负荷。可访问的内存量类似于常规内存的情况。

    1 /3gb 为操作系统启动参数。有关详细信息,请访问 MSDN Library

    2 WOW64 (Windows on Windows 64) 是 32 位 SQL Server 在 64 位操作系统上运行的一种模式。有关详细信息,请访问 MSDN Library

    3 注意,sp_configure awe enabled 选项显示在 64 位 SQL Server 上,但被忽略。此选项将在 64 位 SQL Server 的将来版本或 Service Pack 中删除。

    4 如果授予“锁定内存中的页”权限(在支持 AWE 的 32 位系统上或单独在 64 位系统上),我们建议也要设置 max server memory。有关详细信息,请参阅服务器内存选项

    更多动态请关注微信公众号 dbagrant
  • 相关阅读:
    前端笔记之JavaScript(六)让人头疼的正则表达式
    前端笔记之JavaScript(五)关于数组和字符串那点事
    前端笔记之JavaScript(四)关于函数、作用域、闭包那点事
    前端笔记之JavaScript(三)关于条件判断语句、循环语句那点事
    前端笔记之JavaScript(二)关于运算符&初识条件判断语句
    前端笔记之CSS(下)浮动&BFC&定位&Hack
    前端笔记之CSS(上)语法&文本属性&块/行内元素&选择器&盒模型
    artTemplate--使用artTemplate时,由于json对象属性有数字命名格式 导致调用报错 syntax error
    多线程--做单元测试时,使用线程池发现并没有运行指定代码,直接跳过
    JSP-导入taglib 出现classNotFound异常
  • 原文地址:https://www.cnblogs.com/laoyumi/p/1586058.html
Copyright © 2011-2022 走看看