Condividi tramite


Backup gestito di SQL Server in Azure - Impostazioni di conservazione e archiviazione

Questo argomento descrive i passaggi di base per configurare il backup gestito di SQL Server in Microsoft Azure per un database e per configurare le impostazioni predefinite per l'istanza. L'argomento descrive anche i passaggi necessari per sospendere e riprendere il backup gestito di SQL Server tramite i servizi Microsoft Azure per l'istanza.

Per una procedura dettagliata completa sulla configurazione del backup gestito di SQL Server in Microsoft Azure, 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à.

Prima di iniziare

Limitazioni e restrizioni

Prerequisiti

  • SQL Server Agent deve essere in esecuzione.

    Avvertimento

    Se SQL Server Agent viene arrestato per un periodo di tempo e quindi riavviato, è possibile che venga visualizzata un'attività di backup aumentata a seconda del periodo di tempo trascorso tra l'arresto e l'avvio di SQL Agent e potrebbe verificarsi un backlog dei backup del log in attesa di esecuzione. Valutare la possibilità di configurare SQL Server Agent per l'avvio automatico all'avvio.

  • È necessario creare un account di archiviazione di Azure e una credenziale SQL che archivia le informazioni di autenticazione per l'account di archiviazione prima di configurare il backup gestito di SQL Server in Microsoft Azure. Per altre informazioni, vedere la sezione Introduzione ai componenti chiave e ai concetti dell'argomento Backup di SQL Server nell'URL e Lezione 2: Creare credenziali di SQL Server.

    Importante

    Backup gestito di SQL Server in Microsoft Azure crea i contenitori necessari per archiviare i backup. Il nome del contenitore viene creato usando il "nome della macchina-nome istanza". Per i gruppi di disponibilità AlwaysOn, il contenitore viene denominato usando il GUID del gruppo di disponibilità.

Sicurezza

Autorizzazioni

Per eseguire le stored procedure che abilitano il backup gestito di SQL Server in Microsoft Azure, è necessario essere un System Administrator membro o nel ruolo del database db_backupoperator con autorizzazioni ALTER ANY CREDENTIAL e EXECUTE autorizzazioni per le sp_delete_backuphistory e smart_admin.sp_backup_master_switch le stored procedure. Le stored procedure e le funzioni usate per esaminare le impostazioni esistenti richiedono Execute in genere autorizzazioni per la stored procedure e Select per la funzione.

Considerazioni sull'abilitazione del backup gestito di SQL Server in Microsoft Azure per database e istanze

Il backup gestito di SQL Server in Microsoft Azure può essere abilitato separatamente per singoli database o per l'intera istanza. Le scelte dipendono dai requisiti di recuperabilità per i database nell'istanza, dai requisiti per la gestione di più database e istanze e dall'uso strategico dell'archiviazione di Azure.

Abilitazione del backup gestito di SQL Server in Microsoft Azure a livello di database

Se un database ha requisiti specifici per il backup e il periodo di conservazione (SLA di ripristino) diversi dagli altri database nell'istanza di SQL Server, configura SQL Server Managed Backup su Microsoft Azure a livello di database per questo database. Le impostazioni a livello di database sostituiscono le impostazioni di configurazione a livello di istanza. Tuttavia, entrambe queste opzioni possono essere usate insieme nella stessa istanza. Di seguito è riportato un elenco di vantaggi e considerazioni per l'abilitazione del backup gestito di SQL Server in Microsoft Azure a livello di database.

  • Più granulare: separare le impostazioni di configurazione per ogni database. Può supportare periodi di conservazione diversi per singoli database.

  • Esegue l'override delle impostazioni a livello di istanza per il database.

  • Può essere usato per ridurre i costi di archiviazione selezionando singoli database di cui eseguire il backup.

  • Richiede la gestione di ogni database

Abilitazione del backup gestito di SQL Server in Microsoft Azure a livello di istanza con le impostazioni predefinite

