Oprava: Používané prostor v databázi tempdb zvyšuje nepřetržitě spustíte dotaz, který vytvoří vnitřní objekty v databázi tempdb na serveru SQL Server 2005

Překlady článku Překlady článku
ID článku: 947204 - Produkty, které se vztahují k tomuto článku.
Bug #: 50002301 (SQL opravy Hotfix)
Společnost Microsoft distribuuje opravy 2005 Microsoft SQL Server jako jeden soubor ke stažení. Vzhledem k tomu, že jsou kumulativní opravy, každá nová verze obsahuje všechny opravy hotfix a všechny opravy zabezpečení zahrnuté v předchozí serveru SQL Server 2005, opravte uvolnění.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

V roce 2005 Microsoft SQL Server spustíte dotaz vytvářející interní objekty v databázi tempdb. Při spuštění dotazu mnohokrát se neustále zvyšuje využité místo v databázi tempdb. Nakonec zaplnění databáze tempdb Navíc je třeba restartovat služby SQL Server vyčistíte databázi tempdb.

Dojde-li k tomuto problému, je spustit následující příkaz databázi tempdb mnohokrát.
SELECT SUM(internal_object_reserved_page_count) AS [internal object pages used],
(SUM(internal_object_reserved_page_count)*1.0/128) AS [internal object space in MB]
FROM sys.dm_db_file_space_usage;
Pokud tak učiníte, hodnota sloupce internal_object_reserved_page_count vzroste při každém spuštění tohoto příkazu.

Potom dotaz zobrazení dynamickou správu sys.dm_db_session_space_usage. Když toto provedete, zvyšuje hodnoty internal_objects_alloc_page_count sloupce bez odpovídajícího posílení hodnoty ve sloupci internal_objects_dealloc_page_count.

Příčina

Při každém spuštění dotazu, SQL Server vytvoří vnitřní objekty v databázi tempdb. Za určitých podmínek SQL Server není navrátit stránky, které jsou přiděleny pro vnitřní objekty v databázi tempdb.

Řešení

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 6. Další informace o možnostech získání tohoto balíčku kumulativní aktualizace pro SQL Server 2005 Service Pack 2 naleznete následující článku znalostní báze Microsoft Knowledge Base:
946608Balíček kumulativní aktualizace 6 pro SQL Server 2005 Service Pack 2
Poznámka: Vzhledem k tomu, že sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení zahrnuté v předchozí serveru SQL Server 2005, opravte uvolnění. Společnost Microsoft doporučuje zvážit použití nejnovější vydání opravy, které tato oprava hotfix. Další informace získáte následujícím článku znalostní báze Microsoft:
937137Vytvoří serveru SQL Server 2005, které byly vydány po vydání serveru SQL Server 2005 Service Pack 2
Opravy hotfix Microsoft SQL Server 2005 jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. Opravy hotfix serveru SQL Server 2005 Service Pack 2 je třeba použít k instalaci serveru SQL Server 2005 Service Pack 2. Ve výchozím nastavení žádné opravy hotfix, která je poskytována v aktualizace service pack pro SQL Server je součástí příští aktualizace service pack pro SQL Server.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části „ platí.

Další informace

Na Další informace o úplný seznam operací, které používají vnitřní objekty naleznete následujících webech společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/ms174412.aspx

