Applies ToSQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

Příznaky

Zvažte následující scénář:

  • Máte databázi Microsoft SQL Server 2012 s povolenými možnostmi ALLOW_SNAPSHOT_ISOLATION a READ_COMMITTED_SNAPSHOT .

  • Máte aspoň tři souběžné dotazy, které se spouštějí na stejné tabulce.

  • Dotazy používají pomocný parametr dotazu (TABLOCK, UPDLOCK) .

  • Každý dotaz je zabalen do explicitního příkazu BEGIN TRAN , ale příkaz Commit Tran se neprovede.

Po potvrzení prvního dotazu v tomto scénáři bude jeden z ostatních dotazů zablokovaný. Pokud je READ_COMMITTED_SNAPSHOT povolen společně s doporučeními pro dotazy na TABLOCK a UPDLOCK , relace v tabulce zabírají. Zablokování nastává, když se dvě souběžné relace pokusí převést zámky IX na X zámky najednou. Pokud je READ_COMMITTED_SNAPSHOT zakázaná, budou relace získávat šest zámků, které se při převodu do zámků X nezmění. Tato oprava hotfix řeší toto chování tím, že udělí LCK_M_SCH_S zámky namísto IX, když se READ_COMMITTED_SNAPSHOT používá s tipy pro TABLOCK a UPDLOCK .PoznámkaK tomuto problému dochází taky v Microsoft SQL serveru 2008 R2. Oprava hotfix pro SQL Server 2008 R2 bude brzy vydána.

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.