Oprava: Využití paměti plánu kompilovaný dotaz může neočekávaně nárůst serveru SQL Server 2005

Překlady článku Překlady článku
ID článku: 919636 - Produkty, které se vztahují k tomuto článku.
Bug #: 810 (SQL opravy Hotfix)
Poznámka
Společnost Microsoft distribuuje opravy 2005 Microsoft SQL Server jako jeden soubor ke stažení. Vzhledem k tomu, že jsou kumulativní opravy, každá nová verze obsahuje všechny opravy hotfix a všechny opravy zabezpečení zahrnuté v předchozí serveru SQL Server 2005, opravte uvolnění.
Rozbalit všechny záložky | Minimalizovat všechny záložky
Tento článek popisuje následující o tomto vydání oprav hotfix:
  • Vyřešené problémy v podle tohoto balíčku oprav hotfix
  • Požadavky pro instalaci balíčku oprav hotfix
  • Informace o tom, zda musí restartování počítače po instalaci balíčku oprav hotfix
  • Informace o tom, zda se nahrazuje balíčku opravy hotfix jiným balíčkem oprav hotfix
  • Informace, zda je nutné provést jakékoli změny registru
  • Soubory, které jsou obsaženy v balíčku oprav hotfix

Příznaky

Při kontrole plánu kompilovaný dotaz dotazu, můžete si všimnout, využití paměti plán complied dotaz může neočekávaně nárůst serveru SQL Server 2005 ve srovnání s Microsoft SQL Server 2000.

Tomuto problému může dojít, pokud platí jedna z následujících podmínek:
  • Podmínky 1: Dotaz odkazuje na tabulku, která používá vypočítaného sloupce.
  • Podmínky 2: Dotaz obsahuje operace s řetězci mezi hodnotami sloupců nvarchar a řetězce ANSI. Například řetězec operace porovná hodnoty sloupců nvarchar do řetězce ANSI.
  • Podmínky 3: Dotaz obsahuje odkaz na tabulku obsahující vypočítaný sloupec. Vypočítaný sloupec je založena na sloupec obsahující nvarchar. Sloupec počítač však používá ANSI Řetězcové konstanty ve výrazu.
Podmínky, 2 a 3 může způsobit významné zvýšení v plánu kompilovaný dotaz je využití paměti.

Například máte tabulku, která obsahuje sloupec s nvarchar. Název tabulky je tabulka a nvarchar název sloupce je MyCol. Potom dotaz definujete pomocí následující syntaxe:
SELECT CASE MyCol
          WHEN 'Value1' THEN 'NewValue1'
          WHEN 'Value2' THEN 'NewValue2'
          ELSE MyCol
       END
FROM MyTable
v tomto příkladu jsou řetězce "Hodnota1", "Hodnota2", "NewValue1" a "NewValue2" řetězce ANSI. Hodnoty ve sloupci MyCol nvarchar jsou nejprve porovnávány s řetězce ANSI "Hodnota1" a "Hodnota2". Potom bude odpovídající hodnota "NewValue1", "NewValue2" je vybrána řetězec ANSI nebo původní hodnota ve sloupci MyCol.

Můžete zobrazit využití paměti sestavený plán prověřením sloupci pagesused sys.syscacheobjects systémové tabulky nebo zobrazení dynamickou správu sys.dm_exec_cached_plans.

Této zvýšení velikosti plán complied dotaz může také vést k zvýšení čas čekání pro typ RESOURCE_SEMAPHORE_QUERY_COMPILE čekání.

Řešení

Podporovaná oprava hotfix k dispozici od společnosti Microsoft. Tato oprava hotfix je však určena pouze k odstranění problému popsaného v tomto článku. Tuto opravu hotfix použijte pouze v systémech, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud je přísně neohrožuje tento problém, doporučujeme počkat na další aktualizaci softwaru, která bude tuto opravu hotfix obsahovat.

Pokud je oprava hotfix k dispozici ke stažení, je oddíl "K dispozici oprava Hotfix stahování" v horní části tohoto článku znalostní báze Knowledge Base. Pokud v této části se nezobrazí, obraťte se na služby Microsoft a podporu získat opravu hotfix.

Poznámka: Pokud vyskytnout další problémy nebo řešení potíží je vyžadován, pravděpodobně budete muset vytvořit požadavek na samostatnou službu. Výdaje na podporu se obvykle týkají dalších otázek a problémů, které se netýkají této zvláštní opravy hotfix. Úplný seznam telefonních čísel služby Microsoft a podpora nebo vytvořit zvláštní požadavek na službu na následujícím webu společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=support
Poznámka: "K dispozici oprava Hotfix stahování" formulář zobrazí jazyky, pro které je oprava hotfix k dispozici. Pokud váš jazyk není zobrazen, je to, protože oprava hotfix není k dispozici pro daný jazyk.

