改进了的 SQL Server 稳定性和某些 columnstore 查询在 SQL Server 2014年和 2016年的并行查询执行

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

点击这里察看该文章的英文版: 3191487
症状
请考虑以下情形:
  • 必须具有聚集,columnstore 索引的表和表具有很多列 (在数百个)。
  • 这些列的数据 (数据类型) 如是高度可压缩的数据varchar.
  • 在运行 选择 对此表,从表中选择大型子集或所有列的语句。
  • 选择 语句 在哪里 子句,以限制对它的输出 (查询是高选择性的) 很少行。
在这种情况下,您可能会遇到任何或所有后续症状︰
  • 并发工作负荷,(在此查询的服务器上同时执行其他查询),可能会遇到性能和吞吐量的损失减少。
  • 您可能会看到间歇性的 CPU 使用率过高。
  • 如果您查询 sys.dm_os_ring_buffers并查看 SchedulerMonitor 键入的条目,您发现间歇性"非产出计划程序"时此查询执行期间记录的消息。
  • 您可能在错误日志中看到无产出计划程序错误,可能会生成一个故障内存转储文件。


解决方案
第一次 SQL Server 以下累积更新中修复问题︰ 建议︰ 设置 SQL Server 的累积更新
SQL Server 的每个新累积更新包含所有修补程序和所有安全修补程序,已包含在以前的累积更新。我们建议您下载并安装最新的累积更新 SQL Server:
更多信息

修正的详细信息

过程列段 (将它们解压缩和合格的行对其进行扫描) 用于"产量"CPU 使用率会其他工作人员/并行查询执行时行的某些阈值数所输出的工作人员。高选择性,以产生几行WHERE子句时,处理该查询的工作人员处理段未压缩和大数量 (因为限定少数行) 之前他们协作的方式,其他工作人员来处理其工作负荷中放弃 CPU。这导致了对并发工作负荷的不规则 CPU 使用率和吞吐量下降。此修复程序优化,并改进了 CPU 共享这种 columnstore 查询的算法。
参考
了解有关 术语 Microsoft 用于描述软件更新。

警告:本文已自动翻译

属性

文章 ID:3191487 - 上次审阅时间:10/18/2016 06:25:00 - 修订版本: 1.0

Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3191487 KbMtzh
反馈