Creare un backup crittografato

Si applica a:SQL Server

In questo articolo vengono descritti i passaggi necessari per creare un backup crittografato tramite Transact-SQL. Per un esempio dell'uso di SQL Server Management Studio, vedere Creazione di un backup completo del database.

Attenzione

Per ripristinare un database crittografato, è necessario accedere al certificato o alla chiave asimmetrica usata per crittografare il database in questione. Non è possibile effettuare l'operazione di ripristino del database senza almeno uno di questi due elementi. Salvare il certificato usato per crittografare la chiave di crittografia del database fino al salvataggio del backup. Per altre informazioni, vedere SQL Server Certificates and Asymmetric Keys.

Prerequisiti

  • Archiviazione per il backup crittografato. A seconda dell'opzione scelta, una delle opzioni seguenti:

    • Un disco locale o a uno spazio di archiviazione con una quantità di spazio adeguata per creare un backup del database.
    • Un account di archiviazione di Azure e un contenitore. Per altre informazioni, vedere Creare un account di archiviazione.
  • Una chiave master di un database (DMK) per il database master e un certificato o una chiave asimmetrica nell'istanza di SQL Server. Per le autorizzazioni e i requisiti di crittografia, vedere Crittografia di backup.

Creare una chiave master del database (DMK)

Scegliere una password per la crittografia della copia della DMK che verrà archiviata nel database. Connettersi al motore di database, avviare una nuova finestra Query, copiare e incollare l'esempio seguente, quindi selezionare Esegui.

Sostituire <master key password> con una password complessa e assicurarsi di mantenere una copia di DMK e della password in una posizione sicura.

USE master;
GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>';
GO

Creare un certificato di backup

Creare un certificato di backup nel database master. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui.

Use master;
GO

CREATE CERTIFICATE MyTestDBBackupEncryptCert
    WITH SUBJECT = 'MyTestDB Backup Encryption Certificate';
GO

Eseguire il backup del database con la crittografia

Sono disponibili due opzioni principali per la creazione di un backup crittografato:

  • Eseguire il backup su disco
  • Backup su Archiviazione di Azure

Utilizzare i passaggi seguenti per creare un backup crittografato di un database in un disco locale. In questo esempio viene utilizzato un database utente denominato MyTestDB.

specificare l'algoritmo di crittografia e il certificato da usare. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui.

Sostituire <path_to_local_backup> con un percorso locale in cui SQL Server dispone dell'autorizzazione per la scrittura. Ad esempio, questa potrebbe essere D:\SQLBackup.

BACKUP DATABASE [MyTestDB]
TO DISK = N'<path_to_local_backup>\MyTestDB.bak'
WITH
COMPRESSION,
ENCRYPTION (
    ALGORITHM = AES_256,
    SERVER CERTIFICATE = MyTestDBBackupEncryptCert
),
STATS = 10;
GO

Per un esempio di crittografia di un backup protetto da Extensible Key Management (EKM), vedere Extensible Key Management tramite l'insieme di credenziali delle chiavi di Azure (SQL Server).