O banco de dados cresce a cada vez que é aberto

1

Eu construí um pequeno banco de dados Access com algumas tabelas. Os dados são armazenados em várias listas do SharePoint vinculadas ao banco de dados (portanto, as alterações na lista são refletidas no banco de dados) e o próprio arquivo do Access é armazenado em um servidor do SharePoint. O formato do arquivo é .accdb.

Ao abri-lo, o Access solicita que você salve as alterações no servidor. Como os dados são armazenados fora do próprio arquivo, normalmente não há alterações no próprio conteúdo do arquivo, a menos que alguém modifique uma consulta ou um relatório, o que é raro. (Estou ciente de que o mecanismo de banco de dados Jet trata uma mera operação de abertura como uma modificação, portanto, não há um modo verdadeiro somente de leitura.)

Originalmente, o arquivo tinha 8 a 9 MB de tamanho. Com o passar do tempo, o arquivo aumenta de tamanho e em um ponto quebrou a barreira de 100 MB. Depois de executar o “Compact and Repair” no banco de dados, o tamanho volta para o original 8–9 MB.

Os usuários têm uma combinação do Access 2010 e 2013 em execução em seus PCs.

O que está causando o acesso para inflar o arquivo como este e como posso evitá-lo?

    
por user149408 09.08.2017 / 13:12

1 resposta

1

Obtido diretamente de support.office.com:

Database files grow with use

As you add and update data and change its design, a database file becomes larger. Some of this growth comes from new data, but some comes from other sources:

  • Access creates temporary, hidden objects to accomplish various tasks. Sometimes, these temporary objects remain in your database after Access no longer needs them.

  • When you delete a database object, the disk space that the object occupied is not automatically reclaimed — the database file still uses that disk space, even though the object is deleted.

As your database file fills up with the remains of temporary and deleted objects, its performance can degrade. Objects may open more slowly, queries may take longer than normal to run, and typical operations generally seem to take longer.

Embora você declare especificamente que o seu banco de dados Access simplesmente "consulta" uma fonte externa e é apenas um "front-end" então, eu acho, ainda está criando muitos dados temporários que estão sendo armazenados no arquivo e não sendo limpo.

Gostaria de saber se vale a pena realizar uma tarefa agendada para compactar e reparar o banco de dados - mas você precisa garantir que ninguém esteja conectado ao banco de dados (por exemplo, deixar o computador bloqueado e abrir o arquivo no Access no final de o dia) caso contrário, o compacto e o reparo não serão realizados.

    
por 09.08.2017 / 13:24