Backup e ripristino: database di sistema (SQL Server)

Si applica a:SQL Server

SQL Server gestisce un set di database a livello di sistema, denominati database di sistema, che sono essenziali per il funzionamento di un'istanza del server. Dopo ogni aggiornamento importante, è necessario eseguire il backup di numerosi database di sistema. I database di sistema di cui è sempre necessario eseguire il backup includono msdb, mastere model. Se un database usa la replica nell'istanza del server, è necessario eseguire anche il backup del database di distribution sistema. I backup di questi database di sistema consentono di ripristinare e ripristinare il sistema SQL Server dopo un errore di sistema, ad esempio la perdita di un dispositivo di archiviazione.

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

Database di sistema Descrizione Backup necessari? Modello di recupero Commenti
master Database che registra tutte le informazioni a livello di sistema per un sistema SQL Server. Semplice Eseguire il backup master con la frequenza necessaria per proteggere i dati in modo sufficiente per le esigenze aziendali. È consigliabile pianificare i backup con regolarità, pianificazione che è possibile integrare con backup aggiuntivi dopo un aggiornamento importante. I backup del log delle transazioni di master non sono supportati.
model Modello per tutti i database creati nell'istanza di SQL Server. Configurabile dall'utente1 Eseguire il backup model solo quando necessario per le esigenze aziendali, ad esempio immediatamente dopo la personalizzazione delle opzioni di database.

Procedura consigliata: è consigliabile creare solo backup completi del database di model, in base alle esigenze. Poiché model è piccolo e raramente cambia, il backup del log non è necessario.
msdb 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 le tabelle di cronologia di backup e ripristino. Con registrazione minima (impostazione predefinita) Eseguire il backup msdb ogni volta che viene aggiornato.
Database di risorse (RDB) Database di sola lettura che contiene copie di tutti gli oggetti di sistema forniti con SQL Server No None Il database di risorse si trova nel mssqlsystemresource.mdf file, che contiene solo codice. Di conseguenza, SQL Server non può eseguire il backup del database delle risorse.

Nota: è possibile eseguire un backup basato su file o su disco nel mssqlsystemresource.mdf file trattando il file come se fosse un file binario (.exe) anziché un file di database. Non è tuttavia possibile usare il ripristino di SQL Server nei backup. Il ripristino di una copia di backup di mssqlsystemresource.mdf può essere eseguito solo manualmente ed è necessario prestare attenzione a non sovrascrivere il database risorse corrente con una versione non aggiornata o 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 arrestata, tutti i dati in tempdb vengono eliminati definitivamente. No Semplice Non è possibile eseguire il backup del tempdb database di sistema.
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 distribution database, vedere Backup e ripristino di database replicati.

1 Per informazioni sul modello di recupero corrente, vedere Visualizzare o modificare il modello di recupero di un database (SQL Server) o sys.databases (Transact-SQL).

Limitazioni per il ripristino dei 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 che esegue SQL Server 2016 (13.x) con Service Pack 1, è necessario usare un backup del database creato dopo l'aggiornamento dell'istanza del server a SQL Server 2016 (13.x) SP 1.

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

  • Eseguire il ripristino master da un backup del database corrente.

    Se è possibile avviare l'istanza del server, dovrebbe essere possibile eseguire il ripristino master da un backup completo del database. Per altre informazioni, vedere Ripristinare il database master (Transact-SQL).

  • Ricompilare master completamente.

    Se si verifica un grave danno per impedire l'avvio di master SQL Server, è necessario ricompilare master. Per altre informazioni, vedere Ricompilare i database di sistema.

    Importante

    master La ricompilazione ricompila tutti i database di sistema.

In alcuni casi, i problemi di ripristino del database potrebbero richiedere la model ricompilazione dei database di sistema o la sostituzione dei mdf file e ldf per il model database. Per altre informazioni, vedere Ricompilare i database di sistema.

Attività correlate