Dispositivi di backup (SQL Server)

Durante un'operazione di backup in un database di SQL Server, i dati di cui è stato eseguito il backup vengono scritti in un dispositivo di backup fisico. Tale dispositivo di backup fisico viene inizializzato quando si scrive su di esso il primo backup di un set di supporti. I backup disponibili in un set di uno o più dispositivi di backup costituiscono un singolo set di supporti.

Contenuto dell'argomento

Termini e definizioni

disco di backup
Disco rigido o altro supporto di archiviazione su disco in cui sono contenuti uno o più file di backup. Un file di backup è un file normale del sistema operativo.

set di supporti
Raccolta ordinata di nastri, file su disco o supporti di backup in cui vengono utilizzati un tipo e un numero fisso di dispositivi di backup. Per altre informazioni sui set di supporti, vedere Set di supporti, gruppi di supporti e set di backup (SQL Server).

dispositivo di backup fisico
Unità nastro o file su disco fornito dal sistema operativo. È possibile scrivere un backup su un massimo di 64 dispositivi di backup. Se un backup richiede più dispositivi di backup, tutti devono corrispondere a un unico tipo di dispositivo, ovvero disco o nastro.

I backup di SQL Server possono essere scritti nel servizio Archiviazione BLOB di Azure oltre che su disco o nastro.

Utilizzo di dispositivi di backup su disco

Contenuto della sezione

Se lo spazio su disco assegnato a un file si esaurisce mentre è in corso l'aggiunta di un backup al set di supporti durante un'operazione di backup, l'operazione avrà esito negativo. Le dimensioni massime di un file di backup sono determinate dallo spazio libero su disco disponibile nel dispositivo disco. Le dimensioni appropriate per un dispositivo disco di backup dipendono pertanto dalle dimensioni dei backup eseguiti.

Un dispositivo di backup su disco può essere un semplice dispositivo disco, come un'unità ATA. In alternativa, è possibile utilizzare un'unità disco collegabile a caldo che consenta di sostituire in modo trasparente un disco vuoto a un disco pieno presente nell'unità. Un disco di backup può essere un disco locale nel server o un disco remoto, ovvero una risorsa di rete condivisa. Per informazioni sull'utilizzo di un disco remoto, vedere Esecuzione del backup in un file in una condivisione di retedi seguito in questo argomento.

SQL Server strumenti di gestione sono molto flessibili nella gestione dei dispositivi di backup del disco perché generano automaticamente un nome con timestamp nel file del disco.

Importante

È consigliabile utilizzare come disco di backup un disco diverso da quelli in cui sono archiviati i dati di database e i log. Questa condizione è necessaria per garantire l'accesso ai backup in caso di errore del disco contenente il log o i dati.

Specifica di un file di backup utilizzando il nome fisico (Transact-SQL)

La sintassi di base di BACKUP per specificare un file di backup utilizzando il nome del dispositivo fisico è la seguente:

BACKUP DATABASE database_name

TO DISK = { 'physical_backup_device_name'physical_backup_device_name_var | @ }

Ad esempio:

BACKUP DATABASE AdventureWorks2012   
   TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak';  
GO  

La sintassi di base per specificare un dispositivo disco fisico in un'istruzione RESTORE è la seguente:

RESTORE { DATABASE | LOG } database_name

FROM DISK = { 'physical_backup_device_name'physical_backup_device_name_var | @ }

Ad esempio,

RESTORE DATABASE AdventureWorks2012   
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak';   

Impostazione del percorso di un file di backup su disco

Quando si specifica un file di backup, è consigliabile immetterne il percorso completo e il nome di file. Quando si esegue il backup di un file, se si specifica solo il nome del file o un percorso relativo, il file di backup viene inserito nella directory di backup predefinita. La directory di backup predefinita è C:\Programmi\Microsoft SQL Server\MSSQL.n\MSSQL\Backup, dove n rappresenta il numero dell'istanza del server. La directory di backup predefinita per l'istanza del server predefinita è pertanto C:\Programmi\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup.

Per evitare ambiguità, in particolare negli script, è consigliabile specificare in modo esplicito il percorso della directory di backup in ogni clausola DISK. Questa indicazione risulta tuttavia meno importante quando si utilizza l'editor di query. In questo caso infatti, se si è certi che il file di backup si trovi nella directory di backup predefinita, è possibile omettere il percorso dalla clausola DISK. Ad esempio, l'istruzione seguente BACKUP esegue il backup del database AdventureWorks2012 nella directory di backup predefinita.

BACKUP DATABASE AdventureWorks2012   
   TO DISK = 'AdventureWorks2012.bak';  
GO  

Nota

Il percorso predefinito è archiviato nella chiave del Registro di sistema BackupDirectory in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.n\MSSQLServer.

Esecuzione del backup in un file in una condivisione di rete

Affinché SQL Server di accedere a un file del disco remoto, l'account del servizio SQL Server deve avere accesso alla condivisione di rete. e disponga delle autorizzazioni necessarie per eseguire operazioni di scrittura nella condivisione di rete durante il backup e di lettura durante il ripristino. La disponibilità delle unità di rete e delle autorizzazioni dipende dal contesto in cui è in esecuzione SQL Server servizio:

  • Per eseguire il backup in un'unità di rete quando SQL Server è in esecuzione in un account utente di dominio, è necessario eseguire il mapping dell'unità condivisa come unità di rete nella sessione in cui è in esecuzione SQL Server. Se si avvia Sqlservr.exe dalla riga di comando, SQL Server visualizza tutte le unità di rete mappate nella sessione di accesso.

  • Quando si esegue Sqlservr.exe come servizio, SQL Server viene eseguito in una sessione separata che non ha alcuna relazione con la sessione di accesso. La sessione in cui viene eseguito un servizio può disporre di proprie unità di cui è stato eseguito il mapping, sebbene questo solitamente non avvenga.

  • È possibile connettersi all'account del servizio di rete utilizzando l'account del computer anziché un utente di dominio. Per consentire i backup da computer specifici in un'unità condivisa, concedere l'accesso agli account dei computer. Purché il processo Sqlservr.exe che scrive il backup abbia accesso, è irrilevante che l'utente che invia il comando BACKUP abbia accesso.

    Importante

    Il backup dei dati in una rete può essere soggetto agli errori della rete stessa. Quando si utilizza un disco remoto, è pertanto consigliabile verificare l'operazione di backup dopo il suo completamento. Per altre informazioni, vedere RESTORE VERIFYONLY (Transact-SQL).

Specifica di un nome UNC (Universal Naming Convention)

Per specificare una condivisione di rete in un comando di backup o ripristino, è necessario utilizzare il nome UNC (Universal Naming Convention) completo del file per il dispositivo di backup. Il formato del nome UNC è \\NomeSistema\NomeCondivisione\Percorso\NomeFile.

Ad esempio:

BACKUP DATABASE AdventureWorks2012   
   TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';  
GO  

Utilizzo di dispositivi nastro

Nota

Il supporto per i dispositivi di backup su nastro verrà rimosso in una versione futura di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

Contenuto della sezione

Il backup dei dati SQL Server su nastro richiede che l'unità nastro o le unità siano supportate dal sistema operativo Microsoft Windows. Per ogni unità nastro è inoltre opportuno utilizzare solo nastri consigliati dal produttore di tale unità. Per ulteriori informazioni sull'installazione di un'unità nastro, vedere la documentazione per il sistema operativo Windows.

Quando viene utilizzata un'unità nastro, se durante il backup un nastro viene completato, è possibile continuare su un altro nastro. Ogni nastro include un'intestazione supporto. Il primo supporto utilizzato è denominato nastro iniziale. Ogni nastro successivo è noto come nastro di continuità e dispone di un numero di sequenza del supporto maggiore rispetto al nastro precedente. In un set di supporti associato a quattro dispositivi nastro, ad esempio, sono presenti almeno quattro nastri iniziali e, se lo spazio non è sufficiente per il database, quattro serie di nastri di continuità. Quando si accoda un set di backup, è necessario montare l'ultimo nastro della serie. Se l'ultimo nastro non è montato, il motore di database esegue l'analisi in avanti fino alla fine del nastro montato e quindi richiede di modificare il nastro. A questo punto, montare l'ultimo nastro.

