Backup e ripristino di Database di sistema (SQL Server)

SQL Server gestisce un set di database a livello di sistema,database ystem, essenziali per l'operazione di un'istanza del server. Dopo ogni aggiornamento importante, è necessario eseguire il backup di numerosi database di sistema. Alcuni database di sistema di cui è necessario eseguire sempre il backup sono msdb, mastere model. Se un database usa la replica nell'istanza del server, è necessario eseguire il backup anche di un database di sistema distribution . I backup di questi database di sistema consentono di ripristinare e ripristinare il sistema SQL Server in caso di errore di sistema, ad esempio la perdita di un disco rigido.

Nella tabella seguente è presentato un riepilogo di tutti i database di sistema.

Database di sistema Descrizione Necessità di backup modello di recupero Commenti
master Database che registra tutte le informazioni a livello di sistema per un sistema SQL Server. Semplice Eseguire il backup di master con la frequenza necessaria a garantire una sufficiente protezione dei dati in base alle esigenze aziendali. È consigliabile pianificare i backup con regolarità, pianificazione che è possibile integrare con backup aggiuntivi dopo un aggiornamento importante.
model Modello per tutti i database creati nell'istanza di SQL Server. Utente configurabile1 Eseguire il backup di model solo se necessario in base alle esigenze aziendali, ad esempio immediatamente dopo la personalizzazione delle opzioni del database.

Procedura consigliata: creare solo backup completi del database model in base alle esigenze. Poiché nel database model vengono apportate solo di rado lievi modifiche, il backup del log non è necessario.
msdb Il database usato da SQL Server Agent per la pianificazione di avvisi e processi e per gli operatori di registrazione. msdb contiene anche tabelle di cronologia, ad esempio tabelle di cronologia di backup e ripristino. Con registrazione minima (impostazione predefinita) Eseguire il backup di msdb a ogni aggiornamento.
Resource (RDB) Database di sola lettura che contiene copie di tutti gli oggetti di sistema che vengono forniti con SQL Server No - Il database Resource risiede nel file mssqlsystemresource.mdf, che contiene solo codice. Pertanto, SQL Server non è in grado di eseguire il backup del database di risorse.

Nota: è possibile eseguire un backup basato su file o su disco sul file mssqlsystemresource.mdf, considerando il file come un file binario con estensione exe anziché come un file di database. Non è tuttavia possibile usare SQL Server ripristino nei backup. Il ripristino di una copia di backup di mssqlsystemresource.mdf può essere eseguito solo manualmente, prestando attenzione a non sovrascrivere il database Resource corrente con una versione non aggiornata e potenzialmente non sicura.
tempdb Area di lavoro per il mantenimento dei set di risultati temporanei o intermedi. Questo database viene ricreato ogni volta che viene avviata un'istanza di SQL Server. Quando l'istanza del server viene chiusa, i dati inclusi in tempdb vengono eliminati in modo definitivo. No Semplice Non è possibile eseguire il backup del database di sistema tempdb .
Configurare la distribuzione Database esistente solo se il server è configurato come server di distribuzione repliche. In questo database sono memorizzati metadati e dati della cronologia per tutti i tipi di replica, nonché transazioni per la replica transazionale. Semplice Per informazioni su quando eseguire il backup del database distribution , vedere Eseguire il backup e ripristino di database replicati.

1 Per informazioni sul modello di ripristino corrente, vedere Visualizzare o Modificare il modello di ripristino di un database (SQL Server) osys.databases (Transact-SQL).

Limitazioni sul ripristino di database di sistema

  • I database di sistema possono essere ripristinati solo dai backup creati nella versione di SQL Server in cui è attualmente in esecuzione l'istanza del server. Ad esempio, per ripristinare un database di sistema in un'istanza del server in esecuzione in SQL Server 2012 SP1.

  • Per ripristinare qualsiasi database, l'istanza di SQL Server deve essere in esecuzione. L'avvio di un'istanza di SQL Server richiede che il database master sia accessibile e almeno parzialmente utilizzabile. Se il database master diventa inutilizzabile, è possibile ripristinare uno stato utilizzabile del database in uno dei modi seguenti:

    • Ripristinare il database master da un backup del database corrente.

      Se è possibile avviare l'istanza del server, dovrebbe essere possibile anche ripristinare il database master da un backup completo del database.

    • Ricompilare il database master da zero.

      Se un grave danno al master impedisce l'avvio di SQL Server, è necessario ricompilare master. Per altre informazioni, vedere Ricompilare database di sistema.

      Importante

      La ricompilazione del database master comporta la ricompilazione di tutti i database di sistema.

  • In alcune circostanze, per i problemi relativi al recupero del database modello può essere necessario ricompilare i database di sistema o sostituire i file mdf e ldf del database modello. Per altre informazioni, vedere Ricompilare database di sistema.

Attività correlate

Vedere anche

Database di distribuzione
Database master
Database msdb
Database model
Database Resource
Database tempdb