Prihláste sa s kontom Microsoft
Prihláste sa alebo si vytvorte konto.
Dobrý deň,
Vyberte iné konto.
Máte viacero kont
Vyberte konto, s ktorým sa chcete prihlásiť.

Príznaky

Predpokladajme, že pridáte stĺpec do tabuľky v Microsoft SQL Server 2012 alebo SQL Server 2014. Keď sa veľkosť riadka blíži k maximálnej povolenej veľkosti, ktorá je 8 060 bajtov, Operácia pridania môže trvať dlho.

Príčina

Problém sa vyskytuje, pretože keď je celková veľkosť riadka v blízkosti maximálnej povolenej veľkosti riadka, SQL Server vykoná úplnú kontrolu tabuľky, aby sa ubezpečil, že pridanie nového stĺpca neporušuje integritu údajov. Verzie pred SQL Server 2012 nerobia túto kontrolu a vďaka čomu je jazyk DDL (Data Definition Language) rýchlejší. Toto správanie však vedie k zlyhaniu následných operácií, ako je napríklad Riadková aktualizácia alebo zmenšenie, ak veľkosť riadka prekračuje povolenú veľkosť.

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

Ďalšie informácie

  • Pomocou parametra pri spustení môžete zapnúť príznak sledovania 647. Ďalšie informácie nájdete v téme možnosti spustenia služby databázový stroj.

  • Môžete spustiť nasledujúci dotaz (nahraďte <názov tabuľky> s aktuálnym názvom tabuľky), ak chcete otestovať konkrétnu tabuľku pred operáciou vo výrobnom systéme a naplánovať efekt tohto problému. Ak je výsledok väčší ako 8 060, na tabuľku sa vzťahuje tento problém. Ak ste však zrušili stĺpce, budete musieť zmeniť tabuľku pomocou možnosti znova zostaviť. Opätovné vytvorenie tabuľky môže dotaz vrátiť správne výsledky.

    select  1+1+2 + 2 +  (case  when sum (case when leaf_offset < 0 then 1 else 0 end) > 0 then 2 else 0 end)  +  ( (count (*) + 7)/8 ) + count (case when leaf_offset < 0 then 1 else null end) * 2 +  sum( case when max_length=-1 then 24 else max_length end)  from sys.system_internals_partition_columns   col join sys.partitions par on col.partition_id = par.partition_id  where object_id = object_id ('<table name>')  and  index_id in (0,1) and partition_number =1 
  • Môžete zvážiť pridanie stĺpcov s variabilnou dĺžkou alebo riedkych stĺpcov, keď aplikácia často pridáva do tabuľky nové stĺpce. Je to operácia iba s metaúdajmi, aj v prípade, že celková veľkosť všetkých stĺpcov presahuje 8 060 bajtov.

Stav

Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.

Boli tieto informácie užitočné?

Aká je podľa vás jazyková kvalita textu?
Čo sa vám páčilo, prípadne čo nie?
Stlačením tlačidla Odoslať sa vaše pripomienky použijú na zlepšenie produktov a služieb spoločnosti Microsoft. Váš správca IT bude môcť tieto údaje zhromažďovať. Vyhlásenie o ochrane osobných údajov.

Ďakujeme za vaše pripomienky!

×