Simptome
Luați în considerare următorul scenariu în Microsoft SQL Server Compact 3,5:
-
Aveți două tranzacții de izolare serializată.
-
Ambele tranzacții încearcă să efectueze o operațiune LMD (Query/LMD) în același tabel care conține un indiciu de blocare TABLOCK sau un indiciu de blocare XLOCK.
În acest scenariu, întâmpinați un impas.
Cauză
Această problemă apare deoarece ambele tranzacții se așteaptă reciproc pentru XLOCK. Atunci când interogarea este compilată, ambele tranzacții obțin blocarea partajată a tabelului, apoi păstrează blocarea pentru izolarea serializată. Atunci când ambele tranzacții încearcă să execute o execuție, interogarea de pe același tabel care conține un indiciu de blocare XLOCK, apoi ambele tranzacții se așteaptă unul pe altul pentru XLOCK. Prin urmare, apare un impas.Notă Această problemă apare, de asemenea, atunci când ambele tranzacții efectuează o operațiune LMD pe același tabel care conține un indiciu de blocare TABLOCK.
Rezolvare
SQL Server Compact 3,5 Service Pack 2
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 2. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă pentru SQL Server 2008 R2, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
2289547 Actualizarea cumulativă 2 pentru SQL Server Compact 3,5 Service Pack 2
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Mai multe informații
Pentru mai multe informații despre impas, vizitați următorul site Web Microsoft Developer Network (MSDN):
ImpasPentru mai multe informații despre LMD, vizitați următorul site Web MSDN:
DMLPentru mai multe informații despre terminologia actualizării software-ului, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
824684 Descrierea terminologiei standard care este utilizată pentru a descrie actualizările de software Microsoft