Oprava: Plánu dotazu uložené procedury nejsou uloženy v mezipaměti uloženou proceduru používá BLOB proměnné a proměnné je použit řetězec funkce v aplikaci Microsoft SQL Server 2008 nebo Microsoft SQL Server 2008 R2

Překlady článku Překlady článku
ID článku: 2380435 - Produkty, které se vztahují k tomuto článku.
Společnost Microsoft distribuuje Microsoft SQL Server 2008 a Microsoft SQL Server 2008 R2 opravy jako jeden soubor ke stažení. Opravy jsou kumulativní a každá nová verze obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předcházející SQL Server 2008 nebo SQL Server 2008 R2 opravit vydáním.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Předpokládejme následující situaci::
  • Vytvoření uložené procedury v serveru Microsoft SQL Server 2008 nebo Microsoft SQL Server 2008 R2.
  • Uložená procedura používá proměnnou binary large object (BLOB).
  • BLOB proměnná se používá funkce řetězec.
  • Spuštění uložené procedury.
V tomto případě plán dotazů pro uložené procedury nejsou uloženy v mezipaměti.

Řešení

Informace o kumulativní aktualizaci

SQL Server 2008 Service Pack 1

Oprava tohoto problému byl vydán nejprve v kumulativní aktualizaci pro SQL Server 2008 Service Pack 1 10. Další informace o této kumulativní aktualizace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
2279604Balíček kumulativní aktualizace 10 pro SQL Server 2008 Service Pack 1
POZNÁMKA:Sestavení jsou kumulativní a každá nová verze opravy obsahuje všechny opravy hotfix a vyřešit všechny opravy zabezpečení zahrnuté v předchozí SQL Server 2008, verze. Společnost Microsoft doporučuje zvážit použití nejnovější vydání opravy, které tuto opravu hotfix obsahovat. Další informace naleznete následujícím článku znalostní báze Microsoft Knowledge Base::
970365Vytvoří SQL Server 2008, které byly vydány po vydání SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 opravy hotfix jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. K instalaci aktualizace Service Pack 1 pro SQL Server 2008, je třeba použít opravu hotfix SQL Server 2008 Service Pack 1. Žádné opravy hotfix, která je k dispozici v aktualizaci service pack serveru SQL Server je ve výchozím nastavení součástí příští aktualizace service Pack pro SQL Server.

SQL Server 2008 Service Pack 2

Oprava tohoto problému byla nejprve vydány v kumulativní aktualizaci 1 pro SQL Server 2008 Service Pack 2. Další informace o této kumulativní aktualizace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
2289254Kumulativní aktualizace 1 pro SQL Server 2008 Service Pack 2
POZNÁMKA:Sestavení jsou kumulativní a každá nová verze opravy obsahuje všechny opravy hotfix a vyřešit všechny opravy zabezpečení zahrnuté v předchozí SQL Server 2008, verze. Doporučujeme zvážit použití nejnovější vydání opravy, které tuto opravu hotfix obsahovat. Další informace naleznete následujícím článku znalostní báze Microsoft Knowledge Base::
2402659Sestavení serveru SQL Server 2008, které byly vydány po vydání serveru SQL Server 2008 Service Pack 2

SQL Server 2008 R2

Oprava tohoto problému byl vydán první 4 kumulativní aktualizace. Další informace o možnostech získání tohoto balíčku kumulativní aktualizace pro SQL Server 2008 R2 získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
2345451Kumulativní balíček aktualizace 4 pro SQL Server 2008 R2
POZNÁMKA:Sestavení jsou kumulativní a každá nová verze opravy obsahuje všechny opravy hotfix a všechny opravy zabezpečení zahrnuté v předchozí SQL Server 2008 R2 opravit vydáním. Doporučujeme zvážit použití nejnovější vydání opravy, které tuto opravu hotfix obsahovat. Další informace naleznete následujícím článku znalostní báze Microsoft Knowledge Base::
981356SQL Server 2008 R2 sestavení, které byly vydány po vydání 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 Informace v tomto článku jsou určeny pro produkt..

Další informace

Chcete-li tento problém reprodukovat, postupujte takto:
  1. Spusťte následující kód vytvořit dvě uložené procedury ("p_test1" a "p_test2"). "P_test1" používá proměnnou BLOB a "p_test2" se používá k proměnné nvarchar(100).
    use tempdb
    go
    if OBJECT_ID('p_test1') is not null drop proc p_test1
    if OBJECT_ID('p_test2') is not null drop proc p_test2
    go
    create proc p_test1
    @s nvarchar(max)
    as
    begin
    select * from sys.objects 
    where name = UPPER(@s)
    end
    go
    create proc p_test2
    @s nvarchar(100)
    as
    begin
    select * from sys.objects 
    where name = UPPER(@s)
    end
    go
    
  2. Spusťte následující kód, který chcete vymazat mezipaměť postup a provést dvě uložené procedury:
    dbcc freeproccache
    go
    exec p_test1 N'abc'
    exec p_test2 N'abc'
    go
    
  3. Spusťte následující kód, který chcete zkontrolovat plán uložený v mezipaměti:
    select object_name(CONVERT(int, a.value)), cp.*
    from sys.dm_exec_cached_plans cp
    cross apply sys.dm_exec_plan_attributes(cp.plan_handle) a
    where cp.objtype = 'Proc'
    and a.attribute = 'objectid'
    
    
POZNÁMKA:Pokud existuje mnoho souběžné spuštění uložené procedury na Microsoft SQL Server 2008 nebo Microsoft SQL Server 2008 R2 instance tohoto typu, může docházet k blokování, které jsou způsobeny uzamčení kompilace v instanci.

Další informace o serveru SQL Server blokování způsobené kompilace uzamčení popisu naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
263889Popis serveru SQL Server blokování způsobené uzamčení kompilace

Odkazy

Další informace o funkce pro řetězce (Transact-SQL) navštivte následující web společnosti Microsoft:
Řetězcové funkce jazyka Transact-SQL)
Další informace o přírůstkové obsluhovaní model pro SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:
935897Přírůstkové model obsluhovaní je k dispozici u týmu pro SQL Server pro 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:
822499Nové schéma přidělování názvů pro balíčky aktualizací softwaru serveru 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: 2380435 - Poslední aktualizace: 15. listopadu 2010 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
Klíčová slova: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2380435 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:2380435

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