Oprava: Výkonu systému může být pomalé, když aplikace odešle mnoho dotazy vůči databázi SQL Server 2005, která používá jednoduchý Parametrizace

Překlady článku Překlady článku
ID článku: 920206 - 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í.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje následující o tomto vydání opravy hotfix:
  • Problémy opravené tímto balíčkem oprav hotfix
  • požadavky pro instalaci balíčku oprav hotfix,
  • zda je nutné restartování počítače po instalaci balíčku oprav hotfix,
  • nahrazení balíčku oprav hotfix jiným balíčkem oprav hotfix
  • zda je nutné provedení změn v registru,
  • soubory obsažené v balíčku oprav hotfix

Příznaky

Zvažte následující scénář: aplikace odešle mnoho dotazy vůči databázi 2005 Microsoft SQL Server. Dotazy mají identické dotazu text a deklarovat stejné parametry. Dotazy však mít také různé kombinace přesnost a měřítko pro hodnoty číselný datový typ v deklaraci řetězec parametru. Jednoduché Parametrizace používá databáze SQL Server 2005. V tomto scénáři může být výkon systému SQL Server 2005 pomalé. Dále může vyskytnout vysoké využití.

K tomuto problému dochází častěji při databáze SQL Server 2005 je velké a je v případě vysoké zatížení.

Poznámka: Výchozí chování databáze SQL Server 2005 je použití jednoduchého Parametrizace.

Příčina

K tomuto problému dochází, protože SQL Server kontrolovaných mnoho dotazů najít jeden dotaz, který je shoda text dotazu, parametry a řetězec deklarace parametru.

Řešení

Informace o opravě hotfix

K dispozici je podporovaná oprava hotfix od společnosti Microsoft. Tato oprava hotfix je však určena pouze k opravě problému popsanému v tomto článku. Použijte tuto opravu hotfix pouze u systémů, kde dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Pokud Vás tento problém závažně nepostihuje, doporučujeme počkat na další aktualizaci softwaru, která bude tuto opravu hotfix obsahovat.

Pokud je oprava hotfix k dispozici ke stažení, v horní části tohoto článku je sekce "Hotfix stažení k dispozici". Pokud tento oddíl nevidíte, obraťte se na Technickou podpora společnosti Microsoft pro získání opravy hotfix.

Poznámka: Pokud vyskytnout další problémy nebo jakékoli řešení potíží je vyžadován, pravděpodobně budete muset vytvořit zvláštní požadavek na službu. Výdaje na technickou podporu se týkají dalších otázek a problémů, které nelze vyřešit pomocí této opravy konkrétní opravy hotfix. Navštivte následující web společnosti Microsoft pro získání telefonního čísla na Zákaznické centrum, nebo pokud chcete vytvořit samostatnou žádost o podporu:
http://support.microsoft.com/contactus/?ws=support
Poznámka: Zobrazí formulář "Hotfix stažení k dispozici" jazyky, pro které je oprava hotfix k dispozici. Pokud váš jazyk není zobrazen, oprava hotfix není k dispozici pro daný jazyk.

Požadavky

Chcete-li použít tuto opravu hotfix, musíte mít SQL Server 2005 Service Pack 1 (SP1) v počítači nainstalována.
Další informace o získání SQL Server 2005 Service Pack 1 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
913089Jak získat nejnovější aktualizaci service pack pro SQL Server 2005

Informace o restartování

Po instalaci této opravy hotfix není třeba počítač restartovat.

Informace o registru

Nemáte změna registru.

Informace o nahrazení opravy hotfix

Tato oprava Hotfix nenahrazuje žádné další opravy Hotfix.

Informace o souboru opravy hotfix

Tato oprava hotfix obsahuje pouze soubory, které jsou nutné k opravě problémů uvedených v tomto článku. Tato oprava hotfix nemusí obsahovat všechny soubory, které musíte mít úplnou aktualizaci produktu na nejnovější.
Anglická verze této opravy hotfix má následující (nebo pozdější) atributy souborů. Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Pokud zobrazíte informace o souboru, bude převedena na místní čas. Rozdíl mezi místním ČASEM a najít, použijte kartu časové pásmo v položce Datum a čas v ovládacím.
Opravy hotfix serveru SQL Server 2005, 32bitová verze
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2164.075,55214. čevna 200620: 29X86
Microsoft.SQLServer.sqlenum.dll9.0.2164.0908,06414. čevna 200620: 32X86
Msgprox.dll2005.90.2164.0197,92014. čevna 200620: 29X86
Msmdlocal.dll9.0.2164.015,661,85614. čevna 200620: 33X86
Mssqlsystemresource.ldfNelze použít524,28814. čevna 200614: 23Nelze použít
Mssqlsystemresource.mdfNelze použít39,911,42414. čevna 200614: 23Nelze použít
Replprov.dll2005.90.2164.0547,61614. čevna 200620: 31X86
Replrec.dll2005.90.2164.0782,11214. čevna 200620: 32X86
Sqlaccess.dll2005.90.2164.0347,93614. čevna 200620: 31X86
Sqlservr.exe2005.90.2164.028,950,87214. čevna 200620: 33X86
Opravy hotfix serveru SQL Server 2005, 64-bit
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2164.075,55214. čevna 200620: 29X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2164.091,42414. čevna 200621: 10X64
Microsoft.SQLServer.sqlenum.dll9.0.2164.0875,29614. čevna 200621: 12X86
Msgprox.dll2005.90.2164.0259,36014. čevna 200621: 10X64
Msmdlocal.dll9.0.2164.015,661,85614. čevna 200620: 33X86
Mssqlsystemresource.ldfNelze použít524,28814. čevna 200614: 23Nelze použít
Mssqlsystemresource.mdfNelze použít39,911,42414. čevna 200614: 23Nelze použít
Replprov.dll2005.90.2164.0745,24814. čevna 200621: 12X64
Replrec.dll2005.90.2164.01,008,41614. čevna 200621: 12X64
Sqlaccess.dll2005.90.2164.0355,10414. čevna 200621: 11X86
Sqlservr.exe2005.90.2164.039,251,23214. čevna 200621: 13X64
Opravy hotfix serveru SQL Server 2005, 64bitová verze pro procesory Itanium
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2164.0163,10414. čevna 200620: 29IA-64
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2164.075,55214. čevna 200620: 29X86
Microsoft.SQLServer.sqlenum.dll9.0.2164.0875,29614. čevna 200620: 29X86
Msgprox.dll2005.90.2164.0542,49614. čevna 200620: 28IA-64
Msmdlocal.dll9.0.2164.048,733,98414. čevna 200620: 30IA-64
Mssqlsystemresource.ldfNelze použít524,28814. čevna 200614: 23Nelze použít
Mssqlsystemresource.mdfNelze použít39,911,42414. čevna 200614: 23Nelze použít
Replprov.dll2005.90.2164.01,617,18414. čevna 200620: 29IA-64
Replrec.dll2005.90.2164.02,141,47214. čevna 200620: 29IA-64
Sqlaccess.dll2005.90.2164.0349,47214. čevna 200620: 28X86
Sqlservr.exe2005.90.2164.072,208,67214. čevna 200620: 30IA-64

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.

