Mensagem de erro de ficheiro bloqueado ou de acesso negado quando guarda ficheiros na rede

BUG #: 40436 (WinSERaid2)IMPORTANTE: este artigo contém informações sobre como modificar o registo. Antes de modificar o registo, certifique-se de que efectua uma cópia de segurança e de que compreende como o pode restaurar se ocorrer um problema. Para obter informações sobre como efectuar uma cópia de segurança, restaurar e editar o registo, clique no número de artigo que se segue para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
256986 Descrição do registo do Microsoft Windows

Sintomas

Quando tenta guardar um ficheiro como, por exemplo, um livro do Microsoft Excel que foi aberto através de um caminho UNC (Universal Naming Convention), poderá receber uma mensagem de erro semelhante a uma das seguintes:
Não é possível ler o ficheiro. O ficheiro está bloqueado
Acesso Negado
Erro de Bloqueio
O Visualizador de Eventos poderá conter o seguinte evento:

Causa

Este problema ocorre quando o redireccionador elimina o conteúdo do ficheiro e escreve num identificador de ficheiro com acesso só de leitura em vez de num identificador de ficheiro com acesso de escrita. Quando o redireccionador recebeu uma quebra de bloqueio oportunista definida como nenhum, limpou a cache do ficheiro, mas não inicializou a mesma. O redireccionador também necessitou de limpar e anular a inicialização quando ocorreu o fim do conjunto de ficheiros, uma vez que a quebra de bloqueio oportunista é assíncrona. Uma vez que não inicializou a cache do ficheiro, escreveu no identificador de ficheiro incorrecto.

Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o Service Pack mais recente do Microsoft Windows XP. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
322389 Como obter o Service Pack mais recente do Windows XP

Informações sobre a correcção

A Microsoft tem já disponível uma correcção suportada para este problema. Contudo, esta correcção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde o próximo Service Pack que contenha esta correcção.

Para resolver este problema, submeta um pedido ao serviço de apoio a clientes online da Microsoft para obter a correcção. Para submeter um pedido online para obter a correcção, visite o seguinte Web site da Microsoft :Nota: caso ocorram problemas adicionais ou seja necessário efectuar algum procedimento para resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas e questões de suporte adicionais, não incluídos nesta correcção específica. Para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:
A versão inglesa desta correcção tem os atributos de ficheiro listados na seguinte tabela (ou posteriores). As datas e horas destes ficheiros são indicadas no formato de hora universal coordenada (UTC, Coordinated Universal Time). Ao visualizar as informações dos ficheiros, estas serão convertidas na hora local. Para determinar a diferença entre a hora UTC e a hora local, utilize o separador Huso horário da ferramenta Data e Hora do Painel de Controlo.

Windows XP SP1, Windows XP Tablet PC Edition

Data        Hora  Versão         Tamanho       Ficheiro 
--------------------------------------------------------------
30-Jan-2003 21:41 5.1.2600.1164 400,896 Mrxsmb.sys
30-Jan-2003 21:41 5.1.2600.1164 154,880 Rdbss.sys

Windows XP 64-Bit Edition

Data        Hora  Versão         Tamanho       Ficheiro 
-------------------------------------------------------------
30-Jan-2003 21:41 5.1.2600.1164 1,259,392 Mrxsmb.sys
30-Jan-2003 21:41 5.1.2600.1164 489,216 Rdbss.sys

Como contornar

AVISO: a utilização incorrecta do Editor de Registo poderá provocar problemas graves que poderão forçar a reinstalação do sistema operativo. A Microsoft não garante que os problemas resultantes da utilização incorrecta do Editor de Registo possam ser resolvidos. Todo e qualquer risco decorrente da utilização do Editor de Registo é da responsabilidade do utilizador.
Para contornar este problema, desactive o bloqueio oportunista no servidor de ficheiros:
  1. Clique em Iniciar e, em seguida, clique em Executar.
  2. Na caixa Abrir, escrevaregedit e prima ENTER.
  3. No Editor de Registo, localize a seguinte subchave:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\LanmanServer\Parameters
  4. No painel da direita, clique em EnableOplocks e prima ENTER.
  5. Na caixa Dados do valor, escreva 0 e prima ENTER.
  6. Saia do Editor de Registo.

Ponto Da Situação

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados no início deste artigo.
Este problema foi corrigido pela primeira vez no Microsoft Windows XP Service Pack 2.

Mais Informação

Para obter informações adicionais sobre o bloqueio oportunista, clique no número de artigo que se segue para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
296264 Configurar o Bloqueio Oportunista no Windows 2000
Um registo deste problema mostra que o ficheiro foi aberto pelo menos duas vezes e mostra a escrita incorrecta do sistema no identificador de ficheiro só de leitura. Um rastreio mostra que este problema é semelhante ao seguinte:
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

<conteúdo removido que mostra o programa cliente a ler e bloquear, mas que o ficheiro não é fechado>

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

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

<conteúdo removido que mostra o programa cliente a ler, bloquear, escrever e descarregar dados neste identificador de ficheiro>

585 CLIENT SMB: C write & X, FID = 0x5, Write 0xc00 at 0x00005000
PID = 0xFEFF TID = 0x1002 MID = 0x4400 UID = 0x0801
586 SERVER SMB: R write & X - NT error, System, Error, Code = (34) STATUS_ACCESS_DENIED
Nota O PID (process identifier) 0xFEFF na moldura 585 representa o processo do sistema cliente que está a utilizar o identificador de ficheiro só de leitura. Não mostra o programa cliente a escrever os dados no disco.
Propriedades

ID do Artigo: 812937 - Última Revisão: - Revisão: 1

Comentários