Oprava: Při spuštění dotazu, který používá SQL Server 2005 nebo SQL Server 2008 nápovědy NOLOCK tabulky pro načítání dat BLOB dotaz pracuje velmi pomalu

Společnost Microsoft distribuuje opravy Microsoft SQL Server 2005 jako jeden soubor ke stažení. Protože jsou kumulativní opravy, každá nová verze tedy obsahuje všechny opravy hotfix a verzí oprav všech oprav zabezpečení, které byly součástí předchozích SQL Server 2005.
Společnost Microsoft distribuuje opravy Microsoft SQL Server 2008 jako jednoho souboru ke stažení. Protože jsou kumulativní opravy, každá nová verze tedy obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2008 release.

Příznaky

Máte dotaz, který používá doporučení NOLOCK tabulky v Microsoft SQL Server 2005 nebo Microsoft SQL Server 2008. Dotaz načte data binární rozsáhlý objekt (BLOB) jednoho z následujících typů dat z velké tabulky:
  • Datový typ Text
  • Typ dat nText
  • Typ dat obrázek
Při spuštění dotazu, dotaz pracuje velmi pomalu. Přezkoumávat činnosti disku, který generuje dotaz zjistíte, že je velmi vysoký počet logických čtení.

Poznámka: Chcete-li zobrazit aktivity disku, spustíte dotaz pomocí klauzule SET statistiky IO ON.

Příčina

Při dotazu, který používá tabulku nápovědu NOLOCK čte data binárního rozsáhlého objektu, SQL Server ověří, že každá stránka BLOB je přidělen porovnáním odpovídající mapa index přidělení (IAM). IAM je propojený seznam přidělení stránek. Každá stránka IAM může pojmout přibližně 4 GB dat (velikost stránky 8 KB * 8 stránek * 64 000 rozsahů). Pokud je objekt velké, operace ověření může vést k nadměrnému logické čtení.

Máte například velký objekt mapována na skupiny souborů. Celková velikost souborů ve skupině souborů je 700 GB. V této situaci IAM pro tento objekt může obsahovat až 175 stránek. Pokud nyní spustíte dotaz na tento objekt pomocí tabulka Rada NOLOCK a dotaz přistupuje k 10 000 objektů BLOB stránky, bude číslo logické čtení, které souvisí s stránky IAM 175 * 10 000 = 1,750,000 v nejhorším případě. Pokud SQL Server vyhledá odpovídající stránka IAM podle polovinu propojeného seznamu procházení, průměrný počet logických čtení, které souvisejí s IAM stránek bude přibližně 1,750,000 / 2 = 875,000. To je příliš vysoké nároky trpělo pro dotaz ke stránkám BLOB 10 000.

Řešení

Informace o kumulativní aktualizaci pro SQL Server 2005

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizace 3 pro SQL Server 2005 Service Pack 3. Další informace o možnostech získání tohoto balíčku kumulativní aktualizace pro SQL Server 2005 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
967909 kumulativní aktualizace balíčku 3 pro SQL Server 2005 Service Pack 3
Poznámka: Vzhledem k tomu, sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a verzí oprav všech oprav zabezpečení, které byly součástí předchozích SQL Server 2005. Doporučujeme zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
960598 SQL Server 2005 vytvoří, které byly vydány po vydání SQL Server 2005 Service Pack 3

Informace o kumulativní aktualizaci pro SQL Server 2008

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 5 pro SQL Server 2008. Další informace o možnostech získání tohoto balíčku kumulativní aktualizace pro SQL Server 2008 klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
969531 kumulativní aktualizace balíčku 5 pro SQL Server 2008
Poznámka: Vzhledem k tomu, sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2008 release. Doporučujeme zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
956909 SQL Server 2008 sestavení, které byly vydány po vydání SQL Server 2008

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Další informace

Oprava tohoto problému pomocí mezipaměti IAM rychle zjistit, zda je ve skutečnosti přiděleno BLOB stránky.

Další informace o jaké soubory byly změněny a informace o všechny požadavky nutné pro instalaci balíčku kumulativní aktualizace obsahující opravy hotfix popsané v tomto článku znalostní báze Microsoft Knowledge Base klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
967909 kumulativní aktualizace balíčku 3 pro SQL Server 2005 Service Pack 3
Další informace o jaké soubory byly změněny a informace o všechny požadavky nutné pro instalaci balíčku kumulativní aktualizace obsahující opravy hotfix popsané v tomto článku znalostní báze Microsoft Knowledge Base klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
969531 kumulativní aktualizace balíčku 5 pro SQL Server 2008

Odkazy

Další informace o seznamu sestavení, které jsou k dispozici po SQL Server 2005 Service Pack 3 klepněte na následující číslo článku databáze Microsoft Knowledge Base:

960598 SQL Server 2005 vytvoří, které byly vydány po vydání SQL Server 2005 Service Pack 3

Další informace o seznamu sestavení, které jsou k dispozici po SQL Server 2008 klepnutím na následující číslo článku databáze Microsoft Knowledge Base:

956909 SQL Server 2008 sestavení, které byly vydány po vydání SQL Server 2008

Další informace o přírůstkové Model servis pro SQL Server získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

935897 dílčí Model obsluhy je k dispozici z týmu SQL Server doručit opravy hotfix pro nahlášené potíže

Další informace o schéma názvů pro aktualizace serveru SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:

822499 nové schéma přidělování názvů pro Microsoft SQL Server software balíčky aktualizací.

Pro další informace o terminologii používané v aktualizacích softwaru, klepněte na následující číslo článku k zobrazení článku v databázi Microsoft Knowledge Base:
824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft
Vlastnosti

ID článku: 961049 - Poslední kontrola: 13. 1. 2017 - Revize: 1

Váš názor