Sintomi
Si consideri lo scenario seguente in Microsoft SQL Server Compact 3,5:
-
Sono presenti due transazioni di isolamento serializzabile.
-
Entrambe le transazioni provano a eseguire un'operazione DML (query/DML) nella stessa tabella che contiene un hint di blocco TABLOCK o un hint di blocco XLOCK.
In questo scenario si verifica un deadlock.
Causa
Questo problema si verifica perché entrambe le transazioni si aspettano reciprocamente per XLOCK. Quando la query viene compilata, entrambe le transazioni ottengono il blocco condiviso nella tabella e quindi detiene il blocco per l'isolamento serializzabile. Quando entrambe le transazioni provano a eseguire un'esecuzione, la query nella stessa tabella che contiene un hint di blocco XLOCK, quindi entrambe le transazioni si aspettano l'un l'altro per XLOCK. Si verifica quindi un deadlock.Nota Questo problema si verifica anche quando entrambe le transazioni eseguono un'operazione DML nella stessa tabella che contiene un hint di blocco TABLOCK.
Risoluzione
SQL Server Compact 3,5 Service Pack 2
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 2. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 R2, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
2289547 Aggiornamento cumulativo 2 per SQL Server Compact 3,5 Service Pack 2
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Ulteriori informazioni
Per altre informazioni sul deadlock, visitare il sito Web Microsoft Developer Network (MSDN) seguente:
DeadlockPer altre informazioni su DML, visitare il sito Web MSDN seguente:
DMLPer ulteriori informazioni in merito alla terminologia dell'aggiornamento del software, fare clic sul seguente numero di articolo per vedere l'articolo nella Microsoft Knowledge Base:
824684 Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft