Messaggio di errore di blocco dei file o accesso negato durante il salvataggio di file in rete

BUG #: 40436 (WinSERaid2)IMPORTANTE: in questo articolo sono contenute informazioni su come modificare il Registro di sistema. Prima di modificare il Registro di sistema, eseguire una copia di backup e assicurarsi di sapere come ripristinarlo in caso di problemi. Per ulteriori informazioni su come eseguire il backup, ripristinare e modificare il Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
256986 Description of the Microsoft Windows Registry

Sintomi

Quando si tenta di salvare un file, ad esempio una cartella di lavoro di Microsoft Excel, che è stato aperto utilizzando un percorso UNC (Universal Naming Convention), è possibile che venga visualizzato un messaggio di errore analogo a uno dei seguenti:
Impossibile leggere il file. Il file è bloccato.
Accesso negato.
Errore di blocco.
Nel Visualizzatore eventi potrebbe essere registrato il seguente evento:

Cause

Questo problema si verifica quando il redirector svuota il contenuto del file e scrive in un handle di file con accesso in sola lettura anziché in scrittura. Se il redirector ha ricevuto un'interruzione oplock impostata su None, ha cancellato la cache per il file senza deinizializzarla. Il redirector avrebbe dovuto anche effettuare l'eliminazione e la deinizializzazione al raggiungimento della fine del file specificata poiché l'interruzione oplock è asincrona. Non avendo deinizializzato la cache per il file, ha scritto nell'handle di file errato.

Risoluzione

È disponibile una correzione supportata da Microsoft, che è tuttavia destinata esclusivamente alla correzione del problema descritto in questo articolo. Utilizzarla solo nei sistemi in cui si verifica questo problema specifico. È possibile che la correzione venga sottoposta ad altre verifiche allo scopo di migliorare ulteriormente la qualità del prodotto. Se dunque questo problema non causa gravi difficoltà, si consiglia di attendere la versione successiva del Service Pack 2 di Windows XP contenente tale correzione.

Per risolvere immediatamente il problema, contattare il Servizio Supporto Tecnico Clienti Microsoft per ottenere la correzione. Per un elenco completo dei numeri di telefono del Servizio Supporto Tecnico Clienti Microsoft (PSS) e per informazioni sui costi dell'assistenza, visitare il sito Web Microsoft all'indirizzo: Nota In casi particolari, le spese normalmente addebitate per le chiamate al Servizio Supporto Tecnico Clienti Microsoft potrebbero essere annullate qualora un addetto del Servizio Supporto Tecnico Clienti 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.

La versione in lingua inglese di questa correzione ha gli attributi di file elencati nella tabella seguente (o attributi successivi). Date e ore elencate di seguito sono espresse in UTC. Quando si visualizzano le informazioni sul file, l'ora viene convertita in ora locale. Per calcolare la differenza tra l'ora UTC e quella locale, utilizzare la scheda Fuso orario dello strumento Data e ora del Pannello di controllo.
Windows XP SP1, Windows XP Tablet PC Edition

Data Ora Versione Dimensione Nome file
--------------------------------------------------------
30/01/2003 21.41 5.1.2600.1164 400.896 Mrxsmb.sys
30/01/2003 21.41 5.1.2600.1164 154.880 Rdbss.sys

Windows XP 64-Bit Edition

Data Ora Versione Dimensione Nome file
--------------------------------------------------------
30/01/2003 21.41 5.1.2600.1164 1.259.392 Mrxsmb.sys
30/01/2003 21.41 5.1.2600.1164 489.216 Rdbss.sys

Workaround

AVVISO: l'errato utilizzo dell'editor del Registro di sistema può causare gravi problemi che potrebbero richiedere la reinstallazione del sistema operativo. Microsoft non è in grado di garantire la risoluzione di problemi causati dall'errato utilizzo dell'editor del Registro di sistema. L'utilizzo dell'editor del Registro di sistema è a rischio e pericolo dell'utente.

Per risolvere il problema, disattivare il blocco opportunistico sul file server:
  1. Fare clic sul pulsante Start, quindi scegliere Esegui.
  2. Nella casella Apri digitare regedit e premere INVIO.
  3. Nell'editor del Registro di sistema trovare la seguente chiave di registro:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\LanmanServer\Parameters
  4. Nel riquadro di destra fare clic su EnableOplocks, quindi premere INVIO.
  5. Nella casella Dati valore digitare 0 e premere INVIO.
  6. Chiudere l'editor del Registro di sistema.

Status

Microsoft ha confermato che questo problema si verifica con i prodotti elencati nella sezione "Si applica a..." di questo articolo.

Informazioni

Per ulteriori informazioni sul blocco opportunistico, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
296264 Configuring Opportunistic Locking in Windows 2000
Una traccia di questo problema mostra che il file viene aperto almeno due volte e mostra il sistema che scrive erroneamente nell'handle di file in sola lettura. Di seguito è riportato un esempio di traccia che mostra questo problema:
96  CLIENT SMB: C NT create & X, File = \newshare.xls SMB: Desired Access = 0x00020089 (Read Data,Read EA,Read Attributes) 97  SERVER SMB: R NT create & X, FID = 0x5 SMB: Oplock Level = Batch

<content removed that displays the client program reading and locking the file, but the file is not closed>

450 CLIENT SMB: C NT create &amp; X, File = \newshare.xls SMB: Desired Access = 0x0002019F (Read/Write Data, Read/Write EA, Read/Write Attributes)

451 SERVER SMB: R NT create &amp; X, FID = 0xc007 SMB: Oplock Level = NONE

<content removed that displays the client program reading, locking, writing and flushing data on this file handle>

585 CLIENT SMB: C write &amp; X, FID = 0x5, Write 0xc00 at 0x00005000 PID = 0xFEFF TID = 0x1002 MID = 0x4400 UID = 0x0801 586 SERVER SMB: R write &amp; X - NT error, System, Error, Code = (34) STATUS_ACCESS_DENIED
Nota L'identificativo del processo (PID) di 0xFEFF nel frame 585 rappresenta il processo del sistema client che utilizza l'handle di file in sola lettura. Non è riferito al programma client che scrive i dati sul disco.
Proprietà

ID articolo: 812937 - Ultima revisione: - Revisione: 1

Feedback