Backup di sola copia

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Un backup di sola copia è un backup di SQL Server indipendente dalla sequenza dei backup convenzionali di SQL Server. In genere, l'esecuzione di un backup comporta la modifica del database e influisce sulla modalità di ripristino dei backup successivi. In alcuni casi, tuttavia, è utile eseguire un backup per uno scopo speciale senza influire sulle procedure generali di backup e ripristino del database. I backup di sola copia hanno questo scopo.

I tipi di backup di sola copia sono i seguenti:

  • Backup completi di sola copia (tutti i modelli di recupero)

    • Un backup di sola copia non può essere utilizzato come base differenziale o come backup differenziale e non influisce sulla base differenziale.

    • Ripristinare un backup completo di sola copia equivale al ripristino di un qualsiasi altro backup completo.

  • Backup del log di sola copia (solo modello di recupero con registrazione completa e modello di recupero con registrazione minima delle operazioni bulk)

    • Un backup del log di sola copia mantiene il punto di archiviazione del log esistente e pertanto non influisce sulla sequenza dei backup del log regolari. I backup del log di sola copia in genere non sono necessari. È invece possibile creare un nuovo backup del log di routine (con WITH NORECOVERY) e quindi utilizzare il backup in questione insieme a tutti i backup del log precedenti necessari per la sequenza di ripristino. Tuttavia, un backup del log di sola copia può talvolta essere utile per eseguire un ripristino in linea. Per altre informazioni, seguire le istruzioni riportate nell'articolo Esempio: Ripristino online di un file di lettura/scrittura (modello di recupero con registrazione completa), usando invece i file di backup di sola copia.

    • Il log delle transazioni non viene mai troncato dopo un backup di sola copia.

I backup di sola copia vengono registrati nella colonna is_copy_only della tabella backupset.

Importante

In un’istanza gestita di SQL di Azure, non è possibile creare i backup di sola copia per un database crittografato con Transparent Data Encryption (TDE) gestita dal servizio. La crittografia TDE gestita dal servizio usa la chiave interna per la crittografia dei dati e tale chiave non può essere esportata, quindi non è possibile ripristinare il backup in qualsiasi altro punto. Per poter creare backup di sola copia dei database crittografati, è consigliabile usare TDE gestita dal cliente, ma assicurarsi che la chiave di crittografia sia disponibile per il ripristino successivo.

Creare un backup di sola copia

È possibile creare un backup di sola copia con SQL Server Management Studio, Azure Data Studio, Transact-SQL o PowerShell.

R. Usare SQL Server Management Studio

In questo esempio viene eseguito il backup di sola copia su disco del database Sales nel percorso di backup predefinito.

  1. In Esplora oggetticonnettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.

  2. Espandere i database, fare clic con il pulsante destro del mouse su Sales, scegliere Attività, quindi selezionare Backup....

  3. Nella pagina Generale della sezione Origine, selezionare la casella di controllo Backup di sola copia .

  4. Seleziona OK.

B. Usare Transact-SQL

Questo esempio crea un backup di sola copia per il database Sales usando il parametro COPY_ONLY. Viene eseguito anche un backup di sola copia del log delle transazioni.

BACKUP DATABASE Sales
TO DISK = 'E:\BAK\Sales_Copy.bak'
WITH COPY_ONLY;

BACKUP LOG Sales
TO DISK = 'E:\BAK\Sales_LogCopy.trn'
WITH COPY_ONLY;

Nota

L'opzione COPY_ONLY non ha alcun effetto quando specificata con l'opzione DIFFERENTIAL.

C. Usare Transact-SQL e l’istanza gestita di SQL di Azure

L’istanza gestita di SQL di Azure supporta l'esecuzione di backup completi COPY_ONLY. L'esempio esegue un backup COPY_ONLY di MyDatabase in Archiviazione BLOB di Azure. Il nome dell'account di archiviazione è mystorageaccount, mentre il nome del contenitore è myfirstcontainer. Sono stati creati criteri di accesso all’archiviazione con diritti di lettura, scrittura ed elenco. Le credenziali di SQL Server, https://mystorageaccount.blob.core.windows.net/myfirstcontainer, sono state creati usando una firma di accesso condiviso associata al segreto dei criteri di accesso all’archiviazione. Per informazioni sul backup di SQL Server in Archiviazione BLOB di Azure, vedere Backup e ripristino di SQL Server con Archiviazione BLOB di Azure e Backup di SQL Server nell'URL.

-- Prerequisite to have write permissions
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/myfirstcontainer]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sp=...' -- Enter your secret SAS token here.

BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabaseBackup.bak'
WITH STATS = 5, COPY_ONLY;

Per eseguire un backup di sola copia diviso in più striping, usare questo esempio:

BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-04.bak'
WITH COPY_ONLY;

D. Utilizzare PowerShell

Questo esempio crea un backup di sola copia per il database Sales usando il parametro -CopyOnly.

Backup-SqlDatabase -ServerInstance 'SalesServer' -Database 'Sales' -BackupFile 'E:\BAK\Sales_Copy.bak' -CopyOnly

Creare un backup completo o del log

Visualizzare backup di sola copia

Impostare e usare il provider PowerShell per SQL Server