Database "sospetto" di SQL Server?


40

Cosa fai quando hai un database contrassegnato come Suspect?

Ripristinare dall'ultimo backup?

Si prega di avvisare.

Risposte:


41

La prima cosa è assicurarsi di NON staccare quel database.

Il ripristino dall'ultimo goodbackup noto va bene. Altrimenti sarà necessario utilizzare la modalità di riparazione EMERGENCY (suppongo che si stia eseguendo SQL 2005 o versioni successive). Ecco un paio di post di Paul Randal sull'argomento. Leggili entrambi prima di iniziare qualsiasi azione.

Creazione, scollegamento, ricollegamento e correzione di un database SUSPECT

Riparazione in modalità EMERGENCY: l'ultima, ultima risorsa


5

Praticamente sì.

Generalmente significa che i file sono bollixed o mancanti o un errore del disco o alcuni di questi (ho visto un settore danneggiato causa questo).

I miei passi:

  • Assicurarsi che tutti i backup siano presenti
  • Arrestare SQL Server
  • chkdsk i dischi usati da SQL Server (speriamo non il tuo C: ovviamente)

Modifica: chiarirò la mia risposta

  • se i dati sono importanti avrò un backup
  • i tempi di fermo mentre si scherza con le riparazioni e la modalità di emergenza sono troppo lunghi per me

5

Ho scritto alcune indicazioni su questo per 2 casi di database sospetti: quando hai perso il file di dati o il file di registro. Si prega di leggere quanto segue:


5
Quindi, ecco il punto: Stack Exchange non funziona se tutto ciò che pubblichi sono collegamenti. Quello che dobbiamo fare è riassumere il contenuto nei link, o sarò costretto a cancellare la tua risposta (e poi perderai rappresentante, e nessuno di noi vuole che ciò accada)
jcolebrand

4

Dalla tua domanda, sembra che tu abbia un backup. Il ripristino del DB da un buon backup sarà il modo più semplice e veloce per rendere operativo il DB e uscire dallo stato sospetto.


5
Ma perderai i dati se non hai i registri delle transazioni.
mrdenny,

0

Il mio primo consiglio è; mai staccare il database sospetto. È utile ripristinare il database dal backup aggiornato. Se il backup non è disponibile o ha avuto problemi, la EMERGENCYmodalità può essere utile:

Imposta il database in modalità di emergenza:

ALTER DATABASE DB_NAME SET EMERGENCY

Ora controlla le incongruenze del database con questo:

DBCC CHECKDB (‘DB_NAME’)

DBCC CHECKDB L'opzione di riparazione per consentire la perdita di dati è l'ultima risorsa. Il risultato potrebbe essere una perdita di dati, quindi non consiglio di eseguirlo.

Controllare anche il riferimento 1 e il riferimento 2

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.