Usare questa impostazione se la maggior parte dei database nell'istanza ha gli stessi requisiti per i criteri di backup e conservazione o se si vuole eseguire automaticamente il backup delle nuove istanze di database durante la creazione. Alcuni database che fanno eccezione ai criteri possono comunque essere configurati singolarmente. Di seguito è riportato un elenco di vantaggi e considerazioni quando si abilita il backup gestito di SQL Server in Microsoft Azure a livello di istanza.

  • Automazione a livello di istanza: impostazioni comuni applicate automaticamente ai nuovi database aggiunti successivamente.

  • Il backup dei nuovi database verrà eseguito automaticamente subito dopo la creazione nelle istanze

  • Può essere applicato ai database con gli stessi requisiti del periodo di conservazione.

  • È comunque possibile configurare singoli database che richiedono un periodo di conservazione diverso anche con Backup Gestito di SQL Server verso Microsoft Azure abilitato a livello di istanza con le impostazioni predefinite. È anche possibile disabilitare backup gestito di SQL Server in Microsoft Azure per i database se non si intende usare l'archiviazione di Azure per i backup.

Abilitare e configurare il backup gestito di SQL Server in Microsoft Azure per un database

La stored procedure smart_admin.sp_set_db_backup di sistema viene usata per abilitare il backup gestito di SQL Server in Microsoft Azure per un database specifico. Quando backup gestito di SQL Server in Microsoft Azure è abilitato per la prima volta nel database, è necessario specificare le informazioni seguenti oltre ad abilitare il backup gestito di SQL Server in Microsoft Azure:

  • Nome del database.

  • Periodo di conservazione.

  • Credenziali SQL usate per l'autenticazione nell'account di archiviazione di Azure.

  • Specificare di non crittografare usando @encryption_algorithm NO_ENCRYPTION = o specificare un algoritmo di crittografia supportato. Per altre informazioni sulla crittografia, vedere Crittografia di backup.

Il backup gestito di SQL Server in Microsoft Azure per la configurazione a livello di database è supportato solo tramite Transact-SQL.

Dopo che il backup gestito di SQL Server in Microsoft Azure è abilitato per un database, queste informazioni vengono mantenute. Se si modifica la configurazione, è necessario modificare solo il nome del database e l'impostazione da modificare, backup gestito di SQL Server in Microsoft Azure mantiene i valori esistenti per altri parametri quando non specificato.

Importante

Prima di configurare il backup gestito di SQL Server in Microsoft Azure in un database, potrebbe essere utile per la configurazione esistente, se disponibile. Il passaggio per esaminare le impostazioni di configurazione per un database è illustrato più avanti in questa sezione.

  • Uso di Transact-SQL:

    Se si abilita backup gestito di SQL Server in Microsoft Azure per la prima volta, i parametri obbligatori sono: @database_name, @credential_name, @encryption_algorithm, @enable_backup Il parametro @storage_url è facoltativo. Se non si specifica un valore per il @storage_url parametro , il valore viene derivato usando le informazioni sull'account di archiviazione dalle credenziali SQL. Se si specifica l'URL di archiviazione, è necessario specificare solo l'URL per la radice dell'account di archiviazione e deve corrispondere alle informazioni specificate nelle credenziali SQL specificate.

    1. Connettersi al Database Engine.

    2. Nella barra Standard fare clic su Nuova query.

    3. Copiare e incollare l'esempio seguente nella finestra di query e fare clic su Execute. In questo esempio viene abilitato il backup gestito di SQL Server in Microsoft Azure per il database 'TestDB'. Il periodo di conservazione è impostato su 30 giorni. In questo esempio viene usata l'opzione di crittografia specificando l'algoritmo di crittografia e le informazioni del encryptor.

    Use msdb;  
    GO  
    EXEC smart_admin.sp_set_db_backup   
                    @database_name='TestDB'   
                    ,@enable_backup=1  
                    ,@retention_days =30   
                    ,@credential_name ='MyCredential'  
                    ,@encryption_algorithm ='AES_256'  
                    ,@encryptor_type= 'Certificate'  
                    ,@encryptor_name='MyBackupCert'  
    GO
    

    Importante

    Il periodo di conservazione può essere impostato su qualsiasi valore compreso tra 1 e 30 giorni.

    Per altre informazioni sulla creazione di un certificato per la crittografia, vedere il passaggio Creare un certificato di backup in Creare un backup crittografato.

    Per maggiori informazioni su questa procedura memorizzata, consultare smart_admin.set_db_backup (Transact-SQL)

    Per esaminare le impostazioni di configurazione per un database, usare la query seguente:

    Use msdb  
    GO  
    SELECT * FROM smart_admin.fn_backup_db_config('TestDB')  
    

