Quando si utilizza un handle di file per l'accesso di FileStream in una transazione di SQL Server 2008, la transazione in modo casuale non eseguire il commit in Windows Server 2003 o in Windows XP Professional x 64 Edition

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

In questa pagina

Sintomi

In un computer che esegue Windows Server 2003 o Windows XP Professional x 64 Edition, quando si utilizza l'API OpenSqlFilestream o la classe .NET SqlFilestream per ottenere un handle di file per l'accesso FileStream in una transazione in Microsoft SQL Server 2008, la transazione in modo casuale non eseguire il commit. Quando si verifica questo problema, nel file di log degli errori di SQL Server viene registrato uno dei seguenti errori:
  • 3910 (Contesto di transazione in uso da un'altra sessione)
  • 3981 (L'operazione di transazione non pu˛ essere eseguita perchÚ vi sono richieste lavorando operazione in sospeso)
  • 3922 (Non partecipano la transazione perchÚ la transazione non esiste)
La causa di questo problema non Ŕ correlata alla funzionalitÓ FILESTREAM in SQL Server 2008. Tuttavia, in genere verificarsi questo problema quando si utilizza la funzionalitÓ FILESTREAM in SQL Server 2008.

Cause

Questo problema si verifica a causa di un errore nel servizio Server. Il servizio server in modo errato i ritardi di chiusura del file di gestire. Pertanto, SQL Server 2008 Impossibile eseguire le operazioni di commit.

Risoluzione

Informazioni sull'hotfix

Windows Server 2003

╚ 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 successivo aggiornamento di software 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
Per applicare questo aggiornamento rapido (hotfix), Ŕ necessario essere in esecuzione Windows Server 2003 Service Pack 1, Windows Server 2003 Service Pack 2, Windows XP Professional x 64 Edition o Windows XP Professional x 64 Edition Service Pack 2 nel computer.
NecessitÓ di riavvio
╚ necessario riavviare il computer dopo avere applicato questo aggiornamento rapido (hotfix).
Informazioni sulla sostituzione della correzione
Questo aggiornamento rapido (hotfix) non sostituisce un aggiornamento rapido precedentemente rilasciato.
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.

Windows Server 2003 con Service Pack 1, versioni x 86
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
SRV.sys5.2.3790.3177361,47218 Luglio 200810: 15x 86

Windows Server 2003 con Service Pack 1 , x 64 -base versioni
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
SRV.sys5.2.3790.3177674,81621 Luglio 200807: 32x 64
Windows Server 2003 con Service Pack 1, versioni basate su Itanium
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
SRV.sys5.2.3790.31771,110,52821 Luglio 200807: 32IA-64

Windows Server 2003 con Service Pack 2, versioni x 86
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
SRV.sys5.2.3790.4337358,40018 Luglio 200812: 04x 86

Windows Server 2003 con Service Pack 2, versioni x 64
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
SRV.sys5.2.3790.4337648,19221 Luglio 200814: 57x 64

Windows Server 2003 con Service Pack 2, versioni basate su Itanium
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
SRV.sys5.2.3790.43371,111,55221 Luglio 200814: 54IA-64

Windows XP Professional x 64 Edition

╚ 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 successivo aggiornamento di software 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
Per applicare questo aggiornamento rapido (hotfix), Ŕ necessario essere in esecuzione Windows XP Professional x 64 Edition o Windows XP Professional x 64 Edition Service Pack 2 nel computer.
NecessitÓ di riavvio
╚ necessario riavviare il computer dopo avere applicato questo aggiornamento rapido (hotfix).
Informazioni sulla sostituzione della correzione
Questo aggiornamento rapido (hotfix) non sostituisce un aggiornamento rapido precedentemente rilasciato.
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.

Windows XP Professional x 64 Edition
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
SRV.sys5.2.3790.3177674,81621 Luglio 200807: 32x 64

Windows XP Professional x 64 Edition con Service Pack 2
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
SRV.sys5.2.3790.4337648,19221 Luglio 200814: 57x 64

Workaround

importante Questa sezione, metodo o l'attivitÓ sono contenute procedure viene illustrato come modificare il Registro di sistema. Tuttavia, possono causare seri problemi se si modifica il Registro di sistema in modo errato. Pertanto, assicurarsi che questa procedura con attenzione. Per maggiore protezione, Ŕ eseguire il backup del Registro di sistema prima di modificarlo. ╚ quindi possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni su come eseguire il backup e ripristino del Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
322756Come eseguire il backup e il ripristino del Registro di sistema in Windows
avviso Questa soluzione alternativa generano un problema di prestazioni quando si opera su file condivisi nel sistema.


Per aggirare il problema, impostare il valore della voce del Registro di sistema Cachedopenlimit su 0 e quindi riavviare il servizio Server. Per effettuare questa operazione, attenersi alla seguente procedura:
  1. Nell'editor del Registro di sistema individuare la seguente sottochiave:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanserver\Parameters
  2. Nella sottochiave Parameters del Registro di sistema, fare clic su Modifica , fare clic su Nuovo , fare clic su Valore DWORD , digitare Cachedopenlimit e quindi premere INVIO.
  3. Impostare il valore decimale della voce del Registro di sistema Cachedopenlimit su 0 .
  4. Riavviare il servizio Server.
Nota Per impostazione predefinita, il valore della voce del Registro di sistema Cachedopenlimit Ŕ 5 , anche se non Ŕ stata impostata.

avviso Quando si imposta il valore su 0 , handle di file di tutti i file condivisi vengono memorizzate nella non cache dal sistema. Ci˛ pu˛ causare un problema di prestazioni quando si accede a file condivisi nel sistema.

Status

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

Informazioni

Questo problema si di verifica anche in Windows Server 2008 e in Windows XP le versioni basate su 86 x. Per ulteriori informazioni su questo problema in Windows Server 2008, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
953263Quando si utilizza un'istruzione Transact-SQL per operare su una colonna FILESTREAM di SQL Server 2008, l'istruzione in modo casuale non venga commit e causare il danneggiamento dei dati in Windows Server 2008
Per ulteriori informazioni su questo problema in Windows XP, versioni basate su 86 su x, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
955567Danneggiamento dei dati pu˛ verificarsi quando si tenta di aggiungere dati a una FILESTREAM varbinary (max) colonna SQL Server 2008 in un computer
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

Quando utilizzare l'archiviazione FILESTREAM

In SQL Server 2008, i dati di oggetto binario di grandi dimensioni (BLOB) possono essere i dati di tipo varbinary (max) che memorizza i dati nelle tabelle di database. I dati BLOB possono anche essere i dati di tipo Varbinary (max) FILESTREAM che memorizza i dati nel file system. Le dimensioni di dati e l'utilizzo di dati determinare se Ŕ necessario utilizzare l'archiviazione dei database l'archiviazione FILESTREAM . ╚ necessario considerare utilizzando l'archiviazione FILESTREAM quando sono vere le seguenti condizioni:
  • In Media, i dati BLOB Ŕ memorizzare sono maggiori di 1 megabyte (MB).
  • Accesso rapido lettura Ŕ importante.
  • Si sviluppano le applicazioni che utilizzano un livello intermedio per la logica dell'applicazione.
Se i dati BLOB sono minore di 1 MB, si consiglia di utilizzare l'archiviazione dei database. L'archiviazione dei database Ŕ spesso offre prestazioni pi¨ flussi.

Per ulteriori informazioni, visitare il seguente sito Web MSDN (informazioni in lingua inglese):
http://msdn.microsoft.com/en-us/library/bb933993.aspx

ProprietÓ

Identificativo articolo: 955280 - Ultima modifica: martedý 13 gennaio 2009 - Revisione: 2.0
Le informazioni in questo articolo si applicano a:
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows XP Professional x64 Edition
Chiavi:á
kbmt kbexpertiseadvanced kbfix kbautohotfix kbsurveynew kbqfe kbhotfixserver KB955280 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: 955280
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