Le dimensioni dei file di database possono aumentare rapidamente con l'uso, talvolta influendo sulle prestazioni. Talvolta possono anche danneggiarsi o danneggiarsi. È possibile usare il comando Compatta e ripristina database per prevenire o risolvere questi problemi. Questo processo non comprime i dati, bensì riduce le dimensioni del file di database eliminando lo spazio inutilizzato. Il comando Compatta e ripristina database può anche essere usato per migliorare le prestazioni di un database.
Suggerimento La divisione di un database consente di evitare il danneggiamento dei file di database e limitare la perdita di dati mantenendo i dati in un file separato a cui gli utenti non accedono direttamente.
Modalità di compattare e ripristinare un database
Esistono diversi approcci per compattare e ripristinare un database. Una procedura comune prevede la compattazione e il ripristino automatici di un database alla chiusura. È anche possibile eseguire manualmente il comando Compatta e ripristina database , quando è aperto un database e in un database non aperto.
Prima di iniziare
Eseguire le operazioni seguenti prima di avviare un'operazione di compattazione e ripristino:
-
Eseguire un backup del database Durante il processo di ripristino, Access può troncare alcuni dati dalle tabelle danneggiate. A volte è possibile ripristinare questi dati da un backup. Oltre alla normale strategia di backup, è consigliabile eseguire un backup immediatamente prima di usare il comando Compatta e ripristina database . Per altre informazioni, vedere Proteggere i dati con i processi di backup e ripristino.
-
Ottenere l'accesso esclusivo al database Un'operazione di compattazione e ripristino richiede l'accesso esclusivo al file di database, perché l'operazione può influire negativamente sugli altri utenti. Quando si prevede di eseguire un'operazione di compattazione e ripristino, è necessario informare gli altri utenti perché evitino di usare il database durante l'operazione. Per altre informazioni, vedere Aprire un database di Access esistente.
Comunicare agli utenti per quanto tempo dovranno evitare di usare il database. Se si eseguono operazioni di compattazione e ripristino regolarmente, registrarne la durata. Sarà quindi possibile ottenere stime più precise da fornire agli altri utenti riguardo al periodo di tempo per cui dovranno evitare di usare il database.
-
Ottenere un'autorizzazione file sufficiente per il database Se non si dispone di autorizzazioni sufficienti ed è necessario compattare e ripristinare un database, contattare l'amministratore di sistema per assistenza. Per altre informazioni, vedi Modifiche alla condivisione di file in una rete in Windows.
Impostare la compattazione e il ripristino automatici di un database alla chiusura
È possibile selezionare l'opzione di database Compatta alla chiusura se si vuole compattare e ripristinare automaticamente un database alla sua chiusura. L'impostazione di questa opzione influisce solo sul database attualmente aperto. Impostare questa opzione separatamente per ogni database che si vuole compattare e ripristinare automaticamente. Qualora si utilizzi un database multiutente, invece, questa opzione potrebbe rendere momentaneamente non disponibile il database.
-
Scegliere File > Opzioni.
-
Nella finestra di dialogo Opzioni di Access selezionare Database corrente.
-
In Opzioni applicazione selezionare la casella di controllo Compatta alla chiusura.
-
Selezionare OK.
-
Chiudere e riaprire il database per rendere effettiva l'opzione.
Compattare e ripristinare manualmente un database aperto
-
Selezionare File > Informazioni > Compatta & Ripristina database.
Access crea una copia del database compattato e ripristinato nella stessa posizione.
Compattare e ripristinare manualmente un database non aperto
Usare questa procedura quando non è possibile aprire direttamente un database di Access.
-
Verificare che nessun altro utente stia attualmente usando il file di database.
-
Avviare Access.
-
Nella pagina dei modelli fare doppio clic su Database vuoto.
-
Selezionare File > Chiudi.
-
Selezionare Strumenti database > Compatta e ripristina database.
-
Nella finestra di dialogo Compatta database passare al database che si vuole compattare e ripristinare e fare doppio clic sul database.
Access crea una copia del database compattato e ripristinato nella stessa posizione.
Compattare e ripristinare un database danneggiato quando viene richiesto
Quando si prova ad aprire un file di database danneggiato, se Access chiede di compattare e ripristinare il database, selezionare Sì. Possono verificarsi due cose:
-
Se Access ripristina completamente un file danneggiato, visualizza un messaggio che indica che il ripristino è avvenuto correttamente e che è necessario controllare che il contenuto del database sia quello previsto.
-
Se Access riesce solo parzialmente, tiene traccia degli oggetti di database che non è stato possibile ripristinare in una tabella di sistema denominata MSysCompactErrors. Access apre la tabella MSysCompactErrors in visualizzazione Foglio dati. Se si dispone di un backup precedente prima che il database fosse danneggiato, è possibile usare la tabella MSysCompactErrors per decidere quali oggetti importare nel database ripristinato. Per visualizzare le tabelle di sistema, fare clic con il pulsante destro del mouse sulla barra del titolo di spostamento e quindi nella finestra di dialogo Opzioni di spostamento selezionare Mostra oggetti di sistema.
Perché compattare e ripristinare un database
Questa panoramica descrive come usare il comando Compatta e ripristina database per prevenire e correggere questi possibili problemi di un database: aumento delle dimensioni dei file con l'uso e file danneggiati.
Le dimensioni dei file di database aumentano con l'uso
Quando si aggiungono e aggiornano dati e si modifica la progettazione di un database, le dimensioni del file di database possono aumentare. L'aumento può essere causato dai nuovi dati, ma anche da altri motivi:
-
Access crea oggetti temporanei nascosti per eseguire diverse attività. A volte questi oggetti temporanei restano nel database dopo che non sono più necessari.
-
Quando si elimina un oggetto di database, lo spazio su disco occupato non viene automaticamente recuperato, ma il file di database continua a usare questo spazio su disco, anche se l'oggetto è stato eliminato.
Man mano che il file di database si riempie con le parti rimanenti degli oggetti temporanei eliminati, le sue prestazioni possono peggiorare. Gli oggetti possono impiegare più tempo prima di aprirsi, l'esecuzione delle query dura più a lungo del previsto e le normali operazioni sembrano in genere impiegare più tempo.
I file di database possono danneggiarsi
In alcuni casi specifici, un file di database può risultare danneggiato. Se un file di database viene condiviso in rete e più utenti usano il file contemporaneamente, vi è un leggero rischio che questo venga danneggiato. Il rischio di danneggiamento è maggiore se gli utenti modificano frequentemente i dati nei campi Testo lungo e il rischio aumenta nel tempo. È possibile ridurre il rischio usando il comando Compatta e ripristina database.
Spesso questo tipo di danneggiamento dipende da un problema con un modulo di Visual Basic, Applications Edition (VBA) e non comporta il rischio di perdita di dati. Tuttavia, questo tipo di danno rischia di influire sulla progettazione del database, producendo la perdita di codice VBA o maschere inutilizzabili.
Raramente il danneggiamento del file di database causa la perdita di dati. In genere questa perdita è limitata all'ultima azione eseguita da un utente, ovvero una singola modifica ai dati. Quando un utente inizia a modificare i dati e la modifica viene interrotta, ad esempio a causa della perdita del servizio di rete, Access contrassegna il file di database come danneggiato. Il file può essere ripristinato, ma alcuni dati potrebbero non essere presenti al termine del ripristino.