Symptomen
U merkt een onverwachte groei van tempdb -gegevensbestanden als toepassingen die gebruikmaken van Microsoft SQL Server Service Broker, zijn geconfigureerd met een bericht patroon voor één bericht per gesprek. Dit patroon lijkt op het patroon ' vuur en-vergeet ' dat meestal wordt gebruikt in controle toepassingen. Als u een query uitvoert op de sys.dm_db_task_space_usage dynamische beheerweergave (DMV) terwijl dit probleem optreedt, ziet u mogelijk dat de waarde ' internal_objects_dealloc_page_count ' niet hoger is dan het internal_objects_alloc_page_count percentage voor sessie-id's met interne Service Broker-taken. Daarnaast wordt de ruimte van tempdb niet vrijgegeven, zelfs nadat alle lopende gesprekken zijn gesloten en opgeschoond.
Oorzaak
De groei van de gegevensbestanden wordt grotendeels veroorzaakt door het invoegen van een constante en het bijwerken van de tabel sys. sysdesend . In deze situatie blijven de tempdb -gegevensbestanden toenemen wanneer u Service Broker gebruikt.
Oplossing
Dit probleem is opgelost in Microsoft SQL Server 2016.
Cumulatieve updategegevens
Cumulatieve update 5 voor SQL server 2012 Service Pack 3 (SP3) cumulatieve update 10 voor SQL Server 2014 SP1 cumulatief update 3 voor SQL Server 2014 SP2
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:nieuwste cumulatieve update voor SQL server 2012 SP3de laatste cumulatieve update voor SQL Server 2014 SP1/SP2
Meer informatie
U moet de SQL Server-service opnieuw starten om de niet-vrijgegeven ruimte van tempdbopnieuw aan te beweren. Om dit probleem te voorkomen, volgt u de algemene aanbevelingen in de sectie prestaties en schaalbaarheids technieken van het volgende TechNet-artikel:
Service Broker: technieken voor prestaties en schaalbaarheid
Status
Microsoft bevestigt dat dit een bekend probleem is in het huidige ontwerp van Service Broker.