Simptomi
Apsveriet tālāk minēto scenāriju sistēmā Microsoft SQL Server Compact 3,5:
-
Jums ir divas serializēja izolācijas transakcijas.
-
Abas darbības cenšas veikt BDL darbību (vaicājums/BDL) tajā pašā tabulā, kurā ir TABLOCK bloķēšanas mājiens vai XLOCK bloķēšanas ieteikums.
Šajā scenārijā tiek parādīts strupceļš.
Cēlonis
Šī problēma rodas tāpēc, ka abas darbības gaida vēl vienu XLOCK. Kad vaicājums tiek kompilēts, abās darbībās tiek iegūta koplietojamā atslēga uz tabulas un pēc tam tiek turēta atslēga sērijas izolācijai. Ja abas darbības mēģina veikt izpildi, vaicājums tajā pašā tabulā, kurā ir XLOCK bloķēšanas mājiens, pēc tam abas darbības tiek gaidītas cits citam XLOCK. Tāpēc rodas strupceļš.Piezīme.Šī problēma rodas arī tad, ja abas darbības veic BDL darbību tajā pašā tabulā, kurā ir TABLOCK bloķēšanas ieteikums.
Risinājums
SQL Server Compact 3,5 2. servisa pakotne
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 2. 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:
2289547 Kumulatīvais atjauninājums 2 SQL Server Compact 3,5 2. servisa pakotnei
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Papildinformācija
Lai iegūtu papildinformāciju par strupceļu, apmeklējiet šo Microsoft izstrādātāju tīkla (MSDN) tīmekļa vietni:
StrupceļaLai iegūtu papildinformāciju par BDL, apmeklējiet šo MSDN tīmekļa vietni:
BDLLai 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