Quando si utilizza Microsoft SQL Server per allegare o accedere a un file di database MDF corrotto, potresti incontrare una serie di messaggi di errore che possono creare confusione. Di seguito, elencheremo tutti gli errori, ordinati per frequenza. Per ogni errore, ne delineeremo i sintomi, spiegheremo la causa esatta e forniremo file di esempio insieme ai file corretti da DataNumen SQL Recovery. Questo ti aiuterà a capire meglio questi errori. Nota 'xxx.MDF' rappresenterà il nome del tuo corrotto SQL Server File di database MDF.

Sulla base SQL Server o messaggi di errore CHECKDB, esistono tre tipi di errori:

    1. Errori di allocazione: Sappiamo che i dati nei file MDF e NDF sono allocati come pagine. E ci sono alcune pagine speciali che vengono utilizzate per la gestione delle allocazioni, come segue:
Tipo di pagina Descrizione
Pagina GAM Memorizza le informazioni sulla mappa di allocazione globale (GAM).
Pagina SGA Memorizza le informazioni sulla mappa di allocazione globale condivisa (SGAM).
Pagina I.A.M Memorizza le informazioni sulla mappa di allocazione dell'indice (IAM).
Pagina PFS Memorizza le informazioni sull'allocazione PFS.

Se una delle pagine di allocazione di cui sopra contiene errori o i dati gestiti da queste pagine di allocazione non sono coerenti con le informazioni sull'allocazione, allora SQL Server o CHECKDB riporterà errori di allocazione.

  • Errori di coerenza: Nel pagine utilizzati per archiviare i dati, comprese le pagine di dati e le pagine di indice, se SQL Server o CHECKDB trovano qualsiasi incoerenza tra il contenuto della pagina e il checksum, quindi segnaleranno errori di coerenza
  • Tutti gli altri errori: Potrebbero esserci altri errori che non rientrano nelle due categorie precedenti.

 

SQL Server ha uno strumento integrato chiamato DBCC, Che ha CHECKDB ed TABELLA DI CONTROLLO opzioni che possono aiutare a riparare un database MDF corrotto. Tuttavia, per file di database MDB gravemente danneggiati, DBCC CHECKDB ed TABELLA DI CONTROLLO fallirà anche.

Errori di coerenza segnalati da CHECKDB:

Errori di allocazione segnalati da CHECKDB:

Tutti gli altri errori segnalati da CHECKDB: