Como manter o banco de dados do Jet 4.0 em perfeitas condições de funcionamento no Access 2000

Traduções deste artigo Traduções deste artigo
ID do artigo: 300216 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Por padrão, o Microsoft Jet é o mecanismo de banco de dados usado pelo Microsoft Access. Este artigo fornece uma lista de melhores práticas que pode ser usada para ajudar a manter o banco de dados do Jet em perfeitas condições de funcionamento. Este artigo endereça um banco de dados que é executado tanto em um ambiente de usuário único quanto um ambiente com vários usuários.

PRÁTICAS RECOMENDADAS

Esta seção aplica-se a todos os bancos de dados do Jet, mesmo que você seja um usuário exclusivo do banco do dados ou que o banco de dados seja usado por vários usuários em uma rede.

Verificar se o último Service Pack do sistema operacional está instalado

Instale o service pack mais recente do sistema operacional. Isso garantirá que você tenha as últimas correções.

Para verificar se você tem os service packs mais recentes instalados em seu sistema operacional, visite o seguinte site da Microsoft:
http://update.microsoft.com/windowsupdate/v6/default.aspx?ln=pt-br
Se estiver em um ambiente de rede, é importante verificar se o servidor de arquivos de rede tem o último service pack do sistema operacional para garantir que ele tenha as últimas correções de problemas do redirecionador de rede e do sistema de arquivos.

Periodicamente, a Microsoft fornece service packs e atualizações para o 2000 para garantir o melhor desempenho e a melhor interoperabilidade com outros programas. Essas atualizações estão disponíveis para download gratuito ao visitar o Site de atualização do Office em http://office.microsoft.com. Utilize a opção Verificar se há atualizações para analisar o conteúdo do computador em busca de atualizações ausentes.

Verificar se o último Service Pack do Microsoft Jet está instalado

Instale o service pack mais recente do Microsoft Jet. Isso garante que você tenha as últimas correções para o Microsoft Jet. Para fazer o download do Service Pack mais recente do Jet 4.0, consulte o seguinte artigo na Base de Dados de Conhecimento:
239114 Como obter o service pack mais recente para o Mecanismo de banco de dados do Microsoft Jet 4.0
Se estiver trabalhando em um ambiente de rede, você deverá instalar o service pack mais recente do Microsoft Jet em todos os computadores clientes. Não é necessário instalar o service pack do Microsoft Jet no servidor de arquivos de rede a menos que ele também execute um ou mais aplicativos que utilizem o Microsoft Jet.

Utilizar um design eficiente de banco de dados

O desempenho do banco de dados pode ser aperfeiçoado através da eficiência da sua estrutura. Isso também ajuda a reduzir a possibilidade de o arquivo ser corrompido. Para obter mais informações sobre as melhores práticas para projetar um banco de dados, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
288947 Como encontrar informações sobre como projetar um banco de dados no Access 2000

Utilizar um formato de arquivo compatível do banco de dados do Jet para a versão do Jet Engine em uso

Para obter um melhor desempenho e estabilidade, utilize um banco de dados no formato do Microsoft Jet 4.0 ao usar clientes Microsoft Jet 4.0. Da mesma forma, use um banco de dados do formato do Microsoft Jet 3.0 quando você está usando clientes Microsoft Jet 3.5, e assim por diante.

Aqui está uma tabela de formatos Jet disponíveis atualmente e qual 'dll' de tradução é usada (se houver) para falar com este formato ao usar um cliente Microsoft Jet 4.0:

   Versão do Access	Formato do Jet    Tradutor Dll usado
   --------------	----------    -------------------
    Access 2.0    	Jet 2.0       msrd2x40.dll
    Access 95     	Jet 3.0       msrd2x40.dll
    Access 97     	Jet 3.0       msrd2x40.dll
    Access 2000   	Jet 4.0       Nenhuma
    Access 2002 	Jet 4.0       Nenhuma
				
Este gráfico mostra que o Microsoft Access 95 e o Access 97 criam um arquivo de banco de dados do formato do Microsoft Jet 3.0. Access 2000 e Access 2002 criam um arquivo de banco de dados do formato do Microsoft Jet 4.0. Se você está usando um cliente do Microsoft Jet 4.0, utilize um arquivo de banco de dados do formato do Microsoft Jet 4.0 para evitar usar uma dll de tradução. E ainda, se você está usando um cliente Microsoft Jet 3.5, é melhor usar um banco de dados do formato do Microsoft Jet 3.0.

Eis uma lista de mecanismos de clientes de bancos de dados do Microsoft Jet normalmente usados e a versão do mecanismo Jet usados por eles:

   Aplicação Cliente 	       Mecanismo Jet usado    Formato recomendado do Jet DB
   -------------------------   ---------------    -------------------------
    Access 2.0                       Jet 2.0             Jet 2.0
    Access 95                       Jet 3.0             Jet 3.0
    Access 97                       Jet 3.5             Jet 3.0
    Access 2000                       Jet 4.0             Jet 4.0
    Access 2002                       Jet 4.0             Jet 4.0
    DAO 3,0                          Jet 3,0             Jet 3.0
    DAO 3.5                          Jet 3.5             Jet 3.0
    Access 3.6                       Jet 4.0             Jet 4.0
    Microsoft.JET.OLEDB.3.51         Jet 3.5             Jet 3.0
    Microsoft.JET.OLEDB.3.51         Jet 4.0             Jet 4.0
    Access ODBC Driver*              Jet 4.0             Jet 4.0
				
Observação O driver ODBC do Microsoft Access incluído no MDAC 2.0 ou anterior usa o Microsoft Jet 3.5. O driver de ODBC do Microsoft Access que é incluído no MDAC 2.1 ou anterior usa o Microsoft Jet 4.0. O MDAC 2.6 e versões posteriores não incluem o driver de ODBC do Microsoft Access.

Em certas situações (por exemplo, quando há aplicativos novos e antigos do Jet compartilhando o mesmo arquivo de banco de dados), pode não ser possível usar o formato mais recente do arquivo de banco de dados do Jet. Isso ocorre porque os mecanismos mais antigos não conseguem ler ou gravar em um formato de arquivo de banco de dados mais novo. Neste caso, tem que usar o formato mais antigo e usar as Dll´s de tradução.

Evitar o uso de palavras e de caracteres reservados para nomes de objeto e de campo

Evite o uso de palavras e de caracteres reservados para nomes de objetos e de campos no banco de dados. Em algumas situações, palavras ou caracteres reservados usados sozinhos ou em combinação com outras palavras mas contornados por espaços podem resultar em corrupção do banco de dados. Para obter mais informações sobre palavras e caracteres reservados no Microsoft Access, clique nos números abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft (alguns artigos podem estar em inglês):
209187 Lista de palavras reservadas no Access 2000
296857 Não é possível abrir ambiente do Visual Basic a partir de exibição de design de um objeto de banco de dados
Para obter mais informações sobre palavras e caracteres reservados, clique em Ajuda do Microsoft Access no menu Ajuda, digite Palavras reservadas no mecanismo de banco de dados SQL do Microsoft Jet no Assistente do Office ou no Assistente de respostas e clique em Pesquisar para exibir os tópicos retornados.

Compactar periodicamente o banco de dados do Microsoft Jet

Partes do banco de dados podem ficar fragmentadas caso sejam feitas alterações freqüentes nele. Portanto, é uma boa idéia executar periodicamente o utilitário Compactar banco de dados no Microsoft Access. Se não tiver uma cópia do Microsoft Access, você poderá ainda compactar o banco de dados usando o utilitário JetComp.

Para obter mais informações sobre como obter o utilitário JetComp para Microsoft Jet 4.0, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
273956 Utilitário Jet Compact disponível no Centro de Download
O agendamento de compactação depende de quanto os dados são alterados. Se os dados não se alteram freqüentemente, você não necessita compactar tanto. Se houver muitas e freqüentes atualizações, inserções e exclusões, compacte mais. Mesmo que não exista uma regra formal da freqüência de compactar, a Microsoft recomenda que você compacte numa base regular.

Os próximos parágrafos explicam com mais detalhes o processo de compactação usado pelo Microsoft Jet. Para obter uma explicação geral adicional sobre como compactar um banco de dados, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
209769 Desfragmentar e compactar banco de dados para melhorar o desempenho
O mecanismo Microsoft Jet trata um arquivo de banco de dados do Microsoft Access como uma série de blocos de 4096 bytes, da mesma maneira que um arquivo típico trata os dados no disco rígido. O conjunto completo de registros em uma tabela do Microsoft Jet é armazenado por séries desses blocos, cada bloco apontando para o próximo bloco. Cada bloco pode conter um ou mais registros, dependendo de quantos campos e qual a quantidade de dados em cada registro. Com o passar do tempo, quando os registros forem adicionados e excluídos da tabela, os blocos da tabela ficarão fragmentados dentro do arquivo de banco de dados.

Compactar um banco de dados do Microsoft Jet "desfragmenta" esses blocos e tenta colocar cada tabela em um intervalo de blocos contíguo. Isto melhora o desempenho de leitura e gravação na tabela.

Os índices em um banco de dados do Microsoft Access também são armazenados em blocos de 4096 bytes e podem ser fragmentados da mesma maneira que os registros da tabela.

Ao compactar um banco de dados do Microsoft Jet, o Jet atualiza a tabela de estatísticas armazenada no banco de dados. Uma estatística de tabela chave é o número de registros numa tabela. Se o número de registros nas estatísticas da tabela diferem muito do número de registros atuais na tabela, o desempenho pode não ser tão bom. Por exemplo, se a estatística da tabela indicar que há um número pequeno de registros na tabela, o otimizador do mecanismo de banco de dados do Jet não usará quaisquer índices na tabela ao executar buscas ou entradas. Se realmente existir um pequeno número de registros, será, de fato, mais eficiente. Mas se houver um número muito grande de registros, isto pode se tornar extremamente ineficiente. O conceito chave aqui é que se for adicionado, excluído e atualizado um número muito grande de registros, será melhor compactar o banco de dados com mais freqüência.

O Microsoft Jet também otimizará novamente as consultas armazenadas no banco de dados durante a compactação para refletir a estatística atualizada da tabela. Então, o desempenho da consulta armazenada pode também ser melhorado por compactação mais freqüente.

Fazer backup do arquivo de banco de dados do Microsoft Jet regularmente

É melhor escolher um agendamento de backup que corresponda à quantidade de dados que você pode perder. Por exemplo, se você não pode perder mais que a quantidade de trabalho de um dia de trabalho, faça backup numa base diária. Se você pode perder a quantidade de trabalho de uma semana de trabalho, faça backup semanalmente, e assim por diante. Um backup de arquivo de banco de dados completo é a melhor maneira de garantir que você pode recuperar o seu arquivo de banco de dados do Microsoft Jet se ocorrer corrupção.

Importante Se você estiver em um ambiente de rede, é necessário desligar todos os clientes Microsoft Jet antes de fazer o backup do arquivo de banco de dados do Microsoft Access. Caso contrário, o arquivo de backup criado poderá ter dados incompletos ou inconsistentes. Teste os backups regularmente para verificar se estão em bom funcionamento.

PRÁTICAS RECOMENDADAS ADICIONAIS PARA AMBIENTES DE REDE

O Microsoft Jet é um sistema de banco de dados de arquivo compartilhado. Um banco de dados de arquivo compartilhado é um modelo em que todo o processamento do arquivo acontece no cliente. Quando um banco de dados de arquivo compartilhado, como o Microsoft Jet, é usado em um ambiente multiusuário, processos de múltiplos clientes estão usando operações de leitura, gravação e bloqueio no mesmo arquivo compartilhado através da rede. Se, por algum motivo, um processo não puder ser completado, o arquivo poderá ficar em um estado incompleto ou corrompido. Dois exemplos de quando um processo pode não ser completado é quando um cliente é terminado inesperadamente ou quando uma conexão de rede para um servidor é derrubada.

