Trenutno ste van mreže; čekamo da se ponovo povežete na internet

Oprava: Čiastočné výsledky dotazu skupinový columnstore index v SQL Server 2014

DÔLEŽITÉ: Tento článok je preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft a možno ho opraviť prostredníctvom technológie Community Translation Framework (CTF). Microsoft ponúka strojovo preložené články, články upravené komunitou aj články preložené prekladateľmi, aby zabezpečil prístup ku všetkým článkom databázy Knowledge Base vo viacerých jazykoch. Strojovo preložené články aj upravené články môžu obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky. Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené neprávnym prekladom obsahu alebo jeho použitím zo strany našich zákazníkov. Ďalšie informácie o technológii CTF nájdete na lokalite http://support.microsoft.com/gp/machine-translation-corrections/sk.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 3067257
Tento článok popisuje problém, ktorý vzniká počas dotaz skupinový columnstore index Microsoft SQL Server 2014. Tento článok riešenie Tento problém.
Súhrn
Použijete dotaz skontroluje skupinový columnstore index Microsoft SQL Server 2014 zriedkavé podmienkach zobrazí čiastočné dotazu.

Tento problém sa vyskytuje, keď spustíte nasledujúce operácie.
Krok 1
Transact-SQL vyhlásenie [vložiť alebo BULK INSERT] vkladajú údaje do tabuľky, ktorá je klastrované columnstore index. Počas operácie, platia nasledovné podmienky:
  • Ak príkaz Transact-SQL dosiahne hodnotu rowgroup, sa zavrie rowgroup R1, ktorý má segment S1.
  • Segment S1 odkazuje na lokálny slovník D1.
  • Vyhlásenie naďalej vložiť riadky do nového rowgroup R2.
  • Po zatvorení rowgroup R1 lokálne slovník D1 aj nemá zavrieť. Ak slovník D1 stále miesta, môžete nechať otvorené a znovu použiť pre nový rowgroup R2.
Krok 2
Ak je príkaz Transact-SQL skončila nesprávne alebo zrušené skôr, než sa zavrie nové rowgroup R2, platia nasledujúce podmienky:
  • Columnstore metaúdajov zmenám subtransactions, ktorý potvrďte nezávisle od vonkajších transakcií.
  • V tomto bode rowgroup R1 pretrváva v systéme "pripravuje" alebo neviditeľné stavu a segment S1 odkazy slovník D1.
  • Neexistuje žiadny riadok vytvorené v systéme Dictionary D1. Dôvodom je skutočnosť, že príkaz Transact-SQL nikdy možnosť ukončiť existujúci riadok. Preto sa zobrazuje existujúci riadok.
Krok 3
Bežné situácie, ak sa spustí úloha na pozadí mover súvisiacich údajov po skončení Transact-SQL vyhlásenie úloha na pozadí odstráni neviditeľný rowgroup R1 a segment S1. Ak nový Transact-SQL vyhlásenie teraz spúšťa a vytvára rowgroup R3, ktorá má nový segment S3, ktoré vyžaduje nový lokálny slovník nemožno použiť interný identifikátor slovník D1. Dôvodom je skutočnosť, že v pamäti stav columnstore uchováva záznamy o slovník ID, ktoré používajú. Preto segment S3 bude odkazovať na nový slovník D2.

Poznámka: Stav v tomto kroku je bežný stav. Preto sa vyskytuje bez poškodenia.
Krok 4
Ak SQL Server stratí v pamäti stav slovníka D1 pred mover úloh súvisiacich údajov prejaví (a vykoná podľa pokynov v kroku 3), sa vyskytuje problém popísaný v tomto článku.

Poznámky
  • Táto udalosť sa vyskytuje z nasledujúcich príčin:
    • SQL Server skúsenosti pamäte preťaženia a v pamäti obsah slovníka D1 sa vylúčia z pamäte.
    • Inštanciu programu SQL Server sa reštartuje.
    • Databázy, ktoré obsahuje register skupinový columnstore prejde do režimu offline a potom uvedie do režimu online.
  • Po jednej z týchto udalostí dochádza a SQL Server načíta do pamäte štruktúry, nie je žiadny záznam, slovník D1 a jeho vnútorné ID existuje. Dôvodom je skutočnosť, že slovník D1 sa nezachová tabuľky systému bola ukončená Transact-SQL vyhlásenie alebo conceled.
  • Ak sa úloha na pozadí mover súvisiacich údajov začína v tomto okamihu, chyby sa vyskytujú, pretože podmienky, ktoré sú popísané v kroku 3.
  • Ak nový rowgroup R3 vytvorený pred spustením súvisiacich údajov mover doplňujúce úlohy (na predchádzajúcu položku Odrážky), SQL Server priradí rovnaké interné ID nový slovník D1 a odkazuje slovník D1 pre segment S3 rowgroup R3.
  • Spustenie úlohy na pozadí mover súvisiacich údajov po predchádzajúcej akcie klesne neviditeľný rowgroup R1 a jeho segmentov S1 s nový slovník D1. To sa vyskytuje, pretože mover súvisiacich údajov sa domnieva, že nový slovník D1 a pôvodné slovník D1, S1 odkazy sú rovnaké.

    Poznámka: Ak nastane táto situácia nemôže dotaz obsah rowgroup R3.
Riešenie
Tento problém bol najskôr odstránený v nasledujúcej kumulatívnej aktualizácie pre server SQL Server:


Tieto aktualizácie všeobecnú distribúciu distribúciu (GDR) obsahuje aj riešenie tohto problému:

Aktualizácie zabezpečenia pre SQL Server 2014 QFE
Táto aktualizácia obsahuje Kumulatívna aktualizácia 8 tejto dôležité opravy a vyžaduje aktualizácie zabezpečenia MS15 058.

Aktualizácie zabezpečenia pre SQL Server 2014 distribúciu
Táto aktualizácia zahŕňa tejto dôležité opravy a zabezpečenia rieši prostredníctvom MS15 058.

Nonsecurity aktualizácia všeobecnú SQL Server 2014 Service Pack 1
Táto aktualizácia obsahuje len tejto dôležité opravy.

Informácie o kumulatívnej aktualizácie pre server SQL Server

Každý nový Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívnej aktualizácie pre server SQL Server:
Ďalšie informácie

Chybové hlásenia

Aktuálne príslušné databázy, ak spustíte DBCC CHECKDB po použití tejto opravy, sa zobrazí nasledovné chybové hlásenie:
Správa 5289, úroveň 16, štát 1, riadok 1
Skupinový columnstore index "cci" v tabuľke t "údaj hodnoty, ktoré nezodpovedajú hodnôt do slovníka. Údaje obnoviť zo zálohy.

Aktuálne príslušné databázy, po spustení dotazu, ktorý príslušné tabuľky po použití tejto opravy, zobrazí nasledujúce chybové hlásenie:
Správa 5288, úroveň 16, štát 1, riadok 1
Údaje hodnoty, ktoré nezodpovedajú hodnôt do slovníka má Columnstore index. Kliknite na príkaz DBCC CHECKDB ďalšie informácie.

Ak sa tieto chyby, môžete uložiť bez poškodenia údajov hromadným export údajov nedotknuté stĺpce alebo rowgroups a potom preloženie údaje po pokles alebo vytvoriť skupinový columnstore index. By ste znovu zapnúť príznak sledovania 10207 5288 chybových a obnoviť staré správanie preskakovanie poškodené rowgroups.

Poznámka: Chybové hlásenia 5288 a 5289 sú vytvorené pre tento rowgroup R3, ktorý má segment S3. Príznak sledovania 10207 sa používa na extrakciu segmentov rowgroup R3, ktoré nie sú ovplyvnené chýbajúce slovník D1.

Dotaz na príslušné databázy

Ak chcete zistiť, či databázu, ktorá obsahuje indexy columnstore už ovplyvnený týmto problémom, spustite nasledovný dotaz:
select         object_name(i.object_id) as table_name,        i.name as index_name,        p.partition_number,        count(distinct s.segment_id) as damaged_rowgroups from        sys.indexes i        join sys.partitions p on p.object_id = i.object_id and p.index_id = i.index_id        join sys.column_store_row_groups g on g.object_id = i.object_id and g.index_id = i.index_id and g.partition_number = p.partition_number        join sys.column_store_segments s on s.partition_id = p.partition_id and s.segment_id = g.row_group_id where         i.type in (5, 6)        and s.secondary_dictionary_id <> -1         and g.state_description = 'COMPRESSED'        and s.secondary_dictionary_id not in        (               select dictionary_id from sys.column_store_dictionaries d               where d.hobt_id = p.hobt_id and d.column_id = s.column_id        ) group by         object_name(i.object_id),        i.name,        p.partition_number 

Poznámky
  • Musíte spustiť dotaz proti každej databáze, ktorá obsahuje columnstore indexy na serveri so spustenou službou SQL Server. Prázdne množiny naznačuje, že nie je ovplyvnená databázy.
  • Vykonanie dotazu v období keď neexistuje, vytvorí nový rowgroups alebo zmeniť stav existujúcich rowgroups činnosť. Napríklad nasledujúce činnosti, môžete zmeniť stav rowgroups: vytvorenia indexu index reorganizovať hromadné vložiť, súvisiacich údajov mover kompresia rozdielové obchody.

    Skôr, než sa na vykonanie dotazu môžete zakázať mover úlohy pozadí súvisiacich údajov pomocou príznak sledovania 634. Tento príkaz použite na vypnutie úloha na pozadí: DBCC TRACEON (634, -1). Po dokončení dotaz uplatňovať nezabudnite zapnúť úloha na pozadí pomocou príkazu: DBCC TRACEOFF (634, -1).

    Tiež uistite sa, že nie sú žiadne hromadné vložiť/BCP/SELECT-do príkazy vkladanie údajov do tabuliek, ktoré používajú columnstore index je spustený dotaz.

    Odporúča sa použiť tento postup zabrániť dotaz vracať nesprávne pozitívne.
Stav
Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.

Upozornenie: Tento článok bol preložený automaticky.

Svojstva

ID članka: 3067257 - Poslednji pregled: 07/26/2015 07:56:00 - Verzija: 3.0

Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbsurveynew kbexpertiseadvanced kbfix kbmt KB3067257 KbMtsk
Povratne informacije