Labojums: Iekļautā procedūra vaicājumu plāns nav kešatmiņā saglabātā procedūra izmanto BLOB mainīgo un mainīgajam tiek izmantots virknes funkcija sistēmā Microsoft SQL Server 2008 vai Microsoft SQL Server 2008 R2

Microsoft izplata Microsoft SQL Server 2008 un Microsoft SQL Server 2008 R2 labojumus kā vienu lejupielādējamu failu. Tā kā labojumi ir kumulatīvi, katrs jauns laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2008 R2 vai SQL Server 2008 labojumu laidienā.

Simptomi

Apsveriet šādu situāciju:

  • Iekļautā procedūra izveidojat Microsoft SQL Server 2008 vai Microsoft SQL Server 2008 R2.

  • Iekļautā procedūra izmanto mainīga binārā lielu objektu (BLOB).

  • BLOB mainīgo izmanto virkni funkciju.

  • Izpildot iekļautā procedūra.

Šādā gadījumā nav kešatmiņā saglabātā procedūra vaicājumu plāns.

Risinājums

Informācija par kumulatīvo atjauninājumu

SQL Server 2008 1. servisa pakotne

Šīs problēmas labojums vispirms tika izlaists kumulatīvais atjauninājums 10 sistēmas SQL Server 2008 1. servisa pakotnei. Lai iegūtu papildinformāciju par šo kumulatīvo atjauninājumu pakotnes, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

2279604 10. kumulatīvo atjauninājumu pakotne sistēmai SQL Server 2008 1. servisa pakotnePiezīme. Tā kā būvējumi ir kumulatīvi, katrs jauns labojumu laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2008 labojumu laidienā. Korporācija Microsoft iesaka apsvērt tāda visjaunākā labojuma laidiena pielietošanu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

970365 SQL Server 2008 būvējumi, kas tika izlaisti pēc sistēmas SQL Server 2008 1. servisa pakotnes izlaišanas Microsoft SQL Server 2008 labojumfaili tiek izveidoti īpaši SQL Server servisa pakotnēm. Ir jāinstalē labojumfails SQL Server 2008 1. servisa pakotnei un SQL Server 2008 1. servisa pakotnes instalēšanas. Pēc noklusējuma SQL Server servisa pakotne ir pieejama jebkurā labojumfails ir iekļauts SQL Server nākamajā servisa pakotnē.

SQL Server 2008 2. servisa pakotne

Šīs problēmas labojums vispirms tika izlaists kumulatīvais atjauninājums 1 SQL Server 2008 2. servisa pakotnei. Lai iegūtu papildinformāciju par šo kumulatīvo atjauninājumu pakotnes, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

2289254 Kumulatīvais atjauninājums 1 SQL Server 2008 2. servisa pakotniPiezīme. Tā kā būvējumi ir kumulatīvi, katrs jauns labojumu laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2008 labojumu laidienā. Ieteicams apsvērt tāda visjaunākā labojuma laidiena pielietošanu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

2402659 SQL Server 2008 būvējumi, kas tika izlaisti pēc sistēmas SQL Server 2008 2. servisa pakotnes izlaišanas

SQL Server 2008 R2

Šīs problēmas labojums vispirms tika izlaists kumulatīvais atjauninājums 4. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjauninājumu pakotne sistēmai SQL Server 2008 R2, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

2345451 Kumulatīvā atjauninājuma pakotnes 4 SQL Server 2008 R2 Piezīme. Tā kā būvējumi ir kumulatīvi, katrs jauns labojumu laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2008 R2 labojumu laidienā. Ieteicams apsvērt tāda visjaunākā labojuma laidiena pielietošanu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

981356 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc izlaišanas SQL Server 2008 R2

Statuss

Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".

Papildinformācija

Lai atveidotu šo problēmu, rīkojieties šādi:

  1. Palaidiet šādu kodu izveidot divas iekļautās procedūras ("p_test1" un "p_test2"). BLOB mainīgo izmanto "P_test1" un "p_test2" izmanto nvarchar(100) mainīgais.use tempdbgoif OBJECT_ID('p_test1') is not null drop proc p_test1if OBJECT_ID('p_test2') is not null drop proc p_test2gocreate proc p_test1@s nvarchar(max)asbeginselect * from sys.objects where name = UPPER(@s)endgocreate proc p_test2@s nvarchar(100)asbeginselect * from sys.objects where name = UPPER(@s)endgo

  2. Palaidiet šādu kodu iztīrīt kešatmiņu procedūras un izpildīt abus saglabātās procedūras:dbcc freeproccachegoexec p_test1 N'abc'exec p_test2 N'abc'go

  3. Palaidiet šādu kodu pārbaudīt kešatmiņā plāns: select object_name(CONVERT(int, a.value)), cp.*from sys.dm_exec_cached_plans cpcross apply sys.dm_exec_plan_attributes(cp.plan_handle) awhere cp.objtype = 'Proc'and a.attribute = 'objectid'

Piezīme. Ja ir daudz vienlaicīgi izpildes šāda veida iekļautā procedūra Microsoft SQL Server 2008 vai Microsoft SQL Server 2008 R2, piemēram, var rasties bloķēšanu, rada kompilēšana bloķēšanas gadījumā. Lai iegūtu papildinformāciju par apraksts SQL Server bloķē izraisa kompilēšana atslēgas, skatiet šajā Microsoft zināšanu bāzes rakstā:

263889 SQL Server bloķē izraisa kompilēšana atslēgas apraksts

Atsauces

Papildinformāciju par virknes funkcijas (Transact-SQL), apmeklējiet šo Microsoft vietni:

Virknes funkcijas (Transact-SQL)Lai iegūtu papildinformāciju par inkrementālās apkopes modeli sistēmai SQL Server, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

935897 Inkrementālās apkopes modelis ir pieejams no SQL Server grupas, lai nodrošinātu labojumfailus paziņotajām problēmāmLai iegūtu papildinformāciju par nosaukumdošanas shēma SQL Server atjauninājumus, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

822499Jauna Microsoft SQL Server programmatūras atjauninājumu pakotņu nosaukumdošanas shēmaLai iegūtu papildinformāciju par programmatūras atjauninājumu terminoloģiju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

824684 Microsoft programmatūras atjauninājumu raksturošanai izmantotās standarta terminoloģijas apraksts

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×