KB3005011 – Unerwartetes Wachstum von tempdb-Datendateien bei Verwendung von SQL Server Service Broker

Gilt für
SQL Server 2016

Symptome

Sie bemerken ein unerwartetes Wachstum von tempdb-Datendateien, wenn Anwendungen, die Microsoft SQL Server Service Broker verwenden, für ein Nachrichtenmuster von einer Nachricht pro Unterhaltung konfiguriert sind. Dieses Muster ähnelt dem "Fire-and-Forget"-Muster, das normalerweise bei der Überwachung von Anwendungen verwendet wird.

Wenn Sie die sys.dm_db_task_space_usage dynamische Verwaltungsansicht (Dynamic Management View, DMV) abfragen, während dieses Problem auftritt, stellen Sie möglicherweise fest, dass der Wert "internal_objects_dealloc_page_count" für Sitzungs-IDs, die interne Service Broker-Aufgaben ausführen, nicht im gleichen Maße steigt wie "internal_objects_alloc_page_count".

Darüber hinaus wird der tempdb-Speicherplatz auch dann nicht freigegeben, wenn alle ausstehenden Unterhaltungen geschlossen und bereinigt wurden.

Ursache

Das Wachstum der Datendateien wird hauptsächlich durch das ständige Einfügen und Aktualisieren der Tabelle sys.sysdesend verursacht. In dieser Situation wachsen die tempdb-Datendateien weiter, wenn Sie Service Broker verwenden.

Lösung

Dieses Problem wurde in Microsoft SQL Server 2016 behoben.

Informationen zum kumulativen Update

Kumulatives Update 5 für SQL Server 2012 Service Pack 3 (SP3)
            
             Kumulatives Update 10 für SQL Server 2014 SP1 

Kumulatives Update CU 3 für SQL Server 2014 SP2

Informationen zu kumulativen Updates für SQL Server

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:

Neuestes kumulatives Update für SQL Server 2012 SP3

Neuestes kumulatives Update für SQL Server 2014 SP1/SP2

      

Weitere Informationen

Um den nicht freigegebenen Speicherplatz von tempdb freizugeben, starten Sie den SQL Server-Dienst neu.

Um dieses Problem zu vermeiden, befolgen Sie die allgemeinen Empfehlungen im Abschnitt "Leistungs- und Skalierbarkeitstechniken" des folgenden TechNet-Themas:

Service Broker: Leistungs- und Skalierbarkeitstechniken

Status

Microsoft bestätigt, dass dies ein bekanntes Problem im aktuellen Design von Service Broker ist.