Ripristino del database MSDB dal backup:
Il processo di ripristino che utilizza SQL Server Management Studio richiede un backup corrente e può essere eseguito accedendo alle proprietà del database "msdb", Tasks > Restore > Database e puntando alla posizione dei supporti di backup.
Utilizzare DBCC CheckDB per il ripristino del database:
Se non è disponibile alcun backup, è possibile eseguire "DBCC CheckDB" per salvare il database MSDB corrente e il relativo contenuto. I comandi T-SQL riportati di seguito verificano l'integrità del database MSDB, eseguono un soft repair del database MSDB e infine un hard repair del database MSDB:
- Controllo dell'integrità di MSDB; il database è privo di danneggiamento?
Eseguire il comando riportato di seguito nella finestra di query di SSMS:
USE Master;
GO
ALTER Database MSDB
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
DBCC CHECKDB (msdb, NOINDEX);
GO
ALTER DATABASE MSDB
SET-MULTI_USER;
GO
Vogliamo controllare la riga in fondo alla finestra di restituzione segnalando errori di "allocazione" e "coerenza". Un database MSDB danneggiato segnala un errore e richiede i comandi DBCC CHECKDB riportati di seguito per la riparazione.
- Comando MSDB T-SQL per un tentativo di "soft recovery" senza perdita di dati:
Eseguire il comando riportato di seguito nella finestra di query di SSMS:
USE Master;
GO
ALTER Database MSDB
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
DBCC CHECKDB (msdb, REPAIR_REBUILD);
GO
ALTER DATABASE MSDB
SET-MULTI_USER;
GO
Dopo aver eseguito il comando precedente, eseguire nuovamente DBCC CheckDB per visualizzare il nuovo stato del database.
- Comando MSDB T-SQL per un tentativo di "ripristino rigido" con possibile perdita di dati:
Eseguire il comando riportato di seguito nella finestra di query di SSMS:
USE Master;
GO
ALTER Database MSDB
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
DBCC CHECKDB (msdb, REPAIR_ALLOW_DATA_LOSS);
GO
ALTER DATABASE MSDB
SET-MULTI_USER;
GO
Dopo aver eseguito il comando precedente, eseguire nuovamente DBCC CheckDB per visualizzare il nuovo stato del database.
Sostituire i file del database MSDB.
Se il database MSDB è danneggiato e le opzioni di riparazione di DBCC non funzionano, è possibile inserire un nuovo database MSDB sostituendo i file del database MSDB.
Quando sostituiamo i file del database MSDB perdiamo tutte le informazioni, come i job di backup personalizzati, le informazioni sulle attività, la replica, la spedizione dei log e i dati del piano di manutenzione.
La procedura riportata di seguito viene utilizzata per sostituire un database MSDB esistente con un nuovo database MSDB predefinito.