I dispositivi di backup su nastro vengono utilizzati come dispositivi disco, con le eccezioni seguenti:

  • Il dispositivo nastro deve essere connesso fisicamente al computer che esegue un'istanza di SQL Server. Il backup su dispositivi nastro remoti non è supportato.

  • Se un dispositivo di backup nastro viene riempito durante l'operazione di backup, ma è necessario scrivere altri dati, SQL Server richiede un nuovo nastro e continua l'operazione di backup dopo il caricamento di un nuovo nastro.

Specifica di un nastro di backup utilizzando il nome fisico (Transact-SQL)

La sintassi di base di BACKUP per specificare un nastro di backup utilizzando il nome di dispositivo fisico dell'unità nastro è la seguente:

BACKUP { DATABASE | LOG } database_name

TO TAPE = { 'physical_backup_device_name'physical_backup_device_name_var | @ }

Ad esempio:

BACKUP LOG AdventureWorks2012   
   TO TAPE = '\\.\tape0';  
GO  

La sintassi di base per specificare un dispositivo nastro fisico in un'istruzione RESTORE è la seguente:

RESTORE { DATABASE | LOG } database_name

FROM TAPE = { 'physical_backup_device_name'physical_backup_device_name_var | @ }

Opzioni BACKUP e RESTORE specifiche delle unità nastro (Transact-SQL)

Per facilitare la gestione dei nastri, per l'istruzione BACKUP sono disponibili le opzioni seguenti specifiche dei nastri:

  • { NOUNLOAD | UNLOAD }

    È possibile controllare se un nastro di backup viene scaricato automaticamente dall'unità nastro dopo un'operazione di backup o ripristino. UNLOAD/NOUNLOAD è un'impostazione di sessione che rimane valida per l'intera durata della sessione o finché non viene reimpostata tramite la specifica di un'impostazione alternativa.

  • { REWIND | NOREWIND }

    È possibile controllare se SQL Server mantiene aperto il nastro dopo l'operazione di backup o ripristino o rilascia e riavvolge il nastro dopo il riempimento. Il comportamento predefinito prevede il riavvolgimento del nastro (REWIND).

Nota

Per altre informazioni sulla sintassi e sugli argomenti BACKUP, vedere BACKUP (Transact-SQL). Per altre informazioni sulla sintassi e sugli argomenti RESTORE, vedere RISPETTIVAMENTE RESTORE (Transact-SQL) e RESTORE Arguments (Transact-SQL).

Gestione dei nastri aperti

Per visualizzare un elenco dei dispositivi nastro aperti e lo stato delle richieste di montaggio, eseguire una query nella DMV sys.dm_io_backup_tapes . Questa vista contiene tutti i nastri aperti, inclusi i nastri in uso che risultano temporaneamente inattivi in quanto in attesa dell'operazione BACKUP o RESTORE successiva.

Se un nastro viene inavvertitamente lasciato aperto, il modo più rapido per rilasciarlo consiste nell'usare il comando seguente: RESTORE REWINDONLY FROM TAPE =backup_device_name. Per altre informazioni, vedere RESTORE REWINDONLY (Transact-SQL).

Uso del servizio Archiviazione BLOB di Azure

I backup di SQL Server possono essere scritti nel servizio Archiviazione BLOB di Azure. Per altre informazioni su come usare il servizio di archiviazione BLOB di Azure per i backup, vedere SQL Server Backup e ripristino con Archiviazione BLOB di Azure Servizio.

Utilizzo di un dispositivo di backup logico

Un dispositivo di backup logico è un nome facoltativo definito dall'utente tramite cui viene fatto riferimento a un dispositivo di backup fisico specifico, ovvero un file su disco o un'unità nastro. Un dispositivo di backup logico consente di utilizzare i riferimenti indiretti per fare riferimento al dispositivo di backup fisico corrispondente.

La definizione di un dispositivo di backup logico implica l'assegnazione di un nome logico a un dispositivo fisico. Ad esempio, un dispositivo logico, AdventureWorksBackups, può essere definito in modo da puntare al file Z:\SQLServerBackups\AdventureWorks2012.bak o all'unità nastro \\.\tape0. Nei comandi di backup e di ripristino è quindi possibile specificare come dispositivo di backup AdventureWorksBackups, anziché DISK = "Z:\SQLServerBackups\AdventureWorks2012.bak" o TAPE = "\\.\tape0".

