Problembeschreibung
Angenommen, Sie erstellen oder löschen eine große Anzahl temporärer Tabellen in Microsoft SQL Server 2016 oder 2017. Bestimmte Anwendungsauslastung macht den Cache temporärer Tabellen ungültig. So erstellen Sie beispielsweise temporäre Tabellen und erstellen dann ALTER TABLE oder CREATE Index , wodurch der Cache temporärer Tabellen ungültig wird. In diesem Fall können die folgenden Probleme auftreten:
-
Datendefinitionssprache (Data Definition Language, DDL)-Konflikte in der tempdb-Datei für den Systemkatalog sysobjvalues und eine große Anzahl von Sitzungen, die auf die PAGELATCH_EX warten, PAGELATCH_SH und PAGELATCH_UP Wait-Typ auftreten.
-
Diese Situation wirkt sich auch auf die Arbeitsauslastung aus, wenn die Anzahl der Einträge mehr als 4.000 ist. Dies kann jedoch je nach Arbeitsauslastung variieren. Sehen Sie sich das folgende Beispiel an:
SELECT [name], [type], [entries_count], [entries_in_use_count]
FROM sys.dm_os_memory_cache_counters
WHERE [type] = N'CACHESTORE_TEMPTABLES'
Namen
Geben
entries_count
entries_in_use_count
Temporäre Tabellen #a0 Tabellenvariablen
CACHESTORE_TEMPTABLES
<Anzahl>
<Anzahl>
Fehlerbehebung
Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Informationsquellen
Erfahren Sie mehr über die Terminologie, mit der Microsoft Softwareupdates beschreibt.