Abilitare e configurare le impostazioni predefinite di Backup gestito di SQL Server in Microsoft Azure per l'istanza

È possibile abilitare e configurare le impostazioni predefinite di Backup gestito di SQL Server in Microsoft Azure a livello di istanza in due modi: usando la stored procedure smart_admin.set_instance_backup di sistema o SQL Server Management Studio. I due metodi sono illustrati di seguito:

smart_admin.set_instance_backup:. Specificando il valore 1 per @enable_backup parametro, è possibile abilitare il backup e impostare le configurazioni predefinite. Dopo l'applicazione a livello di istanza, queste impostazioni predefinite vengono applicate a qualsiasi nuovo database aggiunto a questa istanza. Quando backup gestito di SQL Server in Microsoft Azure è abilitato per la prima volta, è necessario fornire le informazioni seguenti oltre ad abilitare il backup gestito di SQL Server in Microsoft Azure nell'istanza di :

  • Periodo di conservazione.

  • Credenziali SQL usate per l'autenticazione nell'account di archiviazione di Azure.

  • Opzione di crittografia. Specificare di non crittografare usando @encryption_algorithm NO_ENCRYPTION = o specificare un algoritmo di crittografia supportato. Per altre informazioni sulla crittografia, vedere Crittografia di backup.

Dopo l'abilitazione di queste impostazioni, queste impostazioni vengono mantenute. Se si modifica la configurazione, sono necessari solo il nome del database e l'impostazione da modificare. Backup gestito di SQL Server in Microsoft Azure mantiene i valori esistenti quando non specificato.

Importante

Prima di configurare il backup gestito di SQL Server in Microsoft Azure in un'istanza, potrebbe essere utile verificare la configurazione esistente, se disponibile. Il passaggio per esaminare le impostazioni di configurazione per un database è illustrato più avanti in questa sezione.

SQL Server Management Studio: Per eseguire questa attività in SQL Server Management Studio, passare a Esplora oggetti, espandere il nodo Gestione e fare clic con il pulsante destro del mouse su Backup gestito. Seleziona Configura. Verrà visualizzata la finestra di dialogo Backup gestito . Usare questa finestra di dialogo per specificare il periodo di conservazione, le credenziali SQL, l'URL di archiviazione e le impostazioni di crittografia. Per informazioni specifiche su questa finestra di dialogo, vedere Configurare il backup gestito (SQL Server Management Studio).For specific help with this dialog, see Configure Managed Backup (SQL Server Management Studio).

Uso di Transact-SQL

  1. Connettersi al Database Engine.

  2. Nella barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e fare clic su Execute.

Use msdb;  
Go  
   EXEC smart_admin.sp_set_instance_backup  
                @retention_days=30   
                ,@credential_name='sqlbackuptoURL'  
                ,@encryption_algorithm ='AES_128'  
                ,@encryptor_type= 'Certificate'  
                ,@encryptor_name='MyBackupCert'  
                ,@enable_backup=1;  
GO  
  

Importante

Il periodo di conservazione può essere impostato su qualsiasi valore compreso tra 1 e 30 giorni.

Per altre informazioni sulla creazione di un certificato per la crittografia, vedere il passaggio Creare un certificato di backup in Creare un backup crittografato.

