Condividi tramite


Creare un backup crittografato

In questo argomento vengono descritti i passaggi necessari per creare un backup crittografato tramite Transact-SQL.

Eseguire il backup su disco con crittografia

Prerequisiti:

  • Accesso a un disco locale o all'archiviazione con spazio sufficiente per creare un backup del database.

  • Una chiave master del database per il database master e un certificato o una chiave asimmetrica disponibile nell'istanza di SQL Server. Per i requisiti e le autorizzazioni di crittografia, vedere Crittografia del backup.

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

  1. Creare una chiave master del database master: Scegliere una password per crittografare la copia della chiave master che verrà archiviata nel database. Connettersi al motore di database, avviare una nuova finestra di query e copiare e incollare l'esempio seguente e fare clic su Esegui.

    -- Creates a database master key.   
    -- The key is encrypted using the password "<master key password>"  
    USE master;  
    GO  
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>';  
    GO  
    
    
  2. Creare un certificato di backup: Creare un certificato di backup nel database master. Copiare e incollare l'esempio seguente nella finestra di query e fare clic su Esegui

    Use Master  
    GO  
    CREATE CERTIFICATE MyTestDBBackupEncryptCert  
       WITH SUBJECT = 'MyTestDB Backup Encryption Certificate';  
    GO  
    
    
  3. Eseguire il backup del database: Specificare l'algoritmo di crittografia e il certificato da usare. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

    BACKUP DATABASE [MyTestDB]  
    TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\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 un EKM, vedere Extensible Key Management using Azure Key Vault (SQL Server).

Eseguire il backup in Archiviazione Azure con crittografia

Se si sta creando un backup nell'archiviazione di Azure usando l'opzione Backup di SQL Server nell'URL , i passaggi di crittografia sono gli stessi, ma è necessario usare l'URL come destinazione e le credenziali SQL per l'autenticazione nell'archiviazione di Azure. Per configurare il backup gestito di SQL Server in Microsoft Azure con opzioni di crittografia, vedere Configurazione del backup gestito di SQL Server in Azure e configurazione del backup gestito di SQL Server in Azure per i gruppi di disponibilità.

Prerequisiti:

  1. Creare credenziali di SQL Server: Per creare credenziali di SQL Server, connettersi al motore di database, aprire una nuova finestra di query e copiare e incollare l'esempio seguente e fare clic su Esegui.

    CREATE CREDENTIAL mycredential   
    WITH IDENTITY= 'mystorageaccount' - this is the name of the storage account you specified when creating a storage account    
    , SECRET = '<storage account access key>' - this should be either the Primary or Secondary Access Key for the storage account  
    
  2. Creare una chiave master del database: scegliere una password per crittografare la copia della chiave master che verrà archiviata nel database. Connettersi al motore di database, avviare una nuova finestra di query e copiare e incollare l'esempio seguente e fare clic su Esegui.

    -- Creates a database master key.  
    -- The key is encrypted using the password "<master key password>"  
    USE Master;  
    GO  
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>';  
    GO  
    
    
  3. Creare un certificato di backup: Creare un certificato di backup nel database master. Copiare e incollare l'esempio seguente nella finestra di query e fare clic su Esegui

    USE Master;  
    GO  
    CREATE CERTIFICATE MyTestDBBackupEncryptCert  
       WITH SUBJECT = 'MyTestDBBackupEncryptCert ';  
    GO  
    
    
  4. Eseguire il backup del database: Specificare l'algoritmo di crittografia e il certificato da usare. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

    BACKUP DATABASE [MyTestDB]  
    TO URL = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'  
    WITH  
      CREDENTIAL 'mycredential' - this is the name of the credential created in the first step.  
      ,COMPRESSION  
      ,ENCRYPTION   
       (  
       ALGORITHM = AES_256,  
       SERVER CERTIFICATE = MyTestDBBackupEncryptCert  
       ),  
      STATS = 10  
    GO