Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Sintomi

Considerare lo scenario descritto di seguito:

  • Si dispone di un database in cui sono disponibili le opzioni ALLOW_SNAPSHOT_ISOLATION e READ_COMMITTED_SNAPSHOT abilitate in Microsoft SQL Server 2008 R2.

  • Si esegue un'istruzione Select che contiene hint TABLOCK e UPDLOCK in una tabella nel database.

  • L'istruzione Select viene avvolta in un oggetto Begin Tranesplicito, ma il commit tran non viene eseguito.

  • Altre due delle stesse query avviate con gli stessi hint di query si trovano nella transazione esplicita.

In questo scenario, quando viene eseguito il commit della prima query, una delle altre query sarà deadlock.

Causa

Il problema si verifica perché SQL Server segnala in modo errato il deadlock in uno degli scenari seguenti:

  • Quando ALLOW_SNAPSHOT_ISOLATION e READ_COMMITTED_SNAPSHOT sono abilitati per un database, è possibile che più query sulla stessa transazione vengano segnalate in modo non corretto come deadlock quando una di queste viene completata.

  • Quando ALLOW_SNAPSHOT_ISOTION è abilitato e vengono usati i suggerimenti TABLOCK e UPDLOCK , la seconda e la terza istruzione Select accettano blocchi IX con l'intenzione di convertirla in X. I blocchi IX terminano in deadlock quando viene eseguito un tentativo di conversione in X.

  • Quando ALLOW_SNAPSHOT_ISOLATION è disabilitata, la seconda e la terza query otterranno un blocco di sei. In questa situazione, quando il blocco SIX viene convertito in X, è solo uno scenario di blocco, non un deadlock.

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?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×