KB2536225-Labojums: CLR saglabāto procedūru atgriež NULL pēc tam, kad tas ir atkārtoti kompilēts SQL Server 2008 R2 vai SQL Server 2008

Microsoft izplata Microsoft SQL Server 2008 R2 vai Microsoft SQL Server 2008, kā vienu lejupielādējamo failu. Tā kā labojumi ir kumulatīvi, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 vai SQL Server 2008 labošanas laidienā.

Simptomi

Iedomājieties šādu scenāriju:

  • Jūs izveidojat vispārēju valodas izpildlaika (CLR) procedūru Microsoft SQL Server 2008 R2 vai Microsoft SQL Server 2008 datu bāzē.

  • CLR saglabātā procedūra ir ieviesta kā publiska statiska metode, kas atgriež vesela skaitļa vērtību Microsoft .NET Framework.

  • Jūs palaižat lietojumprogrammu, kas zvana uz CLR saglabāto procedūru. CLR saglabāto procedūru atgriež pareizu vērtību.

  • Jūs veicat dažas darbības, kas atkārtoti kompilēs CLR saglabātās procedūras izpildes plānu.Piezīme. Papildinformāciju par to, kā atkārtoti kompilēt iekļautās procedūras izpildes plānu, skatiet sadaļā "Papildinformācija".

  • Vēlreiz palaidiet lietojumprogrammu.

Šajā scenārijā CLR saglabāto procedūru nepareizi atgriež vērtību NULL. Turklāt ir jārestartē SQL Server pakalpojums, lai to atkoptu no šīs problēmas.

Risinājums

Kumulatīvās atjaunināšanas informācija

SQL Server 2008 3. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2008 3. servisa pakotnes kumulatīvajā atjauninājumā 2. Lai iegūtu papildinformāciju par šo kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2633143 Kumulatīvās atjaunināšanas pakotne 2 SQL Server 2008 3. servisa pakotneiPiezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 labošanas laidienā. Microsoft iesaka, ka apsveriet iespēju lietot jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2629969 SQL Server 2008 būvējumi, kas tika izlaisti pēc SQL Server 2008 3. servisa pakotnes izlaišanas Microsoft SQL Server 2008 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2008 Service Pack 3 labojumfails ir jālieto SQL Server 2008 3. servisa pakotnes instalēšanai. Pēc noklusējuma visi labojumfaili, kas tiek nodrošināti SQL Server servisa pakotnē, ir iekļauti nākamajā SQL Server servisa pakotnē.

SQL Server 2008 R2 1. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2008 R2 1. servisa pakotnei. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2567714 Kumulatīvās atjaunināšanas pakotne 2 SQL Server 2008 R2 1. servisa pakotneiPiezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2567616 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 R2 1. servisa pakotne

SQL Server 2008 R2

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjaunināšanā 8. Lai iegūtu papildinformāciju par to, kā iegūt SQL Server 2008 R2 kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2534352 Kumulatīvās atjaunināšanas pakotne SQL Server 2008 R2 Piezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

981356 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2008 R2

Papildinformācija

Lai atkārtoti kompilētu iekļautās procedūras izpildes plānu, veiciet kādu no tālāk norādītajām darbībām.

  • Palaidiet priekšrakstu DBCCFREEPROCCACHE .

  • Izpildīt vienu no šiem apgalvojumiem par tabulu vai skatu:

    • MAINĪT TABULU

    • MAINĪT SKATU

  • Izpildīt izpildes plānu, kas maina vai dzēš indeksus.

  • Veikt atjaunināšanas darbību statistikā, ko izmanto izpildes plāns. Piezīme. Varat izpildīt priekšrakstu, kas jāveic, lai veiktu atjaunināšanas darbību, vai atjaunināšanas darbību var veikt automātiski.

  • Palaidiet sp_recompile priekšrakstu.

  • Veikt daudzas izmaiņas atslēgās. Piemēram, izmantojiet lietotāja kontu, kas atjaunina tabulu, uz kuru ir atsauce, lai izpildītu priekšraksta Insert vai Delete .

  • Ievietot vai izdzēst daudzas rindas no tabulas, kurā ir trigeri.

  • Lai izpildītu saglabāto procedūru, izmantojiet opciju PĀRkompilēšana .

Statusa

Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".

Atsauces

Lai iegūtu papildinformāciju par CLR saglabātajām procedūrām, apmeklējiet šo MSDN tīmekļa vietni:

Vispārēja informācija par CLR saglabātām procedūrāmLai iegūtu papildinformāciju par papildu apkalpošanas modeli SQL Server, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

935897 SQL Server komandā ir pieejams papildu apkalpošanas modelis, kas sniedz labojumfailus ziņotām problēmāmLai iegūtu papildinformāciju par nosaukumdošanas shēmu SQL Server atjauninājumiem, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

822499Jauna nosaukuma shēma Microsoft SQL Server programmatūras atjaunināšanas pakotnēmLai iegūtu papildinformāciju par programmatūras atjaunināšanas terminoloģiju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

824684 Apraksts par standarta terminoloģiju, kas tiek izmantota Microsoft programmatūras atjauninājumu aprakstos

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.

×