Per visualizzare le impostazioni di configurazione predefinite per l'istanza, usare la query seguente:

Use msdb;  
GO  
SELECT * FROM smart_admin.fn_backup_instance_config ();

Utilizzo di PowerShell

  1. Avviare un'istanza di PowerShell

  2. Eseguire lo script seguente dopo averlo modificato in base alle impostazioni

    cd SQLSERVER:\SQL\Computer\MyInstance
    $encryptionOption = New-SqlBackupEncryptionOption -EncryptionAlgorithm Aes128 -EncryptorType ServerCertificate -EncryptorName "MyBackupCert"  
    Get-SqlSmartAdmin | Set-SqlSmartAdmin -BackupEnabled $True -BackupRetentionPeriodInDays 10 -EncryptionOption $encryptionOption  
    

Importante

Quando si crea un nuovo database dopo aver configurato le impostazioni predefinite, potrebbero essere necessari fino a 15 minuti prima che il database venga configurato con le impostazioni predefinite. Questo vale anche per i database che sono modificati da un modello di recupero semplice a completo o con registrazione minima del carico di lavoro.

Disabilitare il backup gestito di SQL Server in Microsoft Azure per un database

È possibile disabilitare le impostazioni di Backup gestito di SQL Server su Microsoft Azure usando la stored procedure di sp_set_db_backup sistema. Il @enableparameter viene usato per abilitare e disabilitare le configurazioni di Backup gestito di SQL Server in Microsoft Azure per un database specifico, in cui 1 abilita e 0 disabilita le impostazioni di configurazione.

Per disabilitare il backup gestito di SQL Server in Microsoft Azure per un database specifico:

  1. Connettersi al Database Engine.

  2. Nella barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e fare clic su Execute.

Use msdb;  
Go  
EXEC smart_admin.sp_set_db_backup   
                @database_name='TestDB'   
                ,@enable_backup=0;  
GO

Disabilitare il backup gestito di SQL Server in Microsoft Azure per tutti i database nell'istanza

La procedura seguente consiste nel disabilitare le impostazioni di configurazione di Backup gestito di SQL Server in Microsoft Azure da tutti i database che attualmente dispongono di Backup gestito di SQL Server in Microsoft Azure abilitato nell'istanza di . Le impostazioni di configurazione, ad esempio l'URL di archiviazione, la conservazione e le credenziali SQL rimarranno nei metadati e possono essere usate se backup gestito di SQL Server in Microsoft Azure è abilitato per il database in un secondo momento. Se si vuole sospendere temporaneamente il backup gestito di SQL Server nei servizi di Microsoft Azure, è possibile usare l'opzione master illustrata nelle sezioni seguenti più avanti in questo argomento.

Per disabilitare il backup gestito di SQL Server in Microsoft Azureper tutti i database:

  1. Connettersi al Database Engine.

  2. Nella barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e fare clic su Execute. L'esempio seguente identifica se il backup gestito di SQL Server in Microsoft Azure è configurato a livello di istanza e identifica tutti i database abilitati per il backup gestito di SQL Server in Microsoft Azure nell'istanza ed esegue la stored procedure sp_set_db_backup di sistema per disabilitare il backup gestito di SQL Server in Microsoft Azure.

-- Create a working table to store the database names  
Declare @DBNames TABLE  
  
       (  
             RowID int IDENTITY PRIMARY KEY  
             ,DBName varchar(500)  
  
       )  
-- Define the variables  
DECLARE @rowid int  
DECLARE @dbname varchar(500)  
DECLARE @SQL varchar(2000)  
-- Get the database names from the system function  
  
INSERT INTO @DBNames (DBName)  
  
