Simptomi
Ako su aplikacije koje koriste Microsoft SQL Server Service Broker konfigurirane tako da imaju uzorak poruke koja sadržava jednu poruku po razgovoru, primijetit ćete neočekivani rast tempdb podatkovnih datoteka. Ovaj obrazac nalikuje obrascu "pucaj i zaboravi" koji se obično koristi u revizijskim aplikacijama.
Ako postavite upit sys.dm_db_task_space_usage prikazu dinamičkog upravljanja (DMV) dok se taj problem pojavljuje, možda ćete primijetiti da se vrijednost "internal_objects_dealloc_page_count" ne povećava istom brzinom kao "internal_objects_alloc_page_count" za ID-ove sesija koji pokreću interne zadatke servisnog posrednika.
Osim toga, tempdb se prostor ne oslobađa čak ni nakon zatvaranja i čišćenja svih razgovora na čekanju.
Uzrok
Rast podatkovnih datoteka uglavnom je uzrokovan stalnim umetanjem i ažuriranjem tablice sys.sysdesend. U toj situaciji tempdb podatkovne datoteke nastavljaju rasti dok koristite servis Service Broker.
Rješenje
Taj je problem riješen u rješenju Microsoft SQL Server 2016.
Kumulativni podaci o ažuriranju
Kumulativno ažuriranje 5 za SQL Server 2012 Service Pack 3 (SP3)
Kumulativno ažuriranje 10 za SQL Server 2014 SP1
Kumulativno ažuriranje 3 za SQL Server 2014 SP2
O kumulativnim ažuriranjima za SQL Server
Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Najnovije kumulativno ažuriranje za SQL Server 2012 SP3
Najnovije kumulativno ažuriranje za SQL Server 2014 SP1/SP2
Dodatne informacije
Da biste oslobodili neobjavljeni prostor iz stavke tempdb, ponovno pokrenite servis SQL Server.
Da biste izbjegli taj problem, slijedite općenite preporuke u odjeljku "Tehnike performansi i skalabilnosti" u sljedećoj temi web-mjesta TechNet:
Service Broker: tehnike performansi i skalabilnosti
Status
Microsoft potvrđuje da je to poznati problem u trenutačnom dizajnu servisa Service Broker.