Nível Oplocks II não tem concedido depois de um ficheiro está bloqueado

Traduções de Artigos Traduções de Artigos
Artigo: 306981 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Nível oplocks II não são concedidas para um ficheiro que teve um intervalo de ficheiro bloqueado. Este comportamento ocorre até que todas as referências ao ficheiro são removidas, incluindo referências do sistema operativo, tais como a cache de ficheiros.

Este problema impede que os clientes da rede utilizem informações em cache ou leitura antecipada locais, que podem afectar o desempenho quando vários clientes de rede tentam detectar o ficheiro de dados.

Para obter mais informações sobre o comportamento de "oplock", consulte as Informações mais e referências secções deste artigo.

Causa

Este problema ocorre porque a arquitectura de sistema do ficheiro nos produtos listados no início deste artigo não fornecem um mecanismo para sincronizar bloqueios de ficheiros e oplocks. Não como resultado, nível II oplocks é possível com segurança conceder para um determinado ficheiro depois de um bloqueio de ficheiros foi concedido para esse ficheiro.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo.

Mais Informação

Não pode remover as restrições descritas em níveis de oplock grantable sem alteratering o kernel do sistema e o toolkit de sistema de ficheiros instalável (IFS, Installable File System). Isto requer redevelopment e nova implementação de todos os sistemas de ficheiros (NTFS, CDFS, FastFat, UDFS e assim sucessivamente, incluindo os sistemas de ficheiros fornecidas por terceiros). O impacto destas alterações estão no âmbito de correcções e service packs para os sistemas operativos existentes.

Passos para reproduzir o problema

Os passos seguintes requerem um servidor baseado no Windows 2000 e duas Windows NT ou clientes baseados no Windows 2000.
  1. 1 Cliente abre o ficheiro, partilha e pedir acesso de leitura e escrita. Por exemplo, este código gera NT_CREATE_ANDX SMB para o servidor:
    HANDLE h = CreateFile( "\\server\share\filename.ext",
                           GENERIC_WRITE | GENERIC_READ,
                           FILE_SHARE_WRITE | FILE_SHARE_READ,
                           0, OPEN_EXISTING,
                           FILE_ATTRIBUTE_NORMAL, 0 );
    					
  2. O servidor responde ao cliente 1 com NT_CREATE_ANDX SMB com o nível de oplock definido para "Batch".
  3. Cliente 2 abre o ficheiro, partilha e pedir acesso de leitura e escrita.
  4. O servidor envia LOCKING_AND_X SMB para 1, o cliente com o sinalizador de Quebra de bloqueio definido.
  5. O servidor responde ao cliente 2 com NT_CREATE_ANDX SMB com o nível de "oplock" definido como "II".
  6. Cliente 2 pede um bloqueio exclusivo relativamente ao ficheiro. Por exemplo, este código gera LOCKING_ANDX SMB para o servidor:
    OVERLAPPED o = { NULL, NULL, 0, 0, NULL };
    LockFileEx( h, LOCKFILE_EXCLUSIVE_LOCK, 0, 0, 0, &o );
    					
  7. O servidor notifica o cliente 1 e o cliente 2 do bloqueio (LOCKING_ANDX SMB).
  8. Cliente 1 e 2 do cliente feche o ficheiro.
  9. 1 Cliente abre o ficheiro, partilha e pedir acesso de leitura e escrita.
  10. O servidor responde ao cliente 1 com NT_CREATE_ANDX SMB com o nível de oplock definido para "Batch".
  11. Cliente 2 abre o ficheiro, partilha e pedir acesso de leitura e escrita.
  12. O servidor envia LOCKING_AND_X SMB para 1, o cliente com o sinalizador de Quebra de bloqueio definido.
  13. O servidor responde ao cliente 2 com NT_CREATE_ANDX SMB com o nível de oplock definido para "Nenhum".

Referências

Para obter informações adicionais sobre bloqueios oportunistas, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
129202Extensão de PC: Explicação de bloqueio oportunista no Windows NT

Propriedades

Artigo: 306981 - Última revisão: 1 de dezembro de 2007 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Professional SP1
  • Microsoft Windows 2000 Professional SP2
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT 4.0 Service Pack 1
  • Microsoft Windows NT 4.0 Service Pack 2
  • Microsoft Windows NT 4.0 Service Pack 3
  • Microsoft Windows NT 4.0 Service Pack 4
  • Microsoft Windows NT 4.0 Service Pack 5
  • Microsoft Windows NT 4.0 Service Pack 6
  • Microsoft Windows NT 4.0 Service Pack 6a
Palavras-chave: 
kbmt kbfile kbnofix kbprb KB306981 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 306981

Submeter comentários

 

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