O Microsoft Jet não tem objetivo de ser usado em aplicações de alto-estresse, de alta-concorrência e de disponibilidade de 24x7, como servidores da Web, de comércio eletrônico, transacionais e de mensagem. Para esses tipos de aplicações, a melhor solução é trocar por um sistema realmente baseado em cliente/servidor como o Microsoft Data Engine (MSDE) ou o Microsoft SQL Server. Quando você usa o Microsoft Jet em aplicações de alto-estresse como o Microsoft Internet Information Server (IIS), os clientes tem relatado corrupção do banco de dados, problemas de estabilidade como falha do IIS ou travamento, e também falha súbita e persistente do driver para conectar a um banco de dados válido que requer reinicialização do serviço do IIS.

A lista a seguir traz recomendações a serem seguidas ao compartilhar um arquivo de banco de dados do Microsoft Jet (Microsoft Access) em um servidor de arquivos de rede.


Bloqueio oportuno (oplocks) no servidor de arquivo de rede

A Microsoft descobriu um problema onde um bloqueio oportuno pode aumentar o risco de corrupção do banco de dados Jet quando o arquivo é compartilhado por dois ou mais clientes em um servidor de arquivos de rede. Este problema se aplica aos servidores de arquivos do Microsoft Windows NT 4.0, Microsoft Windows 2000 e Novell que suportam bloqueio oportuno. Este problema também se aplica aos clientes que estão executando o Microsoft Windows NT 4.0, Microsoft Windows 2000 ou Microsoft Windows XP, e que se conectam a um servidor de arquivo que suporte bloqueio oportuno.

Windows 2000

Para reduzir as chances de este problema em computadores executando o Windows 2000, é necessário instalar o Windows 2000 Service Pack 4 (SP4) no servidor de arquivos do Windows 2000 onde o arquivo de banco de dados do Access está localizado e também em cada computador cliente do Windows 2000 conectado ao servidor de arquivos do Windows 2000. Para obter mais informações sobre como obter e como é possível instalar o Windows 2000 SP4, clique no seguinte número para o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
260910 Como obter o service pack mais recente do Windows 2000
Se você tem clientes Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows Millennium Edition (Me) ou Microsoft Windows NT 4.0, não é necessário instalar o service pack mencionado no artigo Q260910 da Base de Dados de Conhecimento Microsoft (a página pode estar em inglês).

Windows XP

Para evitar o problema em computadores executando o Windows XP, instale a atualização de segurança mencionada no seguinte artigo na Base de Dados de Conhecimento Microsoft em cada computador cliente do Windows XP que se conecte ao servidor de arquivos onde o banco de dados do Access está localizado.
329170 MS02-070: Falha na assinatura SMB pode permitir que diretiva de grupo seja modificada
Se você tem clientes Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows Millennium Edition (Me) ou Microsoft Windows NT 4.0, não é necessário instalar o service pack mencionado no artigo 3291700 da Base de Dados de Conhecimento Microsoft (a página pode estar em inglês).

Desativar o bloqueio oportuno

Se estiver usando o Windows NT 4.0, não será possível instalar o Windows 2000 SP4 e a atualização de segurança do Windows XP, ou se você instalou o Windows 2000 SP4 e a atualização de segurança do Windows XP, mas se ainda houver corrupção freqüente, é possível desabilitar o travamento oportuno para evitar o problema.

IMPORTANTE: Desativar o bloqueio oportuno pode afetar adversamente o desempenho de outras aplicações. Se você tem questões sobre isso, contate o suporte técnico do Microsoft Windows.

