Condividi tramite


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.

Tipi di backup di sola copia

I tipi di backup di sola copia sono i seguenti:

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

  • Un backup completo di solo copia non può fungere da base o come backup differenziale e non modifica la base differenziale.

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

Copia di backup solo del log (solo per il modello di recupero completo e il modello di recupero con registrazione ridotta delle operazioni bulk)

  • Un backup del log di sola copia mantiene il punto di archiviazione del log esistente e, pertanto, non influisce sulla sequenziazione dei backup regolari del log. I backup del log di sola copia in genere non sono necessari. È invece possibile creare un nuovo backup del log di routine e ripristinare tale backup (usando l'opzione WITH NORECOVERY ) insieme a tutti i backup del log precedenti necessari per la sequenza di ripristino.

    Un backup del log di sola copia può talvolta essere utile per eseguire un ripristino online. 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.

Osservazioni:

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

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 Azure SQL supporta l'esecuzione di COPY_ONLY backup completi. Nell'esempio viene eseguito un COPY_ONLY backup di MyDatabase nell'archivio BLOB di Microsoft Azure. Il nome dell'account di archiviazione è mystorageaccount, mentre il nome del contenitore è myfirstcontainer. I criteri di accesso alle risorse di archiviazione vengono creati con diritti di lettura, scrittura, eliminazione 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 nell'archiviazione BLOB di Microsoft Azure, vedere Backup e ripristino di SQL Server con Archiviazione BLOB di Azure e backup di SQL Server nell'URL per Archiviazione BLOB di Microsoft Azure.

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