新的查询内存授予选项均可 (min_grant_percent 和 max_grant_percent) 在 SQL Server 2012年

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3107401
关于 MIN_GRANT_PERCENT 和 MAX_GRANT_PERCENT
Service Pack 3 (SP3) 将添加到 Microsoft SQL Server 2012年的以下内存授予选项。

MIN_GRANT_PERCENT

指定的查询应授予的内存的最小百分比值。范围是 0.0 到 100.0。浮点值是有效的。

MAX_GRANT_PERCENT

指定可被授予查询内存的最大一个百分比值。范围是 0.0 到 100.0。浮点值是有效的。
如果这一最大内存限制的大小小于所需的内存来运行查询,查询会授予所需的内存。
解决方案
此功能是针对 SQL Server 推出以下服务包中的第一。
有关 SQL Server 2012 Service Pack 3 (SP3) 的详细信息,请参阅 SQL Server 2012 Service Pack 3 中修复的错误.

有关 SQL Server 的服务包

Service pack 具有累积性。每个新服务包中包含以前的服务包,以及任何新的解决办法中的所有修补程序。我们的推荐是应用最新的 service pack 和该 service pack 累积更新。在安装最新的服务包之前不需要安装上一个服务包。查找有关的最新服务包和最新的累积更新的更多信息下面文章中使用表 1。

如何确定版本、 版本、 更新 SQL Server 的级别和其组件
更多信息
百分比值基于资源调控器配置中指定的内存授予。例如,请考虑以下情形︰
  • 有资源池的最大内存量是 10 千兆字节 (GB)。
  • 在资源库中,有的工作负荷组和最大内存授予的查询工作负载组中设置为 10 GB * 50%= 5 GB。
  • 通过使用下面的语句中执行查询︰
    SELECT * FROM Table1 ORDER BY Column1 OPTION (min_grant_percent = 10, max_grant_percent = 50)
在这种情况下,应授予查询内存的最小金额是 5 GB * 10%= 0.5 GB,并且长度不能超过的内存的最大金额为 5 GB * 50%= 2.5 GB。如果此查询获得 1 GB,而不使用这些选项,它将获得相同的金额,因为 1 GB 属于此最小值和最大范围。

Min_grant_percent 内存授予选项重写 sp_configure 选项 (每个查询 (KB) 的最小内存) 不管有多大。

注意:这两个的新查询内存授予选项不适用于索引创建或重建。

在服务器上具有 X g B 的内存,服务器 (Y GB) 的最大可用内存小于 X GB (通常 90%或更少)。授予对每个查询的最大内存为 (Z GB) Y GB * REQUEST_MAX_MEMORY_GRANT_PERCENT/100。

下面的查询选项 (min_grant_percent 和 max_grant_percent) 将应用于 Z GB:
  • Min_grant_percent 保证到查询中。
  • Max_grant_percent 是最大的限制。
有关内存授予的详细信息,请参见 了解 SQL Server 内存授予.
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。

警告:本文已自动翻译

属性

文章 ID:3107401 - 上次审阅时间:07/11/2016 17:15:00 - 修订版本: 2.0

Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard

  • kbqfe kbsurveynew kbexpertiseadvanced kbfix kbmt KB3107401 KbMtzh
反馈