Para obter mais informações sobre como desabilitar travamento oportuno no Windows NT 4.0, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
129202 PC Ext: Explicação de travamento oportuno no Windows NT
Para obter mais informações sobre como desabilitar travamento oportuno no Windows 2000, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
296264 Configurando travamento oportuno no Windows
Para desabilitar o bloqueio oportuno em um servidor de arquivos Novell, a Microsoft recomenda que você entre em contato com o suporte técnico da Novell. Para obter informações sobre como entrar em contato com a Novell, clique no número correspondente na seguinte lista para ler o artigo na Base de Dados de Conhecimento Microsoft (alguns artigos podem estar em inglês):
65416 Informações para contato com fornecedores de hardware e software, de A a K

60781 Informações para contato com fornecedores de hardware e software, de L a P

60782 Informações para contato com fornecedores de hardware e software, de Q a Z
A Microsoft fornece informações para contato com terceiros para ajudá-lo a encontrar suporte técnico. Estas informações podem ser alteradas sem aviso prévio. A Microsoft não garante a precisão destas informações.


Questões que devem ser consideradas ao compartilhar um banco de dados do Microsoft Jet

Se puder, não compartilhe um arquivo do banco de dados do Microsoft Jet armazenado em um compartilhamento de arquivo com o Microsoft Windows 95, o Microsoft Windows 98 ou o Microsoft Windows Millennium Edition (Me) com clientes com o Windows NT ou o Windows 2000. Quando você tem uma mistura de computadores em uma rede com alguns computadores executando o Windows 95, Windows 98 ou o Windows Me e alguns executando o Windows NT ou Windows 2000 e é necessário compartilhar o banco de dados com outros usuários da rede, a Microsoft aconselha que você armazene e compartilhe o arquivo do banco de dados em um servidor Windows NT ou Windows 2000 com bloqueio oportuno desabilitado. A corrupção pode ocorrer se tiver computadores clientes Windows NT ou Windows 2000 que compartilham um arquivo que está armazenado em um compartilhamento de arquivo do Windows 95, do Windows 98 ou do Windows Me. Isto pode ocorrer mesmo que o cliente Windows NT ou Windows 2000 tenha o bloqueio oportuno desativado. Este problema está ainda sob investigação, e a Microsoft irá postar informações adicionais neste artigo quando estiverem disponíveis.

Utilizar um servidor de arquivo robusto

Verifique se possui um servidor de arquivos robusto que pode lidar com a quantidade de usuários e solicitações feitas ao arquivo do banco de dados do Microsoft Jet. Além disso, certifique-se de que o servidor de arquivos não fique sobrecarregado com o controle de muitos outros processos como, por exemplo, atuar como Controlador de domínio do Windows, Exchange Server e SQL Server. A razão para essa recomendação é que um administrador de rede, ou outro gerenciador do servidor, pode reiniciar o computador para corrigir um problema com outro serviço importante (como o servidor de correio) ou pode reiniciar após a aplicação de um novo software, um service pack ou um hotfix e, esquecer que o banco de dados do Microsoft Jet esteja atualmente compartilhado no servidor. Reinicializar o servidor de arquivo provocará interrupção inesperada nas conexões do cliente ao banco de dados e pode causar corrupção do banco de dados. Para evitar essa conexão de cliente interrompida, todos os clientes devem fechar o banco de dados antes que o servidor de arquivos seja reinicializado ou, antes que as atualizações de software sejam aplicadas ao servidor de arquivo.

Um servidor de arquivo robusto deve também ser colocado em um local seguro onde não seja, acidentalmente, desligado da energia. O servidor deve ter um UPS (Uninterrupted Power Supply) para protegê-lo de interrupções intermitentes ou flutuações de energia. O servidor de arquivos de rede também deve ter um disco rígido de alto desempenho, uma boa placa de rede e muita memória RAM para garantir que o servidor possa controlar a carga recebida.

Verificar a conectividade de rede

