FIX: ╚ impossibile accedere tabelle utilizzate in una transazione di SQL Server se si termina il thread che esegue la transazione prima che la transazione viene terminata in .NET Framework 2.0

Traduzione articoli Traduzione articoli
Identificativo articolo: 944100 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Si consideri lo scenario seguente. Si crea un'applicazione basata su .NET Framework 2.0. Nell'applicazione, Ŕ possibile utilizzare un oggetto SqlConnection per aprire una connessione a Microsoft SQL Server. ╚ possibile eseguire una transazione per la connessione. Tuttavia prima che la transazione viene terminata, chiamare il metodo Abort del thread che esegue la transazione. In questo scenario, una query su una tabella che viene utilizzata nella transazione non completata correttamente.

Questo problema pu˛ verificarsi se le seguenti condizioni sono vere:
  • L'applicazione Ŕ un'applicazione Web.
  • La transazione richiede molto tempo per terminare.
Questo problema Ŕ non in .NET Framework 1.0 o in .NET Framework 1.1.

Questo problema si verifica anche in .NET Framework 2.0 con Service Pack 1 (SP1).
Per ulteriori informazioni su un hotfix che risolve questo problema in .NET Framework 2.0 con Service Pack 1, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
948864FIX: ╚ impossibile accedere tabelle utilizzate in una transazione di SQL Server se si termina il thread che esegue la transazione prima che la transazione viene terminata in .NET Framework 2.0 Service Pack 1

Cause

Questo problema si verifica perchÚ .NET Framework 2.0 non pulisce l'oggetto SqlConnection. Le transazioni che gestisce l'oggetto SqlConnection sono ancora attive. Di conseguenza, queste transazioni mantengono blocchi sulle tabelle o nelle righe della tabella fino a quando la chiusura dell'applicazione.

Quando un'applicazione Web utilizza un oggetto SqlConnection per eseguire una transazione, le chiamate di Internet Information Services (IIS) il metodo Abort del thread che esegue la transazione, se il tempo di transazione supera il valore della proprietÓ HttpRuntimeSection.ExecutionTimeout di IIS. Di conseguenza, la transazione gestisce blocchi sulle tabelle o nelle righe della tabella finchÚ non si riavvia il pool di applicazioni.

Nota Per impostazione predefinita, il valore della proprietÓ HttpRuntimeSection.ExecutionTimeout Ŕ 90. Questo valore rappresenta 90 secondi.

Risoluzione

Informazioni sull'hotfix

╚ ora disponibile un hotfix supportato. Tuttavia Ŕ destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicarlo solo a sistemi che si verifica questo problema specifico. Questo aggiornamento rapido (hotfix) potrebbe essere eseguiti ulteriori test. Se non si Ŕ notevolmente interessati da questo problema, si consiglia pertanto di attendere il rilascio del prossimo service pack di .NET Framework 2.0 che contiene questo aggiornamento rapido (hotfix).

Per risolvere immediatamente questo problema, contattare il servizio di supporto clienti di Microsoft per ottenere l'hotfix. Per un elenco completo di numeri di telefono del supporto tecnico clienti Microsoft e per informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota in casi particolari, le spese normalmente addebitate per le chiamate al Servizio Supporto Tecnico Clienti Microsoft potrebbero essere annullate qualora un addetto del Supporto Tecnico Microsoft dovesse determinare che uno specifico aggiornamento risolverÓ il problema. I normali costi del Servizio Supporto Tecnico Clienti verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.

Prerequisiti

Non vi sono prerequisiti per questo aggiornamento rapido (hotfix).

NecessitÓ di riavvio

Non Ŕ necessario riavviare il computer dopo avere applicato questo aggiornamento rapido (hotfix).

Informazioni sulla sostituzione della correzione

Questo aggiornamento rapido (hotfix) non sostituisce eventuali altri hotfix.

Informazioni sui file

La versione di lingua inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e le ore per questi file sono indicati in UTC (Coordinated Universal Time). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello Data e ora nel Pannello di controllo.
.NET Framework 2.0, le versioni basate su 86 x
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
System.Data.dll2.0.50727.9482,903,55226-Ottobre 200703: 22x 86
.NET Framework 2.0-versioni basate su x 64
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
System.Data.dll2.0.50727.9482,969,60025-Ott-200722: 49x 64
System.Data.dll2.0.50727.9482,903,55226-Ottobre 200703: 22x 86
.NET Framework 2.0, le versioni di architettura Itanium
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
System.Data.dll2.0.50727.9483,111,93626-Ottobre 200700: 05IA-64
System.Data.dll2.0.50727.9482,903,55226-Ottobre 200703: 22x 86

Status

Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".

Informazioni

Per ulteriori informazioni sui problemi correlati, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
821268Un conflitto, scarse prestazioni e deadlock quando si effettuano le richieste di servizio Web da applicazioni ASP.NET
Per ulteriori informazioni sulla terminologia di aggiornamento software, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

ProprietÓ

Identificativo articolo: 944100 - Ultima modifica: martedý 15 aprile 2008 - Revisione: 2.0
Le informazioni in questo articolo si applicano a:
  • Microsoft .NET Framework 2.0
Chiavi:á
kbmt kbexpertiseadvanced kbexpertiseinter kbpubtypekc kbqfe kbfix KB944100 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 944100
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com