KB2923460-FIX: query in deadlock quando ALLOW_SNAPSHOT_ISOLATION e READ_COMMITTED_SNAPSHOT sono abilitati in SQL Server 2012

Sintomi

Considerare lo scenario descritto di seguito:

  • Si dispone di un database di Microsoft SQL Server 2012 con le opzioni ALLOW_SNAPSHOT_ISOLATION e READ_COMMITTED_SNAPSHOT abilitate.

  • Sono presenti almeno tre query simultanee eseguite sulla stessa tabella.

  • Le query usano l'hint per la query (TABLOCK, UPDLOCK) .

  • Ogni query viene avvolta in un'istruzione Begin Tran esplicita, ma l'istruzione commit tran non viene eseguita.

Quando viene eseguito il commit della prima query in questo scenario, una delle altre query verrà stallo. Quando READ_COMMITTED_SNAPSHOT viene abilitato insieme agli hint per la query TABLOCK e UPDLOCK , le sessioni accettano i blocchi IX nella tabella. Il deadlock si verifica quando le due sessioni simultanee provano a convertire i blocchi IX in blocchi X contemporaneamente. Se READ_COMMITTED_SNAPSHOT è disabilitata, le sessioni otterranno sei blocchi che non si verificano un deadlock quando vengono convertiti in blocchi X. L'hotfix risolve questo comportamento concedendo i blocchi LCK_M_SCH_S anziché i blocchi IX quando READ_COMMITTED_SNAPSHOT viene usato con i suggerimenti TABLOCK e UPDLOCK .Nota Questo problema si verifica anche in Microsoft SQL Server 2008 R2. Un hotfix per SQL Server 2008 R2 verrà rilasciato a breve.

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×