Verifique se possui uma rede rápida e estável com uma conectividade sólida com o servidor de arquivos de rede. Evite usar o Microsoft Jet numa WAN, uma conexão de modem, FTP (ou qualquer outro transporte de rede menos confiável). Por causa do Microsoft Jet ser um sistema de banco de dados de arquivo compartilhado, qualquer transporte de rede menos confiável aumenta as chances de um cliente ser derrubado. Isto pode aumentar as chances de corrupção de banco de dados.

Minimizar o número de conexões feitas de cada cliente

Se puder, projete cada cliente para usar somente uma conexão com o banco de dados do Microsoft Jet. Cada conexão a um banco de dados Jet representa um cliente independente no banco de dados, mesmo quando essas conexões vem do mesmo processo de cliente. Para otimizar o desempenho e a E/S de rede e reduzir a carga de multiusuários no banco de dados final, estruture a aplicação de cliente para usar uma conexão única ao banco de dados do Jet e compartilhar essa conexão por meio de vários conjuntos de registros conforme necessário. Isto tem o benefício adicional de evitar atrasos de leitura/gravação na aplicação do cliente. Por padrão, há um atraso de cinco segundos entre gravar um valor no banco de dados e poder ler este valor atualizado ao gravar e ler em duas conexões diferentes de Jet, mesmo que as duas conexões residam no mesmo processo do cliente. Se você usa uma conexão única, isto evita este problema.

Utilizar ADO para acessar um banco de dados do Microsoft Jet

Ao acessar um banco de dados do Microsoft Jet a partir do ADO, a Microsoft recomenda a utilização de um provedor OLEDB do Microsoft Jet OLEDB ao invés de uma unidade ODBC do Microsoft Access. Para obter mais informações sobre este tópico, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
299973 Usando o Microsoft Jet com o IIS

Mudar para um mecanismo de banco de dados transacional para ganhar integridade adicional

Diferente de um mecanismo de banco de dados com base em arquivo, um mecanismo de banco de dados com base em servidor, como o Microsoft SQL Server, processa todas as solicitações múltiplas de cliente em um banco de dados no servidor. O servidor mantém o registro dessas requisições em um log de transações. Se, por qualquer razão, uma requisição não puder ser completada, o servidor desfaz ou não processa a requisição. Isto reduz a possibilidade do banco de dados ser deixado em um estado incompleto ou corrompido.

Entretanto, antes de atualizar de um mecanismo de banco de dados com base em arquivo para um mecanismo de banco de dados com base em servidor, considere as vantagens e as desvantagens desse processo. Para obter mais informações sobre a escolha do mecanismo de banco de dados mais apropriado para as suas necessidades, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
168549 Documentação "Escolhendo o banco de dados apropriado" disponível no Centro de Download
OBSERVAÇÃO: Mesmo que este documento seja escrito para o Access 97, ainda assim se aplicará ao Jet 4.0 e ao Access 2000.

Referências

Para obter mais informações sobre como proceder no caso de corrupção do banco de dados, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
306204 Como solucionar problemas na corrupção de banco de dados do Microsoft Access
Para obter informações detalhadas sobre outros tópicos abordados neste artigo, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
200300 Como sincronizar gravações e leituras com o Provedor de banco de dados OLE e ADO do Jet
209137 Como solucionar problemas e corrigir um banco de dados corrompido do Jet 4.0 no Access 2000
299973 Usando o Microsoft Jet com o IIS
296264Configurando travamento oportuno no Windows
129202 PC Ext: Explicação de travamento oportuno no Windows NT

Propriedades

ID do artigo: 300216 - Última revisão: quinta-feira, 22 de março de 2007 - Revisão: 5.0
A informação contida neste artigo aplica-se a:
  • Microsoft Access 2000 Standard Edition
  • Driver Microsoft Open Database Connectivity para Access 4.0
  • Microsoft OLE DB Provider for Jet 4.0
Palavras-chave: 
kbdatabase kbinfo kbdownload kbfaq kbhowtomaster KB300216

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