Considerazioni per il backup e il ripristino dei database di sistema

In SQL Server viene utilizzato un set di database a livello di sistema, denominati database di sistema, che sono fondamentali per un corretto funzionamento 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, master e model. Se per un qualsiasi database viene utilizzata la replica nell'istanza del server, è inoltre presente un database di sistema distribution di cui è necessario eseguire il backup. I backup di questi database di sistema consentono di ripristinare e recuperare il sistema SQL Server qualora si verifichi un errore a livello di sistema, ad esempio un problema che impedisce di utilizzare 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

Nel database vengono registrate tutte le informazioni a livello di sistema relative a un sistema SQL Server.

Con registrazione minima

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.

Per ulteriori informazioni, vedere Considerazioni sul backup del database master.

model

Modello per tutti i database creati nell'istanza di SQL Server.

Configurabile dall'utente1

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.

Per ulteriori informazioni, vedere Considerazioni sul backup dei database del modello e msdb.

msdb

Database utilizzato da SQL Server Agent per la pianificazione degli avvisi e dei processi nonché per la registrazione degli operatori. Nel database msdb sono inoltre presenti 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.

Per ulteriori informazioni, vedere Considerazioni sul backup dei database del modello e msdb.

Resource (RDB)

Database di sola lettura che include copie di tutti gli oggetti di sistema forniti con Microsoft SQL Server 2005 o versioni successive.

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 Resource.

NotaNota
È 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 utilizzare la funzionalità di ripristino di SQL Server su questi 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

Con registrazione minima

Non è possibile eseguire il backup del database di sistema tempdb.

Configurazione della 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.

Con registrazione minima

Per informazioni su quando eseguire il backup del database distribution, vedere Backup e ripristino dei database replicati.

1 Per conoscere il modello di recupero corrente del modello, vedere Procedura: Visualizzazione o modifica del modello di recupero di un database (SQL Server Management Studio) o sys.databases (Transact-SQL).

Ripristino dei database di sistema

Nota importanteImportante

I database di sistema possono essere ripristinati solo da backup creati nella versione di SQL Server in cui è in esecuzione l'istanza del server. Per ripristinare ad esempio un database di sistema in un'istanza del server in esecuzione in SQL Server 2005 SP1, è necessario utilizzare un backup del database creato dopo l'aggiornamento dell'istanza del server a SQL Server 2005 SP1.

Per ripristinare un database, è necessario che l'istanza di SQL Server sia in esecuzione. Per l'avvio di un'istanza di SQL Server è necessario che il database master sia accessibile e utilizzabile almeno in parte. 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. Per ulteriori informazioni, vedere Considerazioni sul ripristino del Database master.

  • Ricreare il database master da zero.

    Se non è possibile avviare SQL Server in seguito a gravi danni al database master, è necessario ricostruire il database master. Ripristinare quindi il backup completo più recente del database master in quanto la ricostruzione del database comporta la perdita di tutti i dati. Per ulteriori informazioni sulla ricostruzione del database master, vedere Ricompilazione di database di sistema.

Nota importanteImportante

La ricostruzione del database master comporta la ricreazione di tutti i database di sistema.

Se il database model, msdb o distribution diventa inutilizzabile, ripristinarlo dal backup completo del database corrente. Per ulteriori informazioni, vedere Considerazioni sul ripristino dei database model e msdb e Backup e ripristino dei database replicati.