Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
Some article numbers may have changed. If this isn't what you're looking for, try searching all articles. Search articles

Ripristino del database MSDB di Microsoft SQL Server

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

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

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

Cause

I danni ai file del database SQL Server possono verificarsi per molti motivi diversi. La maggior parte degli eventi del database MSDB danneggiati da Microsoft SQL Server si verifica a causa di problemi hardware relativi a problemi di memoria, disco o processore.

Resolution

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 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.
 
Visualizza la procedura in SQL Server Studio Manager per il ripristino del database MSDB.

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.
 
Risultati di DBCC CHECkDB durante la ricerca di 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 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.
  • Accedere alla directory di installazione di SQL Server e passare alla cartella "Templates" nella directory "Binn":
Visualizzazione della posizione file dei template di log e database MSDB.

I file "msdbdata.mdf" e "msdblog.ldf" sono i file del template del database MSDB che è necessario aprire un nuovo database MSDB stabile.
  • È necessario arrestare il servizio SQL Server per sostituire i file di database MSDB esistenti.
Mostra la posizione in SQL Server Management Studio in cui è possibile avviare o arrestare il servizio SQL Server.
  • Passare alla directory Dati SQL Server. Il percorso della directory nell'esempio riportato di seguito è "C:\Program Files\Microsoft SQL Server\MSSQL15. SQL2019\MSSQL\DATA"
image.png
 
  • Individuare i file "msdbdata.mdf" e "msdblog.ldf" danneggiati.
Mostra la posizione predefinita del database MSDB e del file di registro nella directory dell'applicazione SQL Server.
  • Copiare e spostare i file in un'altra directory; in questo caso li stiamo spostando in una cartella denominata "MSDB_Save". È possibile importare questi file in un'altra installazione di SQL Server e controllare nuovamente con DBCC CHECKDB; non è consigliabile eliminare i file del database danneggiati durante la risoluzione dei problemi.
                 Visualizzazione di una posizione in cui archiviare i file del database MSDB danneggiati.
  • Individuare la posizione in cui salvare i file del database temp MSDB e inserirne nuovamente una copia nella directory predefinita del database SQL Server:
Posizione dei template di file di database MSDB di SQL Server
  • Posizione finale per i file temporanei del database MSDB; nella directory predefinita dei dati di "C:\Program Files\Microsoft SQL Server\MSSQL15. SQL2019\MSSQL\DATA".
Active Directory per file di database MSDB
  • Dopo aver sostituito i file del database MSDB, avviare il servizio SQL Server.
Visualizzazione della posizione in cui è possibile riavviare il servizio SQL Server in SQL Server Management Studio.
 

Affected Products

Software, Dell Quickstart Data Warehouse Appliance, Microsoft Windows Server 2016, Microsoft Windows Server 2019, Microsoft Windows Server 2022, Prosupport for Microsoft Software
Article Properties
Article Number: 000200606
Article Type: Solution
Last Modified: 30 Nov 2023
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.