Symptom
Du märker en oväntad tillväxt av tempdb-datafiler om program som använder Microsoft SQL Server Service Broker är konfigurerade att ha ett meddelandemönster med ett meddelande per konversation. Det här mönstret liknar "fire-and-forget"-mönstret som vanligtvis används i granskningsprogram.
Om du frågar den sys.dm_db_task_space_usage dynamiska hanteringsvyn (DMV) medan det här problemet uppstår kanske du ser att värdet "internal_objects_dealloc_page_count" inte ökar i samma takt som "internal_objects_alloc_page_count" för sessions-ID:n som kör interna Service Broker-uppgifter.
Dessutom frigörs inte tempdb-utrymmet även efter att alla väntande konversationer har stängts och rensats.
Orsak
Tillväxten av datafilerna orsakas huvudsakligen av konstanta infogningar och uppdateringar i sys.sysdesend tabellen. I det här fallet fortsätter tempdb-datafilerna att växa medan du använder Service Broker.
Lösning
Det här problemet är åtgärdat i Microsoft SQL Server 2016.
Information om kumulativ uppdatering
Kumulativ uppdatering 5 för SQL Server 2012 Service Pack 3 (SP3)
Kumulativ uppdatering 10 för SQL Server 2014 SP1
Kumulativ uppdatering 3 för SQL Server 2014 SP2
Om kumulativa uppdateringar för SQL Server
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Senaste kumulativa uppdateringen för SQL Server 2012 SP3
Senaste kumulativa uppdateringen för SQL Server 2014 SP1/SP2
Mer information
Frigör utrymme från tempdb genom att starta om SQL Server.
Undvik problemet genom att följa de allmänna rekommendationerna i avsnittet om prestanda- och skalbarhetstekniker i följande TechNet-ämne:
Service Broker: Prestanda- och skalbarhetstekniker
Status
Microsoft bekräftar att detta är ett känt problem i den aktuella utformningen av Service Broker.