内存配置和调整 SQL Server 2012中的注意事项

文章翻译 文章翻译
文章编号: 2663912 - 查看本文应用于的产品
展开全部 | 关闭全部

概要

Microsoft SQL Server 执行自动和动态内存管理基于 SQL Server 的内部组件和系统上的工作负载的当前内存要求。SQL Server 还提供了与内存相关的配置选项,以帮助为特定应用程序的行为模式和特定的高级的需求进行调整。不同的配置选项如下:
  • sp_configure 选项 (最大服务器内存 (MB)服务器内存最小值 (MB),并启用 awe
  • -g启动参数 (memory_to_reserve
  • 锁定的页

Microsoft SQL Server 2012年引入了内存管理器会影响管理员如何配置这些内存选项的更改。请检查再升级到 SQL Server 2012年或配置新安装的 SQL Server 2012年之前这里描述的更改。

注意:本文也适用于 Microsoft SQL Server 2014年中。

更多信息

SQL Server 2012年还引入了特定类型的内存分配核算的方法和控制的可由这些类型的分配的内存的最大数量的内存配置选项中的更改。在 SQL Server 2012年中所做的更改仅针对内存分配请求从 SQL CLR 和多页分配。SQL Server 2012年包含新的页面分配器,用于管理单个页面和多页分配 (小于 8 KB 和大于 8 KB 的分配请求)。因此,它被称为"多页分配"在 SQL Server 2012年中没有单独分类。

更改"最大服务器内存 (MB)"和"最小服务器内存 (MB)"

在早期版本的 SQL Server (SQL Server 2005,SQL Server 2008 中,SQL Server 2008 R2),下列配置选项确定占用缓冲池中的物理内存的限制。请注意我们正在讨论有关由 SQL Server 数据库引擎进程提交此种情况下,物理内存中的物理内存:
  • 最大服务器内存 (MB)
  • 服务器内存最小值 (MB)
Thisconfiguration 选项通常包含了小于或等于 8 KB 到 SQL Server 进程中的内存分配。这些分配 werealso 称为"single_page_allocations"因为 SQL Server 内存管理器使用大小为 8 KB 的页面。此配置中不包括以下的内存分配请求:
  • 从 SQL Server 的多页分配: 这些是请求大于 8 KB 的分配。
  • CLR 分配: 这些分配包括 SQL CLR 堆和 CLR 初始化期间创建的全局分配。
  • SQL Server 进程中的线程堆栈的内存分配。
  • 直接针对 Windows 进行的内存分配请求: 其中包括 Windows 堆使用情况和直接虚拟所分配的对象到 SQL Server 进程加载的模块。这种内存分配请求的示例包括分配的扩展存储过程 Dll),通过使用自动化过程 (sp_OA 调用),并分配的链接的服务器提供程序创建的对象。

从 SQL Server 2012年,多页分配和 CLR 分配也包括在所控制的最大服务器内存 (MB)服务器内存最小值 (MB)的内存限制。这种更改提供了更准确的大小调整能力通过 SQL Server 内存管理器的所有内存需求。您在升级到 SQL Server 2012年后请仔细检查您当前的最大服务器内存 (MB)服务器内存最小值 (MB)值。因为 SQL Server 2012年现在包括,与早期版本相比更多的内存分配的帐户,您应该检查此类值。这些更改将应用到 SQL Server 2012年的 32 位和 64 位版本。

下表指示特定类型的内存分配受最大服务器内存 (MB)服务器内存最小值 (MB)配置选项。
收起该表格展开该表格
类型的内存分配SQL Server 2005,SQL Server 2008年,SQL Server 2008 R2SQL Server 2012
单个页分配是的整合到"任何大小"页分配
多页分配是的整合到"任何大小"页分配
CLR 分配
线程堆栈内存
直接从 Windows 的分配

"Memory_to_reserve"的更改


在 32 位 (SQL Server 2005,SQL Server 2008 中,SQL Server 2008 R2) 的 SQL Server 的早期版本中,SQL Server 内存管理器放在一边使用进程虚拟地址空间的一部分通过设置以下分配请求:
  • 从 SQL Server 的多页分配: 这些是请求大于 8 KB 的分配。
  • CLR 分配: 这些分配包括 SQL CLR 堆和 CLR 初始化期间创建的全局分配。
  • SQL Server 进程中的线程堆栈的内存分配。
  • 直接针对 Windows 进行的内存分配请求: 这些分配请求包括 Windows 堆使用情况和直接虚拟所分配的对象到 SQL Server 进程加载的模块。这种内存分配请求的示例包括分配的扩展存储过程 Dll),通过使用自动化过程 (sp_OA 调用),并分配的链接的服务器提供程序创建的对象。

Memory_to_reserve配置选项取决于为这些分配保留的虚拟地址空间。SQL Server 使用的默认值为 256 MB。若要重写默认值,请使用 SQL Server -g启动参数。这一部分的虚拟地址空间,即所谓"保留的内存"或"非缓冲池区域"。

由于 SQL Server 2012年的新"任何大小"页面分配器处理大于 8 KB 的分配,则memory_to_reserve值不包括多页分配。除此更改后,所有其他内容保持不变,此配置选项。

下表指示是否特定类型的内存分配到的虚拟地址空间的memory_to_reserve地区为 SQL Server 进程。
收起该表格展开该表格
类型的内存分配SQL Server 2005,SQL Server 2008年,SQL Server 2008 R2SQL Server 2012
单个页分配否,整合到"任何大小"页分配
多页分配否,整合到"任何大小"页分配
CLR 分配
线程堆栈内存
直接从 Windows 的分配

对其他与内存相关的配置选项的更改

如果您配置了 SQL Server 2005,SQL Server 2008 中或 SQL Server 2008 R2,若要使用"启用 awe"选项,请查看以下文章以了解重要更改该配置选项:
"启用 awe"SQL Server 功能已被弃用

如果配置 SQL Server 2005 时,SQL Server 2008 中或 SQL Server 2008 R2,才能使用"锁定的页"功能,请查看以下文章以了解重要更改该配置选项:
如何启用 SQL Server 2012年中的"锁定页面"功能

在各种版本的 SQL Server 的最大内存利用率

不同版本的 SQL Server 上各种有最大限制可以使用 resourcesthey。没有强制执行的 SQL Server 的不同版本的最大内存使用量的限制。例如,SQL Server 2008 R2 实例可以使用 64 GB 的的 maximummemory。有关完整的详细信息,请转到下面的 MSDN 网页:
SQL Server 2012年的版本所支持的功能
从 SQL Server 2012年,并仅用于数据库缓存 (缓冲池) 强制这些内存限制。其余的 SQL Server 内存管理器中的高速缓存可以使用更多内存,比这些版限制通过指定。例如,SQL Server 2012年速成版可以为其数据库缓存使用仅 1.4 g B 的最大大小。其他 (如过程高速缓存、 元数据缓存等) 的高速缓存可能会消耗内存,直到达到指定的"最大服务器内存"配置的大小。

参考

在 Denali SQL Server 内存管理器更改

在 SQL Server 2012年的新 SQLOS 功能

属性

文章编号: 2663912 - 最后修改: 2014年7月24日 - 修订: 3.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2012 Enterprise
关键字:?
kbtshoot kbmt KB2663912 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 2663912
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com