Jak potíže obejít

Tento problém vyřešit, použijte explicitní Parametrizace v klientské aplikaci. Při použití explicitní Parametrizace v klientské aplikaci plán spuštění pouze jednoho vytvořené a uložené v mezipaměti postup. V toto řešení výkon systému SQL Server 2005 spustí očekávaným způsobem.

Další informace o explicitní Parametrizace a plán provedení znovu použít, navštivte následující web společnosti Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms175580.aspx

Další informace

Pokud aplikace odešle mnoho dotazy vůči databázi SQL Server 2005, plán vykonání každého dotazu musí být v mezipaměti postup před dotazu mohou být provedeny.

Poznámka: Pokud není k dispozici v mezipaměti postup plán provádění konkrétní dotaz, SQL Server zkompiluje dotazu, zapíše do mezipaměti postup plán spuštění dotazu a provede dotaz.

Při SQL Server 2005 plán vykonání v mezipaměti pro konkrétní dotaz načte z mezipaměti postup, SQL Server identifikuje odpovídající plán spuštění pomocí klíče hash, který byl odvozen při dotazu byl kompilován. Původní verzi SQL Server 2005 klíče hash je odvozen z pouze text dotazu a vynechá deklarace řetězec parametru. Když SQL Server 2005 odvozuje hash klíče z pouze text dotazu, SQL Server 2005 umístí hash klíčů pro všechny dotazy, které mají stejné parametry a text dotazu identické stejného bloku algoritmu hash. K tomuto chování dochází, i když každý dotaz má jinou kombinaci přesnost a měřítko pro číselné hodnoty v řetězci deklarace parametru. Při SQL Server 2005 se pokusí načíst z mezipaměti postupu pro konkrétní dotaz plán spuštění dotazu v mezipaměti, musí všechny dotazu provádění plány v odpovídající bloku hash najít plán spuštění jeden dotaz, který odpovídá text dotazu, parametry a řetězec deklarace parametru prozkoumejte SQL Server.

Po použití této opravy hotfix SQL Server 2005 odvozuje od textu dotazu a řetězec deklarace parametru klíče hash. Při nový dotaz má kombinace přesnost a měřítko pro číselné hodnoty v řetězci deklarace parametru, který neodpovídá jiný existující dotaz, SQL Server 2005 umístí klíč algoritmu hash pro nový dotaz do nového bloku algoritmu hash. SQL Server 2005 umístí do nového bloku hash klíč algoritmu hash pro nový dotaz, i když nový dotaz má text identické dotazu a stejné parametry jako jiný existující dotaz. Proto při SQL Server 2005 se pokusí načíst plány mezipaměti provádění z mezipaměti postup nový dotaz, obsahuje odpovídající bloku hash pouze jeden dotaz pro SQL Server prověřit.

V tomto scénáři rozlišení hotfix stále SQL Server 2005 má mnoho provádění plány. K tomu dochází, protože plán samostatné spuštění je vytvořena pro každý dotaz má nové kombinace přesnost a měřítko pro číselné hodnoty v deklaraci řetězec parametru. Každý plán provádění vyžaduje SQL Server 2005 systémové prostředky vytvořit plán provádění. Každý plán provádění vyžaduje SQL Server 2005 systémové prostředky k uložení v mezipaměti postup plán provádění. Protože scénář rozlišení opravy hotfix vyžaduje velké množství prostředků systému SQL Server 2005, může být výkon systému SQL Server 2005 stále pomalejší, než bylo očekáváno.
Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Vlastnosti

ID článku: 920206 - Poslední aktualizace: 20. listopadu 2007 - Revize: 1.8
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Developer Edition
Klíčová slova: 
kbmt kbautohotfix kbbug kbfix kbtshoot kbhotfixserver kbqfe kbpubtypekc KB920206 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:920206

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