Il nome del dispositivo logico deve essere univoco tra tutti i dispositivi di backup logici nell'istanza del server. Per visualizzare i nomi dei dispositivi logici esistenti, eseguire una query nella vista del catalogo sys.backup_devices . Questa vista contiene il nome di ogni dispositivo di backup logico, nonché una descrizione del tipo e del nome di file o del percorso fisico del dispositivo di backup fisico corrispondente.

Dopo aver definito un dispositivo di backup logico, in un comando BACKUP o RESTORE è possibile specificare il dispositivo di backup logico anziché il nome fisico del dispositivo. Ad esempio, l'istruzione seguente esegue il backup del database AdventureWorks2012 nel dispositivo di backup logico AdventureWorksBackups .

BACKUP DATABASE AdventureWorks2012   
   TO AdventureWorksBackups;  
GO  

Nota

In una determinata istruzione BACKUP o RESTORE, il nome del dispositivo di backup logico e il nome del dispositivo di backup fisico corrispondente sono intercambiabili.

Un vantaggio offerto dall'utilizzo di un dispositivo di backup logico è la semplicità di impiego rispetto a un percorso lungo. Un dispositivo di backup logico può essere utile se si intende scrivere una serie di backup nello stesso percorso o in un dispositivo nastro. I dispositivi di backup logici sono particolarmente utili per identificare i dispositivi di backup su nastro.

È possibile scrivere uno script di backup per l'utilizzo di un particolare dispositivo di backup logico. Ciò consente di passare a nuovi dispositivi di backup fisici senza aggiornare lo script. Tale passaggio richiede il processo seguente:

  1. Eliminazione del dispositivo di backup logico originale.

  2. Definizione di un nuovo dispositivo di backup logico che utilizzi il nome del dispositivo logico originale ma esegua il mapping a un dispositivo di backup fisico diverso. I dispositivi di backup logici sono particolarmente utili per identificare i dispositivi di backup su nastro.

Set di supporti di backup con mirroring

Il mirroring dei set di supporti di backup riduce l'effetto di eventuali funzionamenti non corretti dei dispositivi di backup. Tali problemi possono risultare estremamente gravi, poiché i backup rappresentano l'ultima difesa contro la perdita dei dati. Con l'aumento delle dimensioni dei database, cresce il rischio che un errore di un dispositivo o di un supporto di backup impedisca il ripristino di un backup. I supporti di backup con mirroring aumentano l'affidabilità dei backup garantendo la ridondanza per il dispositivo di backup fisico. Per altre informazioni, vedere Set di supporti di backup con mirroring (SQL Server).

Nota

I set di supporti di backup con mirroring sono supportati solo in SQL Server 2005 edizione Enterprise e versioni successive.

Archiviazione di backup di SQL Server

È consigliabile utilizzare un'utilità di backup del file system per l'archiviazione dei backup del disco, nonché conservare gli archivi in una posizione esterna. L'utilizzo del disco consente di utilizzare la rete per scrivere i backup archiviati in un disco esterno. Il servizio Archiviazione BLOB di Azure può essere usato come opzione di archiviazione esterna. È possibile caricare i backup su disco o scriverli direttamente nel servizio Archiviazione BLOB di Azure.

Un altro approccio comune per l'archiviazione consiste nel scrivere SQL Server backup in un disco di backup locale, archiviarli su nastro e quindi archiviare i nastri fuori sito.

Attività correlate

Per specificare un dispositivo disco (SQL Server Management Studio)

Per specificare un dispositivo nastro (SQL Server Management Studio)

Per definire un dispositivo di backup logico

Per utilizzare un dispositivo di backup logico

Per visualizzare informazioni sui dispositivi di backup

Per eliminare un dispositivo di backup logico

Vedere anche

Oggetto Backup Device di SQL Server
BACKUP (Transact-SQL)
Piani di manutenzione
Set di supporti, gruppi di supporti e set di backup (SQL Server)
RESTORE (Transact-SQL)
RESTORE LABELONLY (Transact-SQL)
sys.backup_devices (Transact-SQL)
sys.dm_io_backup_tapes (Transact-SQL)
Set di supporti di backup con mirroring (SQL Server)