SELECT db_name  
       FROM
  
       smart_admin.fn_backup_db_config (NULL)  
       WHERE is_smart_backup_enabled = 1  
  
       --Select DBName from @DBNames 
       select @rowid = min(RowID) FROM @DBNames  
  
       WHILE @rowID IS NOT NULL  
       Begin
             Set @dbname = (Select DBName From @DBNames Where RowID = @rowid)  
             Begin  
             Set @SQL = 'EXEC smart_admin.sp_set_db_backup    
                @database_name= '''+'' + @dbname+ ''+''',   
                @enable_backup=0'  
  
            EXECUTE (@SQL)  
  
             END  
             Select @rowid = min(RowID)  
             From @DBNames Where RowID > @rowid  
  
       END

Per verificare le impostazioni di configurazione per tutti i database nell'istanza, utilizzare la query seguente:

Use msdb;  
GO  
SELECT * FROM smart_admin.fn_backup_db_config (NULL);  
GO

Disabilitare le impostazioni predefinite di Backup gestito di SQL Server in Microsoft Azure per l'istanza

Le impostazioni predefinite a livello di istanza vengono applicate a tutti i nuovi database creati nell'istanza in questione. Se non hai più bisogno delle impostazioni predefinite o non le richiedi più, è possibile disabilitare questa configurazione usando la stored procedure di sistema smart_admin.sp_set_instance_backup. La disabilitazione non comporta la rimozione delle altre impostazioni di configurazione come l'URL di archiviazione, l'impostazione di memorizzazione o il nome delle credenziali SQL. Queste impostazioni verranno usate se backup gestito di SQL Server in Microsoft Azure è abilitato per l'istanza in un secondo momento.

Per disabilitare il backup gestito di SQL Server nelle impostazioni di configurazione predefinite di Microsoft Azure:

  1. Connettersi al Database Engine.

  2. Nella barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e fare clic su Execute.

    Use msdb;  
    Go  
    EXEC smart_admin.sp_set_instance_backup  
                    @enable_backup=0;  
    GO
    

Utilizzo di PowerShell

  1. Avviare un'istanza di PowerShell

  2. Eseguire lo script seguente:

    cd SQLSERVER:\SQL\Computer\MyInstance
    Set-SqlSmartAdmin -BackupEnabled $False  
    

Sospendere il backup gestito di SQL Server in Microsoft Azure a livello di istanza

In alcuni casi potrebbe essere necessario sospendere temporaneamente il backup gestito di SQL Server nei servizi di Microsoft Azure per un breve periodo di tempo. La smart_admin.sp_backup_master_switch stored procedure di sistema consente di disabilitare il backup gestito di SQL Server nel servizio Microsoft Azure a livello di istanza. La stessa stored procedure viene usata per riprendere il backup gestito di SQL Server in Microsoft Azure. Il @state parametro viene usato per definire se il backup gestito di SQL Server in Microsoft Azure deve essere disattivato o attivato.

Per sospendere il backup gestito di SQL Server nei servizi di Microsoft Azure tramite Transact-SQL:

  1. Connettersi al Database Engine.

  2. Nella barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e quindi fare clic su Execute

Use msdb;  
GO  
EXEC smart_admin.sp_backup_master_switch @new_state=0;  
Go  
  

Per sospendere il backup gestito di SQL Server in Microsoft Azure tramite PowerShell

  1. Avviare un'istanza di PowerShell

  2. Eseguire lo script seguente dopo averlo modificato in base alle impostazioni

    cd SQLSERVER:\SQL\Computer\MyInstance
    Get-SqlSmartAdmin | Set-SqlSmartAdmin -MasterSwitch $False  
    

Per riprendere il backup gestito di SQL Server in Microsoft Azure tramite Transact-SQL

  1. Connettersi al Database Engine.

  2. Nella barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e quindi fare clic su Execute.

Use msdb;  
Go  
EXEC smart_admin. sp_backup_master_switch @new_state=1;  
GO

Per riprendere il backup gestito di SQL Server in Microsoft Azure tramite PowerShell

  1. Avviare un'istanza di PowerShell

  2. Eseguire lo script seguente dopo averlo modificato in base alle impostazioni

    cd SQLSERVER:\SQL\Computer\MyInstance
    Get-SqlSmartAdmin | Set-SqlSmartAdmin -MasterSwitch $True