Microsoft izplata Microsoft SQL Server 2008 R2 1. servisa pakotnes (SP1) labojumus vienā lejupielādējamā failā. Tā kā labojumi ir kumulatīvi, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības atjauninājumi, kas iekļauti iepriekšējā SQL Server 2008 R2 1. servisa pakotnes (SP1) atjaunināšanas laidienā.
Simptomi
Iedomājieties šādu scenāriju:
-
Jums ir klienta lietojumprogramma, kas izpilda vaicājumu programmā Microsoft SQL Server 2008 R2 vai Microsoft SQL Server 2012.
-
Vaicājums izmanto klauzulu XML , kas atrodas ceļā .
-
Vaicājumā tiek izpildīta komanda iestatīt NO_BROWSETABLE , lai iespējotu NO_BROWSETABLE iestatījumu.
Šajā scenārijā vaicājumu nevar palaist. Turklāt klienta lietojumprogrammā tiek parādīts šāds kļūdas ziņojums, un SQL kļūdu žurnālfailā tiek ģenerēts miniizmetes fails.
Msg 0, Level 11, State 0, Line 0A smaga kļūda radās pašreizējā komandā. Rezultāti, ja tādi ir, ir jāizmet. Msg 0, Level 20, State 0, Line 0A smaga kļūda radās pašreizējā komandā. Rezultāti, ja tādi ir, ir jāizmet.
Piezīmes.
-
Vaicājumu plāns, kas tiek izmantots, lai izpildītu vaicājumu, nav kompilēts.
-
Startējot SQL Server profilu, nav neviena Profiler notikuma.
-
Kad rodas šī problēma, SQL Server pakalpojums periodiski tiek beidzēts.
Cēlonis
Šī problēma rodas iekšējas kļūmes dēļ SQL Server algebrizer. Šī problēma rodas, ja SQL Server mēģina pievienot kolonnas, kas tiek vilktas no viena savienojuma operatora puses uz otru pusi no savienojuma operatora mezgla. Tāpēc tiek izveidots nederīgs algebrizer koks, jo viena savienojuma operatora mezgla pusē definētās kolonnas nav redzamas mezglu savienojuma operators otrā pusē.
Risinājums
Kumulatīvās atjaunināšanas informācija
SQL Server 2012
Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2012 kumulatīvajā atjauninājumā 3. 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:
2723749 Kumulatīvās atjaunināšanas pakotne 3 SQL Server 2012Piezī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 2012 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:
2692828 SQL Server 2012 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2012 SQL Server 2012 labojumfails ir jālieto SQL Server 2012.
SQL Server 2008 R2 2. servisa pakotne
Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2008 R2 2. 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:
2720425 Kumulatīvās atjaunināšanas pakotne 1 SQL Server 2008 R2 2. 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:
2730301 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 R2 2. servisa pakotne
Kumulatīvās atjaunināšanas pakotne SQL Server 2008 R2 SP1
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 7 SQL Server 2008 R2 1. servisa pakotnei. 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:
2703282 Kumulatīvās atjaunināšanas pakotne 6 for SQL Server 2008 R2 SP1Piezī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ā. 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:
2567616 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2008 R2 SP1 Microsoft SQL Server 2008 R2 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2008 R2 1. servisa pakotnes labojumfails ir jālieto SQL Server 2008 R2 1. 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ē.
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Risinājums
Lai novērstu šo problēmu, izmantojiet kādu no tālāk norādītajām metodēm.
1. metode
Neizmantojiet XML klauzulu Path režīmā.
2. metode
Lai atspējotu NO_BROWSETABLE iestatījumu, izpildiet šādu komandu:
NO_BROWSETABLE IESTATĪŠANA
Atsauces
Lai iegūtu papildinformāciju par pārlūkošanas režīmu, dodieties uz šādu MSDN tīmekļa vietni:
Vispārēja informācija par pārlūkošanas režīmuLai iegūtu papildinformāciju par to, kā izmantot TRAJEKTORIJas režīmu ar klauzulu XML, dodieties uz šādu MSDN tīmekļa vietni: