BACKUP (Transact-SQL)
Esegue il backup di un database completo oppure di uno o più file o filegroup (BACKUP DATABASE). Se, inoltre, si utilizza il modello di recupero con registrazione completa o il modello di recupero con registrazione minima delle operazioni bulk, esegue il backup del log delle transazioni (BACKUP LOG).
Nota |
|---|
Per un'introduzione al backup in SQL Server, vedere Panoramica del backup (SQL Server). |
Backing Up a Whole Database
BACKUP DATABASE { database_name | @database_name_var }
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
Backing Up Specific Files or Filegroups
BACKUP DATABASE { database_name | @database_name_var }
<file_or_filegroup> [ ,...n ]
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
Creating a Partial Backup
BACKUP DATABASE { database_name | @database_name_var }
READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ]
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
Backing Up the Transaction Log (full and bulk-logged recovery models)
BACKUP LOG { database_name | @database_name_var }
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { <general_WITH_options> | <log-specific_optionspec> } [ ,...n ] ]
[;]
<backup_device>::=
{
{ logical_device_name | @logical_device_name_var }
| { DISK | TAPE } =
{ 'physical_device_name' | @physical_device_name_var }
}
<MIRROR TO clause>::=
MIRROR TO <backup_device> [ ,...n ]
<file_or_filegroup>::=
{
FILE = { logical_file_name | @logical_file_name_var }
| FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
}
<read_only_filegroup>::=
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
<general_WITH_options> [ ,...n ]::=--Backup Set Options
COPY_ONLY
| { COMPRESSION | NO_COMPRESSION }
| DESCRIPTION = { 'text' | @text_variable }
| NAME = { backup_set_name | @backup_set_name_var }
| PASSWORD = { password | @password_variable }
| { EXPIREDATE = { 'date' | @date_var }
| RETAINDAYS = { days | @days_var } }
--Media Set Options
{ NOINIT | INIT }
| { NOSKIP | SKIP }
| { NOFORMAT | FORMAT }
| MEDIADESCRIPTION = { 'text' | @text_variable }
| MEDIANAME = { media_name | @media_name_variable }
| MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }
--Data Transfer Options
BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
--Error Management Options
{ NO_CHECKSUM | CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
--Compatibility Options
RESTART
--Monitoring Options
STATS [ =percentage ]
--Tape Options
{ REWIND | NOREWIND }
| { UNLOAD | NOUNLOAD }
--Log-specific Options
{ NORECOVERY | STANDBY =undo_file_name }
| NO_TRUNCATE
Opzioni WITH
Opzioni da utilizzare con un'operazione di backup.
Opzioni relative al set di backup
Queste opzioni riguardano il set di backup creato dall'operazione di backup.
Nota
|
|---|
|
Per specificare un set di backup per un'operazione di ripristino, utilizzare l'opzione FILE =<backup_set_file_number>. Per ulteriori informazioni su come specificare un set di backup, vedere "Specifica di un set di backup" in Argomenti dell'istruzione RESTORE (Transact-SQL). |
Opzioni relative ai set di supporti
Queste opzioni vengono applicate all'intero set di supporti.
Opzioni di trasferimento dei dati
Opzioni relative alla gestione degli errori
Queste opzioni consentono di specificare se i checksum del backup sono abilitati per l'operazione di backup e se l'operazione deve essere arrestata in caso di errore.
Opzioni di compatibilità
Opzioni di monitoraggio
Opzioni relative ai dispositivi nastro
Queste opzioni vengono utilizzate solo per i dispositivi nastro. Se non si utilizza un dispositivo nastro, queste opzioni vengono ignorate.
Nota
|
|---|
|
Per un backup in un dispositivo di backup su nastro, l'opzione BLOCKSIZE influisce sulle prestazioni dell'operazione di backup. In genere, questa opzione influisce sulle prestazioni solo durante la scrittura nei dispositivi nastro. |
Opzioni specifiche dei log
Queste opzioni vengono utilizzate solo con BACKUP LOG.
Nota
|
|---|
|
Se non si desidera eseguire un backup del log, utilizzare il modello di recupero con registrazione minima. Per ulteriori informazioni, vedere Backup in base al modello di recupero con registrazione minima. |
È possibile accodare i backup di database o log in qualsiasi disco o dispositivo nastro, in modo che il database e i relativi log delle transazioni possano essere mantenuti nella stessa posizione fisica.
Non è possibile utilizzare l'istruzione BACKUP in una transazione esplicita o implicita.
È possibile eseguire operazioni di backup tra piattaforme diverse e anche tra tipi di processore diversi, a condizione che le regole di confronto del database siano supportate dal sistema operativo.
Per informazioni sulla terminologia relativa al backup, sui dispositivi di backup e sulla gestione dei backup, vedere Utilizzo di supporti di backup in SQL Server.
Nota
|
|---|
|
Per impostazione predefinita, per ogni operazione di backup eseguita in modo corretto viene aggiunta una voce al log degli errori di SQL Server e al registro eventi di sistema. Se il backup del log viene eseguito di frequente, questi messaggi possono aumentare rapidamente, provocando la creazione di registri errori di dimensioni elevate e rendendo difficile l'individuazione di altri messaggi. In questi casi è possibile eliminare tali voci di log utilizzando il flag di traccia 3226 se nessuno degli script dipende da esse. Per ulteriori informazioni, vedere Flag di traccia (Transact-SQL). |
Troncamento del log delle transazioni
Per evitare di esaurire lo spazio nel log delle transazioni di un database, è essenziale eseguire backup di routine. Con il modello di recupero con registrazione minima il troncamento del log si verifica automaticamente dopo il backup del database, mentre con il modello di recupero con registrazione completa si verifica dopo il backup del log delle transazioni. A volte, tuttavia, il processo di troncamento può essere ritardato. Per informazioni sull'identificazione e la gestione dei fattori che provocano il ritardo, vedere Fattori che possono ritardare il troncamento del log..
Nota
|
|---|
|
Le opzioni BACKUP LOG WITH NO_LOG e WITH TRUNCATE_ONLY non sono più supportate. Se si utilizza il modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk ed è necessario rimuovere la catena dei backup del log da un database, passare al modello di recupero con registrazione minima. Per ulteriori informazioni, vedere Considerazioni sul passaggio dal modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk. |
Per ulteriori informazioni sul troncamento del log in generale, vedere Troncamento del log delle transazioni.
Concorrenza
In SQL Server viene eseguito un processo di backup online per consentire l'esecuzione del backup di un database mentre il database è ancora in uso. Durante un backup, è possibile eseguire la maggior parte delle operazioni, ad esempio istruzioni INSERT, UPDATE o DELETE.
Le operazioni di cui non è consentita l'esecuzione durante un backup del database o del log delle transazioni sono le seguenti:
-
Operazioni di gestione dei file, come l'istruzione ALTER DATABASE con l'opzione ADD FILE o REMOVE FILE.
-
Compattazione di database o file, incluse operazioni di compattazione automatica.
Se un'operazione di backup si sovrappone a un'operazione di compattazione o di gestione dei file, viene generato un conflitto. Indipendentemente dall'operazione iniziata per prima tra quelle in conflitto, la seconda operazione attende il timeout del blocco impostato dalla prima operazione. Il periodo di timeout dipende da un'impostazione di timeout di sessione. Se il blocco viene rilasciato entro il periodo di timeout, la seconda operazione continua. Se il periodo di timeout scade, la seconda operazione non viene eseguita.
Formattazione dei supporti di backup
I supporti di backup vengono formattati tramite l'istruzione BACKUP esclusivamente quando si verifica una delle condizioni seguenti:
-
Viene specificata l'opzione FORMAT.
-
I supporti sono vuoti.
-
Viene eseguita un'operazione di scrittura in un nastro di continuità.
Per ulteriori informazioni, vedere Creazione di un nuovo set di supporti.
Tipi di backup
I tipi di backup supportati dipendono dal modello di recupero del database utilizzato, in base a quanto indicato di seguito.
-
Tutti i modelli di recupero supportano backup completi e differenziali dei dati.
Ambito del backup
Tipi di backup
Database intero
I backup del database vengono eseguiti sull'intero database.
Facoltativamente, ogni backup del database può essere utilizzato come base di una serie di uno o più backup differenziali del database.
Database parziale
I backup parziali vengono eseguiti sui filegroup di lettura/scrittura e, facoltativamente, su uno o più file o filegroup di sola lettura.
Facoltativamente, ogni backup parziale può essere utilizzato come base di una serie di uno o più backup parziali differenziali.
File o filegroup
I backup dei file vengono eseguiti su uno o più file o filegroup e sono rilevanti solo per i database contenenti più filegroup. Se si utilizza il modello di recupero con registrazione minima, i backup dei file sono in genere limitati ai filegroup di sola lettura secondari.
Facoltativamente, ogni backup dei file può essere utilizzato come base di una serie di uno o più backup differenziali dei file.
-
Se si utilizza il modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk, i backup convenzionali includono inoltre backup del log delle transazioni (o backup del log) sequenziali, che sono obbligatori. Ogni backup del log viene eseguito sulla parte del log delle transazioni attiva al momento della creazione del backup e include tutti i record del log di cui non è stato eseguito il backup nei backup del log precedenti.
Per ridurre al minimo il rischio di perdita di dati, aumentando tuttavia il numero di operazioni amministrative, è consigliabile pianificare backup del log frequenti. La pianificazione di backup differenziali nei periodi intermedi tra i backup completi consente di ridurre i tempi di ripristino limitando il numero di backup del log da ripristinare in seguito al ripristino dei dati.
È consigliabile archiviare i backup dei log in un volume distinto rispetto ai backup dei database.
Nota
Prima che sia possibile creare il primo backup del log, è necessario creare un backup completo.
Per ulteriori informazioni, vedere Utilizzo dei backup del log delle transazioni.
-
Un backup di sola copia è un backup completo o un backup del log per scopi speciali indipendente dalla normale sequenza di backup convenzionali. Per creare un backup di sola copia, specificare l'opzione COPY_ONLY nell'istruzione BACKUP. Per ulteriori informazioni, vedere Backup di sola copia.
Interazione tra SKIP, NOSKIP, INIT e NOINIT
In questa tabella vengono descritte le interazioni tra le opzioni { NOINIT | INIT } e { NOSKIP | SKIP }.
Nota
|
|---|
|
Se il nastro è vuoto oppure il file di backup su disco non esiste, tutte le interazioni comportano la scrittura di un'intestazione dei supporti prima di continuare l'operazione. Se i supporti non sono vuoti e non è presente un'intestazione valida, viene segnalata la presenza di supporti MTF non validi e l'operazione di backup viene interrotta. |
|
|
NOINIT |
INIT |
|---|---|---|
|
NOSKIP |
Se il volume contiene un'intestazione del supporto valida, viene controllata la password del supporto e viene verificato che il nome del supporto corrisponda al valore MEDIANAME, se specificato. Se il nome corrisponde, il set di backup viene accodato, mantenendo tutti i set di backup esistenti. Se il volume non contiene un'intestazione del supporto valida, viene generato un errore. |
Se il volume contiene un'intestazione del supporto valida, vengono effettuati i controlli seguenti:
Se i controlli hanno esito positivo, gli eventuali set di backup presenti nel supporto vengono sovrascritti, mantenendo solo l'intestazione. Se il volume non contiene un'intestazione del supporto valida, ne viene generata automaticamente una con i valori specificati per MEDIANAME, MEDIAPASSWORD e MEDIADESCRIPTION, se disponibili. |
|
SKIP |
Se il volume contiene un'intestazione del supporto valida, viene verificata la password del supporto o il set di backup viene accodato, mantenendo tutti i set di backup esistenti. |
Se il volume contiene un'intestazione del supporto valida1, viene verificata la password del supporto e gli eventuali set di backup presenti nel supporto vengono sovrascritti, mantenendo solo l'intestazione. Se il supporto è vuoto, viene generata un'intestazione utilizzando i valori specificati per MEDIANAME, MEDIAPASSWORD e MEDIADESCRIPTION, se disponibili. |
1 Per il controllo di validità vengono verificati il numero di versione MTF e altre informazioni dell'intestazione. Se la versione specificata non è supportata o ha un valore imprevisto, viene generato un errore.
2 Per eseguire un'operazione di backup, l'utente deve appartenere al ruolo predefinito del database o del server appropriato e specificare la password dei supporti corretta.
Tabelle di cronologia di backup
In SQL Server sono incluse le tabelle di cronologia di backup seguenti, utilizzate per tenere traccia delle attività di backup:
Quando si esegue un ripristino, se il set di backup non è già stato registrato nel database msdb, è possibile che le tabelle di cronologia di backup vengano modificate.
Informazioni sulla compatibilità
Attenzione
|
|---|
|
I backup creati nella versione più recente di SQL Server non possono essere ripristinati nelle versioni precedenti di SQL Server. |
L'istruzione BACKUP supporta l'opzione RESTART per garantire la compatibilità con le versioni precedenti di SQL Server. L'opzione RESTART non ha tuttavia alcun effetto in SQL Server 2005 e versioni successive.
Dispositivi di backup in un set di supporti con striping (set di striping)
Un set di striping è un set di file su disco in cui i dati sono divisi in blocchi e distribuiti in base a un ordine prestabilito. Il numero di dispositivi di backup utilizzati in un set di striping deve rimanere invariato, a meno che i supporti non vengano reinizializzati tramite FORMAT.
Nell'esempio seguente un backup del database AdventureWorks2008R2 viene scritto in un nuovo set di supporti con striping che utilizza tre file su disco.
BACKUP DATABASE AdventureWorks2008R2 TO DISK='X:\SQLServerBackups\AdventureWorks2008R2_1.bak', DISK='Y:\SQLServerBackups\AdventureWorks2008R2_2.bak', DISK='Z:\SQLServerBackups\AdventureWorks2008R2_3.bak' WITH FORMAT, MEDIANAME = 'AdventureWorks2008R2StripedSet0', MEDIADESCRIPTION = 'Striped media set for AdventureWorks2008R2 database; GO
Dopo avere definito un dispositivo di backup come parte di un set di striping, non è possibile utilizzarlo per il backup su un singolo dispositivo, a meno che non si specifichi FORMAT. In modo analogo, non è possibile utilizzare un dispositivo di backup contenente backup senza striping in un set di striping, a meno che non si specifichi l'opzione FORMAT. Utilizzare l'opzione FORMAT per dividere un set di backup di striping.
Se per la scrittura di un'intestazione del supporto non si specifica né MEDIANAME né MEDIADESCRIPTION, il campo dell'intestazione del supporto corrispondente alla voce non specificata risulta vuoto.
Utilizzo di un set di supporti con mirroring
In genere, i backup vengono eseguiti senza mirroring e le istruzioni BACKUP includono solo una clausola TO. Ogni set di supporti, tuttavia, può contenere uno totale di quattro mirror. Per un set di supporti con mirroring, l'operazione di backup scrive in più gruppi di dispositivi di backup. Ogni gruppo di dispositivi di backup comprende un solo mirror all'interno del set di supporti con mirroring. Ogni mirror deve utilizzare la stessa quantità e lo stesso tipo di dispositivi di backup fisici, configurati con le stesse proprietà.
Per eseguire il backup in un set di supporti con mirroring, è necessario che siano presenti tutti i mirror. Per eseguire il backup in un set di backup con mirroring, specificare la clausola TO per indicare il primo mirror e quindi una clausola MIRROR TO per ogni mirror aggiuntivo.
Per un set di supporti con mirroring, ogni clausola MIRROR TO deve includere lo stesso numero e lo stesso tipo di dispositivi indicati nella clausola TO. Nell'esempio seguente viene eseguita la scrittura in un set di supporti con mirroring contenente due mirror, utilizzando tre dispositivi per ogni mirror:
BACKUP DATABASE AdventureWorks2008R2 TO DISK='X:\SQLServerBackups\AdventureWorks2008R2_1a.bak', DISK='Y:\SQLServerBackups\AdventureWorks2008R2_2a.bak', DISK='Z:\SQLServerBackups\AdventureWorks2008R2_3a.bak' MIRROR TO DISK='X:\SQLServerBackups\AdventureWorks2008R2_1b.bak', DISK='Y:\SQLServerBackups\AdventureWorks2008R2_2b.bak', DISK='Z:\SQLServerBackups\AdventureWorks2008R2_3b.bak'; GO
Importante |
|---|
Questo esempio è progettato in modo da poter essere testato nel sistema locale. In pratica, l'esecuzione di un backup su più dispositivi nella stessa unità influirebbe negativamente sulle prestazioni ed eliminerebbe la ridondanza per cui sono progettati i set di supporti con mirroring. |
Gruppi di supporti in set di supporti con mirroring
Ogni dispositivo di backup specificato nella clausola TO di un'istruzione BACKUP corrisponde a un gruppo di supporti. Se, ad esempio, nella clausola TO sono indicati tre dispositivi, l'istruzione BACKUP scrive i dati in tre gruppi di supporti. In un set di supporti con mirroring ogni mirror deve contenere una copia di ogni gruppo di supporti. Per questo motivo, il numero di dispositivi deve essere identico in ogni mirror.
Se per ogni mirror vengono specificati più dispositivi, l'ordine dei dispositivi nell'elenco determina il gruppo di supporti scritto in ogni dispositivo specifico. In ognuno degli elenchi di dispositivi, ad esempio, il secondo dispositivo corrisponde al secondo gruppo di supporti. Nella tabella seguente viene illustrata la corrispondenza tra i dispositivi e i gruppi di supporti inclusi nell'esempio precedente.
Mirror | Gruppo di supporti 1 | Gruppo di supporti 2 | Gruppo di supporti 3 |
|---|---|---|---|
0 | Z:\AdventureWorks2008R2_1a.bak | Z:\AdventureWorks2008R2_2a.bak | Z:\AdventureWorks2008R2_3a.bak |
1 | Z:\AdventureWorks2008R2_1b.bak | Z:\AdventureWorks2008R2_2b.bak | Z:\AdventureWorks2008R2_3b.bak |
Di ogni gruppo di supporti è necessario eseguire il backup sempre nello stesso dispositivo all'interno di un mirror specifico. Per questo motivo, ogni volta che si utilizza un set di supporti esistente, è necessario elencare i dispositivi di ogni mirror in base allo stesso ordine in cui sono stati specificati al momento della creazione del set di supporti.
Per ulteriori informazioni sui set di supporti con mirroring, vedere Utilizzo di set di supporti di backup con mirroring. Per ulteriori informazioni sui set di supporti e i gruppi di supporti in generale, vedere Set di supporti, gruppi di supporti e set di backup.
Le autorizzazioni per le istruzioni BACKUP DATABASE e BACKUP LOG vengono assegnate per impostazione predefinita ai membri del ruolo predefinito del server sysadmin e dei ruoli predefiniti del database db_owner e db_backupoperator.
È inoltre possibile specificare password per un set di supporti o un set di backup oppure per entrambi. Se si imposta una password per un set di supporti, è necessario specificare tale password per eseguire queste operazioni. Analogamente, l'operazione di ripristino è consentita solo se nel comando di ripristino vengono specificate le password corrette per i supporti e il set di backup.
Per l'istruzione BACKUP l'impostazione delle password per i set di backup e di supporti è facoltativa. Il livello di protezione garantito da questa password è vulnerabile. Lo scopo consiste nell'impedire un ripristino non corretto da parte di utenti autorizzati o non autorizzati mediante gli strumenti di SQL Server. Non viene impedita la lettura dei dati di backup eseguita con altri mezzi né la sostituzione della password. Le password, inoltre, non impediscono la sovrascrittura dei supporti mediante l'opzione FORMAT. È consigliabile utilizzare password complesse. Per informazioni sulle password complesse, vedere Password complesse.
L'utilizzo di password, pertanto, consente di proteggere il contenuto dei supporti da accessi non autorizzati effettuati tramite gli strumenti di SQL Server, ma non impedisce l'eliminazione del contenuto. Le password non impediscono completamente l'accesso non autorizzato al contenuto dei supporti, in quanto i dati dei set di backup non sono crittografati e sono pertanto accessibili tramite programmi creati specificatamente a tale scopo. Se la sicurezza è un fattore di importanza cruciale, è fondamentale impedire l'accesso fisico ai supporti da parte di utenti non autorizzati.
Non è corretto impostare una password per oggetti ai quali non è stata associata una password in fase di creazione.
L'istruzione BACKUP crea il set di backup con la password specificata tramite l'opzione PASSWORD. Questa istruzione inoltre, prima di eseguire scritture nei supporti, verifica la password dei supporti specificata nell'opzione MEDIAPASSWORD. L'unica situazione in cui la password non viene verificata è durante la formattazione dei supporti, che comporta la sovrascrittura dell'intestazione dei supporti. Se l'istruzione BACKUP scrive l'intestazione dei supporti, la password del set di supporti verrà impostata automaticamente sul valore specificato nell'opzione MEDIAPASSWORD.
Per informazioni sull'effetto delle password sulle opzioni SKIP, NOSKIP, INIT e NOINIT, vedere la sezione "Osservazioni" più avanti in questo argomento.
Eventuali problemi di appartenenza e autorizzazioni per il file fisico del dispositivo di backup possono interferire con le operazioni di backup. SQL Server deve essere in grado di leggere e scrivere nel dispositivo. L'account utilizzato per l'esecuzione del servizio SQL Server deve disporre di autorizzazioni di scrittura. Le autorizzazioni di accesso ai file, tuttavia, non vengono controllate dalla stored procedure sp_addumpdevice, che aggiunge una voce per un dispositivo di backup nelle tabelle di sistema. Di conseguenza, i problemi relativi all'accesso e alla proprietà del file fisico del dispositivo di backup potrebbero emergere solo in fase di accesso alla risorsa fisica durante un tentativo di backup o ripristino.
Nota
|
|---|
|
Il database AdventureWorks2008R2 viene utilizzato esclusivamente a scopo illustrativo. AdventureWorks2008R2 è uno dei database di esempio disponibili in SQL Server 2005. Adventure Works Cycles è un'azienda manifatturiera fittizia utilizzata per esemplificare concetti e scenari relativi ai database. Per ulteriori informazioni su questo database, vedere Database di esempio AdventureWorks2008R2. |
In questa sezione sono disponibili gli esempi seguenti:
-
D. Creazione di un backup differenziale dei filegroup secondari
-
H. Creazione di un backup compresso in un nuovo set di supporti
Nota
|
|---|
|
Ulteriori esempi sono inclusi negli argomenti relativi alle procedure di backup. Per ulteriori informazioni, vedere Procedure per il backup e il ripristino (Transact-SQL). |
A. Backup di un database completo
Nell'esempio seguente viene eseguito il backup del database AdventureWorks2008R2 in un file su disco.
BACKUP DATABASE AdventureWorks2008R2 TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak' WITH FORMAT; GO
B. Backup del database e del log
Nell'esempio seguente viene eseguito il backup del database di esempio AdventureWorks2008R2, per il quale viene utilizzato per impostazione predefinita il modello di recupero con registrazione minima. Per consentire il backup del log, il database AdventureWorks2008R2 viene modificato per l'utilizzo del modello di recupero con registrazione completa.
Nell'esempio viene quindi utilizzata la stored procedure sp_addumpdevice per creare un dispositivo di backup logico per il backup dei dati, AdvWorksData, e un altro dispositivo di backup logico per il backup del log, AdvWorksLog.
Nell'esempio viene infine creato un backup completo del database in AdvWorksData e, dopo un periodo dedicato alle attività di aggiornamento, viene eseguito il backup del log in AdvWorksLog.
-- To permit log backups, before the full database backup, modify the database -- to use the full recovery model. USE master; GO ALTER DATABASE AdventureWorks2008R2 SET RECOVERY FULL; GO -- Create AdvWorksData and AdvWorksLog logical backup devices. USE master GO EXEC sp_addumpdevice 'disk', 'AdvWorksData', 'Z:\SQLServerBackups\AdvWorksData.bak'; GO EXEC sp_addumpdevice 'disk', 'AdvWorksLog', 'X:\SQLServerBackups\AdvWorksLog.bak'; GO -- Back up the full AdventureWorks2008R2 database. BACKUP DATABASE AdventureWorks2008R2 TO AdvWorksData; GO -- Back up the AdventureWorks2008R2 log. BACKUP LOG AdventureWorks2008R2 TO AdvWorksLog; GO
Nota |
|---|
Per i database di produzione, eseguire il backup del log regolarmente. La frequenza dei backup del log dovrà essere tale da consentire una protezione sufficiente per evitare perdite di dati. |
C. Creazione di un backup completo dei filegroup secondari
Nell'esempio seguente viene creato un backup completo di ogni file presente in entrambi i filegroup secondari.
--Back up the files in SalesGroup1: BACKUP DATABASE Sales FILEGROUP = 'SalesGroup1', FILEGROUP = 'SalesGroup2' TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck' GO
D. Creazione di un backup differenziale dei filegroup secondari
Nell'esempio seguente viene creato un backup differenziale di ogni file presente in entrambi i filegroup secondari.
--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1',
FILEGROUP = 'SalesGroup2'
TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck'
WITH
DIFFERENTIAL
GO
E. Creazione di un set di supporti con mirroring con un singolo gruppo di supporti ed esecuzione di un backup in tale set
Nell'esempio seguente viene creato un set di supporti con mirroring contenente un singolo gruppo di supporti e quattro mirror, quindi viene eseguito il backup del database AdventureWorks2008R2 in tali supporti.
BACKUP DATABASE AdventureWorks2008R2 TO TAPE = '\\.\tape0' MIRROR TO TAPE = '\\.\tape1' MIRROR TO TAPE = '\\.\tape2' MIRROR TO TAPE = '\\.\tape3' WITH FORMAT, MEDIANAME = 'AdventureWorks2008R2Set0'
F. Creazione di un set di supporti con mirroring con più gruppi di supporti ed esecuzione di un backup in tale set
Nell'esempio seguente viene creato un set di supporti con mirroring in cui ogni mirror è composto da due gruppi di supporti. Viene quindi eseguito il backup del database AdventureWorks2008R2 in entrambi i mirror.
BACKUP DATABASE AdventureWorks2008R2 TO TAPE = '\\.\tape0', TAPE = '\\.\tape1' MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3' WITH FORMAT, MEDIANAME = 'AdventureWorks2008R2Set1'
G. Backup in un set di supporti con mirroring esistente
Nell'esempio seguente un set di backup viene accodato al set di supporti creato nell'esempio precedente.
BACKUP LOG AdventureWorks2008R2 TO TAPE = '\\.\tape0', TAPE = '\\.\tape1' MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3' WITH NOINIT, MEDIANAME = 'AdventureWorks2008R2Set1'
Nota |
|---|
L'opzione predefinita NOINIT viene specificata in modo esplicito nell'istruzione per maggiore chiarezza. |
H. Creazione di un backup compresso in un nuovo set di supporti
Nell'esempio seguente vengono formattati i supporti, creando un nuovo set di supporti, e viene eseguito un backup compresso completo del database AdventureWorks2008R2.
BACKUP DATABASE AdventureWorks2008R2 TO DISK='Z:\SQLServerBackups\AdvWorksData.bak' WITH FORMAT, COMPRESSION
