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

症状

假设你要在 Microsoft SQL Server 2016 或2017中创建或删除大量临时表。 某些应用程序工作负荷会使临时表的缓存失效。 例如,你正在创建临时表,然后创建 ALTER TABLE 或 CREATE INDEX ,这将使 临时表的缓存无效。 在这种情况下,你可能会遇到以下问题:

  • 系统目录 sysobjvalues 上的 tempdb 中的数据定义语言(DDL)争用和大量等待 PAGELATCH_EX 的会话,PAGELATCH_SH 并 PAGELATCH_UP 等待类型发生。

  • 当条目计数超过4000时,此情况也会影响工作负荷。 但是,这可能会有所不同,具体取决于工作负荷。 请参阅以下示例:

     

    SELECT [name], [type], [entries_count], [entries_in_use_count]

    FROM sys.dm_os_memory_cache_counters

    WHERE [type] = N'CACHESTORE_TEMPTABLES'

    处理器类型

    entries_count

    entries_in_use_count

    & 表变量的临时表

    CACHESTORE_TEMPTABLES

    <计数>

    <计数>

解决方案

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

       SQL Server 2017 累积更新5

       SQL Server 2016 SP1 的累积更新8

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

SQL Server 2017 的最新累计更新

SQL Server 2016 的最新累计更新

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

了解 Microsoft 用于描述软件更新的 术语

需要更多帮助?

需要更多选项?

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

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

此信息是否有帮助?

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

谢谢您的反馈!

×