使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

使用 Microsoft SQL Server 2016 (或 2017) 的新实例或从早期版本的 SQL Server 升级的 SQL Server 2016 (或 2017) 实例时,由于 CPU 使用率高,会遇到性能问题。 此外,如果查询sys.dm_os_spinlock_stats表,则会发现表) 中的其他行相比,SECURITY_CACHE (安全缓存) 和 CMED_HASH_SET (元数据) 缓存 ( (行的自旋列中具有较高的值。 例如,你注意到以下值。

错误

原因

由于高度并发系统中的自旋锁争用率较高,因此会出现此问题。 在这些操作系统中,多个 CPU 线程在定期在循环中运行以确定资源是否可用,而不是立即生成时,争用资源并以延长间隔旋转。 当多个 CPU 线程在一 段时间内 (循环) 资源而不产生结果时,这会导致 CPU 使用率和性能问题。

解决方法

以下SQL Server累积更新修复了此问题:

备注 应用 SQL Server 2016 累积更新 2 (CU2) 后,SECURITY_CACHECMED_HASH_SET名称将分别更改为LOCK_RW_SECURITY_CACHELOCK_RW_CMED_HASH_SET。 应用 CU2 后,值如下所示。

更新

SQL Server的每个新的累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看SQL Server的最新累积更新:

2017 SQL Server的最新累积更新

SQL Server 2016 的最新累积更新

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×