Passa al contenuto principale
È possibile che alcuni numeri di articolo siano cambiati. Se non è quello che cerchi, prova a cercare tutti gli articoli. Cerca articoli

Windows Server: Ripristino del database MSDB di Microsoft SQL Server

Riepilogo: Informazioni su come ripristinare un database MSDB di Microsoft SQL Server.

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Sintomi

Se danneggiato, un database MSDB di Microsoft SQL Server potrebbe non essere online e operativo. Il servizio SQL Server Agent non si avvia e i processi pianificati non vengono eseguiti automaticamente o manualmente.

Causa

Il danno al file di database SQL Server può verificarsi per molte ragioni diverse. La maggior parte degli eventi del database MSDB danneggiati di Microsoft SQL Server si verifica a causa di problemi hardware correlati a problemi di memoria, disco o processore.

Risoluzione

Esistono tre metodi per ripristinare i database Microsoft SQL MSDB:
  1. Restore da backup
  2. Utilizzare DBCC CheckDB per ripristinare il database MSDB
  3. Sostituire i file del database MSDB
Ripristino del database MSDB dal backup:
Il processo di ripristino tramite SQL Server Management Studio richiede un backup aggiornato e può essere eseguito accedendo alle proprietà del database "msdb", Tasks >Restore >Database e indicando la posizione del supporto di backup.
 
Visualizza i passaggi di SQL Server Studio Manager per il ripristino del database MSDB.

Utilizzare DBCC CheckDB per la riparazione 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. Eseguire una riparazione soft del database MSDB e infine una riparazione hardware del database MSDB:
  • Controllo dell'integrità di MSDB; Il database è privo di danneggiamenti?
Eseguire il comando riportato di seguito nella finestra delle query 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 reso che riporta gli errori di "allocazione" e "coerenza". Un database MSDB danneggiato segnala un errore e richiede i comandi DBCC CHECKDB riportati di seguito per essere riparato.
 
Risultati di DBCC CHECkDB durante il controllo degli errori di coerenza.
  • Comando MSDB T-SQL per un tentativo di "soft recovery" senza perdita di dati:
Eseguire il comando riportato di seguito nella finestra delle query 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 "hard recovery" con possibile perdita di dati:
Eseguire il comando riportato di seguito nella finestra delle query 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 DBCC non funzionano, inserire un nuovo database MSDB sostituendo i file del database MSDB.

Quando si sostituiscono i file di database MSDB, tutte le informazioni come i processi di backup personalizzati, le informazioni sulle attività, la replica, il log shipping 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.
  • Accedere alla directory di installazione di SQL Server e passare alla cartella Templates nella directory Binn:
Percorso dei file del database MSDB e dei modelli di registro.

I file msdbdata.mdf e msdblog.ldf sono i file modello del database MSDB per i quali è necessario generare un nuovo database MSDB stabile.
  • È necessario arrestare il servizio SQL Server per sostituire i file di database MSDB esistenti.
Percorso in SQL Server Management Studio in cui è possibile avviare o arrestare il servizio SQL Server.
  • Passare alla directory SQL Server Data. Il percorso della directory nell'esempio seguente è C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA
Percorso della directory dei dati di SQL Server
 
  • Individuare i file "msdbdata.mdf" e "msdblog.ldf" danneggiati.
Mostra il database MSDB predefinito e il percorso del file di registro nella directory dell'applicazione SQL Server.
  • Copiare e spostare i file in un'altra directory; In questo caso li spostiamo in una cartella chiamata "MSDB_Save". È possibile che questi file possano essere importati in un'altra installazione di SQL Server e controllati nuovamente con DBCC CHECKDB; Non è consigliabile eliminare file di database danneggiati durante la risoluzione dei problemi.
                Percorso in cui archiviare i file di database MSDB danneggiati.
  • Individuare la posizione in cui vengono salvati i file del database temporaneo MSDB e inserirne nuovamente una copia nella directory predefinita del database SQL Server:
Percorso dei modelli di file di database MSDB di SQL Server
  • Posizione finale per i file temporanei del database MSDB. tornare nella directory dati predefinita di C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA.
Active Directory per i file di database MSDB
  • Dopo aver sostituito i file del database MSDB, avviare il servizio SQL Server.
Visualizzazione della posizione in SQL Server Management Studio in cui è possibile riavviare il servizio SQL Server.
 

Prodotti interessati

Microsoft Windows Server 2016, Microsoft Windows Server 2019, Microsoft Windows Server 2022, Microsoft Windows Server 2025

Prodotti

C Series, HS Series, Modular Infrastructure, Tower Servers, PowerEdge R240, PowerEdge R250, PowerEdge R260, PowerEdge R340, PowerEdge R350, PowerEdge R360, PowerEdge R440, PowerEdge R450, PowerEdge R540, PowerEdge R550, PowerEdge R640 , PowerEdge R6415, PowerEdge R650, PowerEdge R650xs, PowerEdge R6515, PowerEdge R6525, PowerEdge R660, PowerEdge R660xs, PowerEdge R6615, PowerEdge R6625, PowerEdge R740, PowerEdge R740XD, PowerEdge R740XD2, PowerEdge R7415, PowerEdge R7425, PowerEdge R750, PowerEdge R750XA, PowerEdge R750xs, PowerEdge R7515, PowerEdge R7525, PowerEdge R760, PowerEdge R760XA, PowerEdge R760xd2, PowerEdge R760xs, PowerEdge R7615, PowerEdge R7625, PowerEdge R840, PowerEdge R860, PowerEdge R940, PowerEdge R940xa, PowerEdge R960 ...
Proprietà dell'articolo
Numero articolo: 000200606
Tipo di articolo: Solution
Ultima modifica: 05 set 2025
Versione:  9
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.