Oprava: Uzamčení tabulky není escalated při vložení více řádků do tabulky v serveru SQL Server 2008 nebo SQL Server 2008 R2

Překlady článku Překlady článku
ID článku: 2448971 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

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

  • Mnoho řádků do tabulky v Microsoft SQL Server 2008 nebo SQL Server 2008 R2 vložíte pomocí jedné z následujících dotazů:
    • INSERT INTO <target_table> SELECT * FROM <target_table> WHERE <predicate>
    • SELECT * INTO <target_table> FROM <source_table> WHERE <predicate>
    Poznámky
    • Na <target_table></target_table> zástupný symbol představuje název skutečné cílové tabulky.
    • Na <predicate></predicate> zástupný symbol představuje skutečné predikátu.
    • Na <source_table></source_table> zástupný symbol představuje skutečné zdrojové tabulky.
  • Překročení prahové hodnoty uzamčení vedoucím tabulky.
V tomto scénáři není databázový stroj odešlete uzamčení tabulky.

Příčina

K tomuto problému dochází, protože SQL Server nepočítá interně nové zámky, vytvořených pomocí operace VKLÁDÁNÍ. Proto prahová hodnota uzamčení vedoucím pravděpodobně není spuštěna, když je požadováno.

Řešení

Informace o aktualizaci Service pack pro SQL Server 2008

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro SQL Server 2008.

Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
968382 Jak získat nejnovější aktualizaci service pack pro SQL Server 2008

Informace o aktualizaci Service pack pro SQL Server 2008 R2

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro SQL Server 2008 R2. Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
2527041Jak získat nejnovější aktualizaci service pack pro SQL Server 2008 R2

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro".
Tento problém byl poprvé opraven v aktualizaci SQL Server 2008 Service Pack 2 pro SQL Server 2008.
Tento problém byl poprvé opraven v aktualizaci Service Pack 1 pro SQL Server 2008 R2 pro SQL Server 2008 R2.

Další informace

Další informace o stupňování zablokování naleznete na následujícím webu Microsoft TechNet:
Obecné informace o stupňování zablokování
Chcete-li zjistit, zda jsou escalated uzamčení tabulky, spusťte následující příkazy jazyka Transact-SQL:
USE tempdb
GO

CREATE TABLE x 
(
i INT NOT NULL PRIMARY KEY
)
GO

BEGIN TRAN
INSERT x
SELECT TOP (40000)
ROW_NUMBER() OVER 
(
ORDER BY (SELECT NULL)
) AS r
FROM 
master..spt_values a, 
master..spt_values b
ORDER BY
r

SELECT
COUNT(*)
FROM sys.dm_tran_locks
WHERE 
request_session_id = @@SPID 
ROLLBACK
GO

DROP TABLE x   
Pokud jsou tabulky, zámky escalated, poslední příkaz SELECT vrací hodnotu buď 1 nebo 2. Pokud tabulky, zámky není escalated, poslední příkaz SELECT vrací hodnotu buď 40,066 nebo 40,067.


Vlastnosti

ID článku: 2448971 - Poslední aktualizace: 22. dubna 2011 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
Klíčová slova: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2448971 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:2448971

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