Sintomas
Suponha que está a criar ou remover um grande número de tabelas temporárias no Microsoft SQL Server 2016 ou 2017. Determinada carga de trabalho de aplicativo invalida o cache de tabelas temporárias. Por exemplo, está a criar tabelas temporárias e, em seguida, a criar ALTER TABLE ou CREATE INDEX, o que invalidará a cache das tabelas temporárias. Nesta situação, poderá deparar-se com os seguintes problemas:
Contenção da linguagem DDL (Data Definition Language) em tempdb no sysobjvalues do catálogo do sistema e ocorre um grande número de sessões que estão aguardando no PAGELATCH_EX, PAGELATCH_SH e PAGELATCH_UP tipo de espera.
Esta situação também afeta a carga de trabalho quando a contagem de entradas é superior a 4 000. No entanto, isto pode variar consoante a carga de trabalho. Consulte o seguinte exemplo:
SELECT [name], [type], [entries_count], [entries_in_use_count]
FROM sys.dm_os_memory_cache_counters
WHERE [type] = N'CACHESTORE_TEMPTABLES'Designação Tipo entries_count entries_in_use_count Tabelas temporárias & variáveis de tabela CACHESTORE_TEMPTABLES < contagem> < contagem>
Resolução
Este problema foi corrigido nas seguintes atualizações cumulativas para SQL Server:
Atualização cumulativa 5 para SQL Server 2017
Atualização cumulativa 8 para SQL Server 2016 SP1
Acerca das atualizações cumulativas para SQL Server:
Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:
Atualização cumulativa mais recente para o SQL Server 2017
Atualização cumulativa mais recente para o SQL Server 2016
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
Referências
Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.