Požadavky

Musíte mít použít tuto opravu hotfix nainstalovat SQL Server 2005 Service Pack 1 (SP1). Další informace o možnostech získání aktualizace SQL Server 2005 Service Pack 1 naleznete následující článku znalostní báze Microsoft Knowledge Base:
913089Jak získat nejnovější aktualizaci service pack pro SQL Server 2005

Informace o restartování

Není nutné po instalaci této opravy hotfix restartovat počítač. Však pokud jste již vás tento problém týká, je nutné postupovat podle kroků v části "Workground" po instalaci této opravy hotfix obnovit soubory databáze do stavu v pořádku.

Informace o registru

Nemáte změna registru.

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é jsou nutné k plné aktualizaci produktu na nejnovější verzi.

Anglická verze této opravy hotfix má atributy souborů (nebo vyšší atributy souborů), jsou uvedeny v následující tabulce. Data a časy těchto souborů jsou uvedeny v koordinovaný světový čas (UTC). Při zobrazení informací o souboru, bude převedena na na místní čas. Rozdíl mezi místním časem a UTC časem kartě časové pásmo v položce Datum a čas v Ovládacích panelech.
SQL Server 2005 32bitová verze
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Microsoft.SQLServer.sqlenum.dll9.0.2164.0908,06414. Června 200612: 32x 86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2164.075,55214. Června 200612: 29x 86
Msgprox.dll2005.90.2164.0197,92014. Června 200612: 29x 86
Replprov.dll2005.90.2164.0547,61614. Června 200612: 31x 86
Replrec.dll2005.90.2164.0782,11214. Června 200612: 32x 86
Msmdlocal.dll9.0.2164.015,661,85614. Června 200612: 33x 86
Sqlaccess.dll2005.90.2164.0347,93614. Června 200612: 31x 86
Sqlservr.exe2005.90.2164.028,950,87214. Června 200612: 33x 86
Verze SQL Server 2005 x 64
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Microsoft.SQLServer.sqlenum.dll9.0.2164.0875,29614. Června 200613: 12x 86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2164.091,42414. Června 200612: 29x 64
Msgprox.dll2005.90.2164.0259,36014. Června 200613: 10x 64
Replprov.dll2005.90.2164.0745,24814. Června 200613: 12x 64
Replrec.dll2005.90.2164.01,008,41614. Června 200613: 12x 64
Msmdlocal.dll9.0.2164.015,661,85614. Června 200612: 33x 86
Sqlaccess.dll2005.90.2164.0355,10414. Června 200613: 11x 86
Sqlservr.exe2005.90.2164.039,251,23214. Června 200613: 13x 64
Architektura verze SQL Server 2005 s procesory Itanium
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Microsoft.SQLServer.sqlenum.dll9.0.2164.0875,29614. Června 200612: 29x 86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2164.0163,10414. Června 200612: 29IA-64
Msgprox.dll2005.90.2164.0542,49614. Června 200612: 28IA-64
Msmdlocal.dll9.0.2164.048,733,98414. Června 200612: 30IA-64
Replprov.dll2005.90.2164.01,617,18414. Června 200612: 29IA-64
Replrec.dll2005.90.2164.02,141,47214. Června 200612: 29IA-64
Sqlaccess.dll2005.90.2164.0349,47214. Června 200612: 28x 86
Sqlservr.exe2005.90.2164.072,208,67214. Června 200612: 30IA-64

Jak potíže obejít

Tento problém vyřešit, přidejte velkých písmen "N" před všechny řetězce, které jsou v kontextu problém. Můžete změnit v příkladu, která je popsána v části "Příznaky" pomocí následující syntaxe:

SELECT CASE MyCol WHEN N'Value1' THEN N'NewValue1' WHEN N'Value2' THEN N'NewValue2' ELSE MyCol END FROM MyTable

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části „ platí.

Další informace

Můžete zobrazit využití paměti sestavený plán prověřením sloupci pagesused sys.syscacheobjects systémové tabulky nebo zobrazení dynamickou správu sys.dm_exec_cached_plans.

Další informace o systémové tabulky sys.syscacheobjects naleznete na webu Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms187815.aspx
Další informace o zobrazení dynamickou správu sys.dm_exec_cached_plans naleznete na webu služby MSDN:
http://msdn.microsoft.com/en-us/library/ms187404.aspx
Další informace o pojmenování schématu pro Microsoft SQL Server aktualizace získáte následujícím článku báze Microsoft Knowledge Base:
822499Nové schéma přidělování názvů balíčkům aktualizací softwaru Microsoft SQL Server
Další informace o terminologii aktualizace softwaru naleznete následující článku znalostní báze Microsoft Knowledge Base:
824684Popis standardní terminologie používané k popisu aktualizací softwaru společnosti Microsoft

Vlastnosti

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

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