Oprava: Skladu Správa dat databáze zvětšila velmi velké po povolení funkce kolekcí dat v produktu SQL Server 2008

Překlady článku Překlady článku
ID článku: 970014 - Produkty, které se vztahují k tomuto článku.
Společnost Microsoft distribuuje opravy 2008 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í SQL Server 2008, opravte uvolnění.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

V Microsoft SQL Server 2008 po povolení funkce kolekcí dat databáze správy dat skladu roste velmi velké a může vyčerpat místo na disku.

Dále pokud spustíte následující dotazy, můžete zjistit počet řádků pro vzácná onemocnění v tabulkách snapshots.notable_query_plan nebo snapshots.notable_query_text:
SELECT COUNT(*)
FROM snapshots.notable_query_plan AS qp 
        WHERE NOT EXISTS (
            SELECT * 
            FROM snapshots.query_stats AS qs
            WHERE qs.[sql_handle] = qp.[sql_handle] AND qs.plan_handle = qp.plan_handle 
                AND qs.plan_generation_num = qp.plan_generation_num 
                AND qs.statement_start_offset = qp.statement_start_offset 
                AND qs.statement_end_offset = qp.statement_end_offset 
                AND qs.creation_time = qp.creation_time);
SELECT COUNT(*)
FROM snapshots.notable_query_text AS qt
WHERE NOT EXISTS (
            SELECT * 
            FROM snapshots.query_stats AS qs
            WHERE qs.[sql_handle] = qt.[sql_handle]);

Příčina

Proces odstranění obecný odstraní data, která odpovídá specifické snímek ID. Však řádky plánu dotazu a řádky textu dotazu nemusí odpovídat ID konkrétní snímek. Proto tyto řádky nejsou odstraněny procesem obecný odstranění.

Řešení

SQL Server 2008

Důležité Pokud používáte prodejní verzi serveru SQL Server 2008, je nutné použít tuto opravu.

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizace 6. Další informace o získání tohoto balíčku kumulativní aktualizace pro SQL Server 2008 naleznete následující článku znalostní báze Microsoft Knowledge Base:
971490Balíček kumulativní aktualizace 6 pro SQL Server 2008
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í SQL Server 2008, opravte uvolnění. Doporučujeme 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:
956909Vytvoří SQL Server 2008, které byly vydány po vydání serveru SQL Server 2008

SQL Server 2008 Service Pack 1

Důležité Používáte-li SQL Server 2008 Service Pack 1, je nutné použít tuto opravu.

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizace 4 pro SQL Server 2008 Service Pack 1. Další informace o této kumulativní aktualizaci balíčku získáte následujícím článku báze Microsoft Knowledge Base:
973602Balíček kumulativní aktualizace 4 pro SQL Server 2008 Service Pack 1
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í SQL Server 2008, 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:
970365Vytvoří SQL Server 2008, které byly vydány po vydání aktualizace Service Pack 1 pro SQL Server 2008
2008 Microsoft SQL Server opravy hotfix jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. K instalaci aktualizace Service Pack 1 pro SQL Server 2008, je třeba použít opravu hotfix aktualizaci Service Pack 1 pro SQL Server 2008. 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.

Jak potíže obejít

To work around this problem, use the following scripts in the Management Data Warehouse database to delete these orphan rows:
-- Purge snapshots.notable_query_plan table 
DECLARE @delete_batch_size bigint;
    DECLARE @rows_affected int;
    SET @delete_batch_size = 500;
    SET @rows_affected = @delete_batch_size;
    WHILE (@rows_affected = @delete_batch_size)
    BEGIN
        DELETE TOP (@delete_batch_size) snapshots.notable_query_plan 
        FROM snapshots.notable_query_plan AS qp 
        WHERE NOT EXISTS (
            SELECT * 
            FROM snapshots.query_stats AS qs
            WHERE qs.[sql_handle] = qp.[sql_handle] AND qs.plan_handle = qp.plan_handle 
                AND qs.plan_generation_num = qp.plan_generation_num 
                AND qs.statement_start_offset = qp.statement_start_offset 
                AND qs.statement_end_offset = qp.statement_end_offset 
                AND qs.creation_time = qp.creation_time);
        SET @rows_affected = @@ROWCOUNT;
        RAISERROR ('Deleted %d orphaned rows from snapshots.notable_query_plan', 0, 1, @rows_affected) WITH NOWAIT;
    END;

    -- Purge snapshots.notable_query_text table
    SET @rows_affected = @delete_batch_size;
    WHILE (@rows_affected = @delete_batch_size)
    BEGIN
        DELETE TOP (@delete_batch_size) snapshots.notable_query_text 
        FROM snapshots.notable_query_text AS qt
        WHERE NOT EXISTS (
            SELECT * 
            FROM snapshots.query_stats AS qs
            WHERE qs.[sql_handle] = qt.[sql_handle]);
        SET @rows_affected = @@ROWCOUNT;
        RAISERROR ('Deleted %d orphaned rows from snapshots.notable_query_text', 0, 1, @rows_affected) WITH NOWAIT;
    END;

Prohlášení

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

Odkazy

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 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: 970014 - Poslední aktualizace: 21. července 2009 - Revize: 1.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
Klíčová slova: 
kbmt kbsurveynew kbexpertiseadvanced kbqfe kbfix KB970014 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:970014

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