Oprava: Při spuštění dotazu používá SQL Server 2005 nebo SQL Server 2008 NOLOCK tabulky Rada k načtení dat BLOB dotaz pracuje velmi pomalu

Překlady článku Překlady článku
ID článku: 961049 - Produkty, které se vztahují k tomuto článku.
Společnost Microsoft distribuuje opravy Microsoft SQL Server 2005 jako jeden soubor ke stažení. Protože jsou kumulativní opravy, každé nové vydání obsahuje všechny opravy hotfix a opravte všechny opravy zabezpečení, které byly součástí předchozí SQL Server 2005 vydání.
Společnost Microsoft distribuuje opravy Microsoft SQL Server 2008 jako jeden soubor ke stažení. Protože jsou kumulativní opravy, každé nové vydání obsahuje všechny opravy hotfix a opravte všechny opravy zabezpečení, které byly součástí předchozí SQL Server 2008 vydání.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Máte dotaz, který používá rada NOLOCK tabulky v Microsoft SQL Server 2005 nebo 2008 Microsoft SQL Server. Dotaz z velké tabulky přečte dat binary large object (BLOB) jednoho z následujících typů dat:
  • Datový typ text
  • Typ dat nText
  • Typ dat Image
Při spuštění dotazu dotaz se spouští velmi pomalu. Prozkoumejte činnost disku, který generuje dotaz zjistíte, je velmi vysoké číslo logické čtení.

Poznámka: Zobrazit aktivity disku, spusťte dotaz pomocí klauzule SET STATISTICS IO ON.

Příčina

Při dotaz používající tabulku rada NOLOCK čte BLOB data, SQL Server ověří, že každá stránka BLOB přidělené prověřením mapy přidělení odpovídající indexu (IAM). Propojený seznam přidělení stránek je IAM. Každá stránka IAM může pojmout přibližně 4 GB dat (velikost stránky 8 KB * 8 stránek * rozsahů 64 000). Pokud je objekt velké, operace ověření může vést k nadměrnému logické čtení.

Máte například velký objekt mapované 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í tabulky rada NOLOCK a 10 000 stránek BLOB přistupuje k dotazu, bude číslo logické čtení souvisejících stránek IAM 175 * 10 000 = 1,750,000 v nejhorším případě. Pokud SQL Server vyhledá odpovídající stránka IAM podle přecházení polovinu propojeného seznamu, průměrný počet logických čtení, které souvisejí s IAM stránek bude přibližně 1,750,000 / 2 = 875,000. Toto je příliš vysoké režii roamingovými dotazu ke stránkám BLOB 10 000.

Řešení

Informace o kumulativní aktualizaci pro SQL Server 2005

Oprava tohoto problému byla první vydána v kumulativní aktualizaci 3 pro SQL Server 2005 Service Pack 3. Další informace o 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:
967909Balíček kumulativní aktualizace 3 pro SQL Server 2005 Service Pack 3
Poznámka: Protože jsou kumulativní sestavení, každé nové verzi oprava obsahuje všechny opravy hotfix a opravte všechny opravy zabezpečení, které byly součástí předchozí SQL Server 2005 vydání. Doporučujeme zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
960598SQL 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 první vydána v 5 kumulativní aktualizace pro SQL Server 2008. Další informace o 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:
969531Balíček kumulativní aktualizace 5 pro SQL Server 2008
Poznámka: Protože jsou kumulativní sestavení, každé nové verzi oprava obsahuje všechny opravy hotfix a opravte všechny opravy zabezpečení, které byly součástí předchozí SQL Server 2008 vydání. Doporučujeme zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
956909Sestaví SQL Server 2008, které byly vydány po vydání SQL Server 2008

Prohlášení

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.

Další informace

Oprava tohoto problému používá mezipaměti IAM rychle určit, zda je ve skutečnosti přiděleno BLOB stránky.

Další informace o změně jaké soubory a informace o všech předpokladech použít balíček kumulativní aktualizaci obsahující opravu hotfix popsanou v tomto článku znalostní báze Knowledge Base klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
967909Balíček kumulativní aktualizace 3 pro SQL Server 2005 Service Pack 3
Další informace o změně jaké soubory a informace o všech předpokladech použít balíček kumulativní aktualizaci obsahující opravu hotfix popsanou v tomto článku znalostní báze Knowledge Base klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
969531Balíček kumulativní aktualizace 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:
960598SQL 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:
956909Sestaví SQL Server 2008, které byly vydány po vydání SQL Server 2008
Další informace o modelu přírůstkové Servicing pro SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:
935897Přírůstkové Model Servicing je k dispozici z týmu SQL Server doručit opravy hotfix pro nahlášené potíže
Další informace o pojmenování schématu aktualizace SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:
822499Nové schéma přidělování názvů pro balíčky aktualizací softwaru Microsoft SQL Server
Další informace o terminologii používané v aktualizacích softwaru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Vlastnosti

ID článku: 961049 - Poslední aktualizace: 18. května 2009 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Klíčová slova: 
kbmt kbsurveynew kbhotfixrollup kbfix kbqfe kbexpertiseadvanced KB961049 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:961049

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