http://technet.microsoft.com/en-us/library/cc966545.aspx
Chcete-li určit problematické relace ID (SPID), přidělit stránek v databázi tempdb, můžete prohlížet přidělení cyklické vyrovnávací paměti. Chcete-li to provést, musíte nejprve povolit příznak trasování 1106. Ve výchozím nastavení není povolen příznak trasování 1106. Potom je třeba spustit následující příkaz, chcete-li zobrazit informace o přidělení a deallocation informace v databázi tempdb.
SELECT 
record.value('(Record/@id)[1]', 'int') AS record_id,
CONVERT (varchar, DATEADD (ms, -1 * ((inf.cpu_ticks / inf.cpu_ticks_in_ms) - [timestamp]), GETDATE()), 126) AS EventTime,
[timestamp] ,
 record.value('(Record/@id)[1]', 'int') AS RingBuffer_Record_Id,
 record.value('(Record/ALLOC/Event)[1]', 'int') AS AllocationEventType,
 record.value('(Record/ALLOC/SpId)[1]', 'int') AS SpId,
 record.value('(Record/ALLOC/EcId)[1]', 'int') AS EcId,
 record.value('(Record/ALLOC/PageId)[1]', 'nvarchar(50)') AS AllocatedPageId,
 record.value('(Record/ALLOC/AuId)[1]', 'nvarchar(50)') AS AllocationUnitId,
 record.value('(Record/ALLOC/LsId)[1]', 'nvarchar(50)') AS LsId
FROM sys.dm_os_sys_info inf CROSS JOIN (
SELECT timestamp, CONVERT (xml, record) AS record 
FROM sys.dm_os_ring_buffers 
WHERE ring_buffer_type = 'RING_BUFFER_ALLOC_TRACE'
AND ( record LIKE '%<Event>23</Event>%' -- uniform extent allocation
OR record LIKE '%<Event>22</Event>%' -- uniform extent deallocation
OR record LIKE '%<Event>24</Event>%' -- mixed extent allocation
OR record LIKE '%<Event>25</Event>%' -- mixed extent deallocation
OR record LIKE '%<Event>10</Event>%' -- page allocation
OR record LIKE '%<Event>11</Event>%' -- page deallocation
)) AS t
    ORDER BY record.value('(Record/@id)[1]', 'int') ASC 
Tyto informace můžete porovnávat informace z Profiler SQL Server k určení dotazy, které přidělit stránky a stránky v databázi tempdb, navrátit není.

Poznámka: Doporučujeme vám není použít příznak trasování 1106 na provozních serverech protože příznak trasování 1106 ovlivňuje výkon serveru SQL Server.

Další informace o jaké soubory jsou změněny a informace o všech předpokladech, chcete-li použít balíček kumulativní aktualizaci obsahující opravu hotfix, která je popsána tohoto článku znalostní báze Microsoft Knowledge Base naleznete následujícím článku znalostní báze Microsoft Knowledge Base:
946608Balíček kumulativní aktualizace 6 pro SQL Server 2005 Service Pack 2

Odkazy

Další informace o seznamu sestavení, které jsou k dispozici po SQL Server Service Pack 2 získáte následujícím článku znalostní báze společnosti Microsoft:
937137Vytvoří serveru SQL Server 2005, které byly vydány po vydání serveru SQL Server 2005 Service Pack 2
Další informace o přírůstkové obsluhovaní model pro SQL Server získáte následujícím článku báze Microsoft Knowledge Base:
935897Přírůstkové modelu obsluhovaní je k dispozici tým serveru SQL Server dodat opravy hotfix pro nahlášené potíže
Další informace o získání aktualizace SQL Server 2005 Service Pack 2 získáte následujícím článku báze Microsoft Knowledge Base:
913089Jak získat nejnovější aktualizaci service pack pro SQL Server 2005
Další informace o nových funkcích a vylepšeních v aktualizaci SQL Server 2005 Service Pack 2 naleznete na webu společnosti Microsoft:
http://go.microsoft.com/fwlink/?LinkId=71711
Další informace o schéma názvů pro aktualizace serveru SQL Server naleznete následující článku znalostní báze Microsoft Knowledge Base:
822499Nové schéma přidělování názvů balíčkům aktualizací softwaru Microsoft SQL Server
Další informace o terminologii aktualizace softwaru naleznete následující článku znalostní báze Microsoft Knowledge Base:
824684Popis standardní terminologie používané k popisu aktualizací softwaru společnosti Microsoft

Vlastnosti

ID článku: 947204 - Poslední aktualizace: 19. února 2008 - Revize: 1.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Klíčová slova: 
kbmt kbsql2005engine kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced KB947204 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:947204

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com