Condividi tramite


Configurazione del backup gestito di SQL Server in Azure

In questo argomento vengono illustrate due esercitazioni:

Configurare SQL Server Backup gestito in Microsoft Azure a livello di database, abilitare la notifica tramite posta elettronica e monitorare l'attività di backup.

Configurazione di SQL Server backup gestito in Microsoft Azure a livello di istanza, abilitare la notifica tramite posta elettronica e monitorare l'attività di backup.

Per un'esercitazione sulla configurazione di SQL Server backup gestito in Microsoft Azure per i gruppi di disponibilità, vedere Configurazione di SQL Server backup gestito in Microsoft Azure per i gruppi di disponibilità.

Configurazione di SQL Server backup gestito in Microsoft Azure

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

Questa esercitazione descrive i passaggi necessari per abilitare e configurare SQL Server backup gestito in Microsoft Azure per un database (TestDB), seguiti dai passaggi per abilitare il monitoraggio SQL Server backup gestito allo stato di integrità di Microsoft Azure.

Autorizzazioni:

  • Richiede l'appartenenza a db_backupoperator ruolo del database, con autorizzazioni ALTER ANY CREDENTIAL e EXECUTE autorizzazioni per sp_delete_backuphistorystored procedure.

  • Richiede autorizzazioni SELECT per la funzione smart_admin.fn_get_current_xevent_settings.

  • Richiede EXECUTE autorizzazioni per la stored procedure smart_admin.sp_get_backup_diagnostics . È inoltre richiesta l'autorizzazione VIEW SERVER STATE poiché vengono chiamati internamente altri oggetti di sistema che richiedono tale autorizzazione.

  • Sono necessarie EXECUTE autorizzazioni per le smart_admin.sp_set_instance_backup stored procedure e smart_admin.sp_backup_master_switch .

  1. Creare un account di archiviazione di Microsoft Azure: I backup vengono archiviati nel servizio di archiviazione di Microsoft Azure. È innanzitutto necessario creare un account di archiviazione di Microsoft Azure, se non si ha già un account.

    • SQL Server 2014 usa BLOB di pagine diversi da BLOB in blocchi e di accodamento. È quindi necessario creare un account per utilizzo generico e non un account BLOB. Per altre informazioni, vedere Informazioni sugli account di archiviazione di Azure.
    • Prendere nota del nome dell'account di archiviazione e delle chiavi di accesso. Le informazioni sul nome dell'account di archiviazione e sulla chiave di accesso vengono utilizzate per creare le credenziali SQL. Le credenziali SQL vengono utilizzate per l'autenticazione dell'account di archiviazione.
  2. Creare credenziali SQL: Creare una credenziale SQL usando il nome dell'account di archiviazione come identità e la chiave di accesso alle risorse di archiviazione come password.

  3. Assicurarsi che il servizio SQL Server Agent sia avviato e in esecuzione: se non è in esecuzione, avviare SQL Server Agent. Per eseguire le operazioni di backup, il backup gestito di SQL Server a Microsoft Azure richiede che SQL Server Agent sia eseguito nell'istanza. Per assicurarsi che le operazioni in questione vengano eseguite regolarmente, è possibile impostare l'esecuzione automatica di SQL Server Agent.

  4. Determinare il periodo di conservazione: determinare il periodo di conservazione per i file di backup. Il periodo di memorizzazione viene specificato in giorni in un intervallo compreso tra 1 e 30.

  5. Abilitare e configurare SQL Server backup gestito in Microsoft Azure: avviare SQL Server Management Studio e connettersi all'istanza in cui è installato il database. Nella finestra Query eseguire l'istruzione riportata di seguito dopo aver modificato i valori per le opzioni relative al nome del database, alle credenziali SQL, al periodo di memorizzazione e alla crittografia in base alle esigenze:

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

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

    SQL Server backup gestito in Microsoft Azure è ora abilitato nel database specificato. L'inizio delle operazioni di backup nel database può richiedere fino a 15 minuti.

  6. Esaminare la configurazione predefinita degli eventi estesi: esaminare le impostazioni degli eventi estesi eseguendo l'istruzione transact-SQL seguente.

    SELECT * FROM smart_admin.fn_get_current_xevent_settings()  
    

    Verificare che gli eventi dei canali amministrativo, operativo e analitico siano abilitati per impostazione predefinita e che non possano essere disabilitati. Questa verifica dovrebbe essere sufficiente per monitorare gli eventi per i quali è richiesto un intervento manuale. È possibile abilitare gli eventi di debug, ma i canali di debug includono eventi informativi e di debug che SQL Server backup gestito in Microsoft Azure usano per rilevare i problemi e risolverli. Per altre informazioni, vedere Monitorare SQL Server backup gestito in Microsoft Azure.

  7. Abilitare e configurare la notifica per lo stato di integrità: SQL Server backup gestito in Microsoft Azure dispone di una stored procedure che crea un processo dell'agente per inviare notifiche tramite posta elettronica di errori o avvisi che potrebbero richiedere attenzione. Nei passaggi seguenti viene illustrato il processo per abilitare e configurare le notifiche tramite posta elettronica:

    1. Configurare Posta elettronica database se non è già abilitato nell'istanza. Per altre informazioni, vedere Configurare Posta elettronica database.

    2. Configurare la notifica di SQL Server Agent per l'uso di Posta elettronica database. Per altre informazioni, vedere Configure SQL Server Agent Mail to Use Database Mail.

    3. Abilitare le notifiche di posta elettronica per ricevere avvisi ed errori di backup: nella finestra di query eseguire le istruzioni Transact-SQL seguenti:

      EXEC msdb.smart_admin.sp_set_parameter  
      @parameter_name = 'SSMBackup2WANotificationEmailIds',  
      @parameter_value = '<email1;email2>'  
      
      

      Per altre informazioni e uno script di esempio completo, vedere Monitorare SQL Server backup gestito in Microsoft Azure.

  8. Visualizzare i file di backup nell'account di archiviazione Microsoft Azure : connettersi all'account di archiviazione da SQL Server Management Studio o dal portale di gestione di Azure. Verrà visualizzato un contenitore per l'istanza di SQL Server che ospita il database configurato per l'uso di SQL Server backup gestito in Microsoft Azure. È anche possibile visualizzare un database e un backup del log entro 15 minuti dall'abilitazione di SQL Server backup gestito in Microsoft Azure per il database.

  9. Monitorare lo stato di integrità: È possibile monitorare tramite notifiche di posta elettronica configurate in precedenza o monitorare attivamente gli eventi registrati. Di seguito sono riportate alcune istruzioni Transact-SQL di esempio utilizzate per visualizzare gli eventi:

    --  view all admin events  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    DECLARE @eventresult TABLE  
    (event_type nvarchar(512),  
    event nvarchar (512),  
    timestamp datetime  
    )  
    
    INSERT INTO @eventresult  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek  
    
    SELECT * from @eventresult  
    WHERE event_type LIKE '%admin%'  
    
    
    -- to enable debug events  
    Use msdb;  
    Go  
             EXEC smart_admin.sp_set_parameter 'FileRetentionDebugXevent', 'True'  
    
    
    --  View all events in the current week  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek;  
    
    

I passaggi descritti in questa sezione sono specifici per la configurazione di SQL Server backup gestito in Microsoft Azure per la prima volta nel database. È possibile modificare le configurazioni esistenti usando la stessa stored procedure di sistema smart_admin.sp_set_db_backup e specificare i nuovi valori. Per altre informazioni, vedere SQL Server Backup gestito in Microsoft Azure - Conservazione e impostazioni di archiviazione.

Abilitare SQL Server backup gestito in Microsoft Azure per l'istanza con le impostazioni predefinite

Questa esercitazione descrive i passaggi per abilitare e configurare SQL Server backup gestito in Microsoft Azure per l'istanza, 'MyInstance',\. Include i passaggi per abilitare il monitoraggio dello stato di integrità di SQL Server backup gestito in Microsoft Azure.

Autorizzazioni:

  • Richiede l'appartenenza a db_backupoperator ruolo del database, con autorizzazioni ALTER ANY CREDENTIAL e EXECUTE autorizzazioni per sp_delete_backuphistorystored procedure.

  • Richiede autorizzazioni SELECT per la funzione smart_admin.fn_get_current_xevent_settings.

  • Richiede EXECUTE autorizzazioni per la stored procedure smart_admin.sp_get_backup_diagnostics . È inoltre richiesta l'autorizzazione VIEW SERVER STATE poiché vengono chiamati internamente altri oggetti di sistema che richiedono tale autorizzazione.

  1. Creare un account di archiviazione di Microsoft Azure: I backup vengono archiviati nel servizio di archiviazione di Microsoft Azure. È innanzitutto necessario creare un account di archiviazione di Microsoft Azure, se non si ha già un account.

    • SQL Server 2014 usa BLOB di pagine diversi da BLOB in blocchi e di accodamento. È quindi necessario creare un account per utilizzo generico e non un account BLOB. Per altre informazioni, vedere Informazioni sugli account di archiviazione di Azure.
    • Prendere nota del nome dell'account di archiviazione e delle chiavi di accesso. Le informazioni sul nome dell'account di archiviazione e sulla chiave di accesso vengono utilizzate per creare le credenziali SQL. Le credenziali SQL vengono utilizzate per l'autenticazione dell'account di archiviazione.
  2. Creare credenziali SQL: Creare una credenziale SQL usando il nome dell'account di archiviazione come identità e la chiave di accesso alle risorse di archiviazione come password.

  3. Assicurarsi che il servizio SQL Server Agent sia avviato e in esecuzione: se non è in esecuzione, avviare SQL Server Agent. Per eseguire le operazioni di backup, il backup gestito di SQL Server a Microsoft Azure richiede che SQL Server Agent sia eseguito nell'istanza. Per assicurarsi che le operazioni in questione vengano eseguite regolarmente, è possibile impostare l'esecuzione automatica di SQL Server Agent.

  4. Determinare il periodo di conservazione: determinare il periodo di conservazione per i file di backup. Il periodo di memorizzazione viene specificato in giorni in un intervallo compreso tra 1 e 30. Quando SQL Server backup gestito in Microsoft Azure è abilitato a livello di istanza con le impostazioni predefinite tutti i nuovi database creati successivamente erediteranno le impostazioni. Solo i database impostati sui modelli di recupero con registrazione completa o con registrazione minima delle operazioni bulk sono supportati e saranno configurati automaticamente. È possibile disabilitare SQL Server backup gestito in Microsoft Azure per un database specifico in qualsiasi momento se non si vuole SQL Server backup gestito in Microsoft Azure configurato. È anche possibile modificare la configurazione per un database specifico configurando SQL Server Backup gestito in Microsoft Azure a livello di database.

  5. Abilitare e configurare SQL Server backup gestito in Microsoft Azure: avviare SQL Server Management Studio e connettersi all'istanza di SQL Server. Nella finestra Query eseguire l'istruzione riportata di seguito dopo aver modificato i valori per le opzioni relative al nome del database, alle credenziali SQL, al periodo di memorizzazione e alla crittografia in base alle esigenze:

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

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

    SQL Server backup gestito in Microsoft Azure è ora abilitato nell'istanza di .

  6. Verificare le impostazioni di configurazione eseguendo l'istruzione Transact-SQL riportata di seguito:

    Use msdb;  
    GO  
    SELECT * FROM smart_admin.fn_backup_instance_config ();  
    
    
  7. Creare un nuovo database nell'istanza. Eseguire l'istruzione Transact-SQL seguente per visualizzare le impostazioni di configurazione di Backup gestito di SQL Server in Microsoft Azure per il database:

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

    La visualizzazione delle impostazioni e l'inizio delle operazioni di backup nel database può richiedere fino a 15 minuti.

  8. Abilitare e configurare la notifica per lo stato di integrità: SQL Server backup gestito in Microsoft Azure dispone di una stored procedure che crea un processo dell'agente per inviare notifiche tramite posta elettronica di errori o avvisi che potrebbero richiedere attenzione. Per ricevere notifiche di questo tipo, è necessario eseguire la stored procedure per creare un processo di SQL Server Agent. Nei passaggi seguenti viene illustrato il processo per abilitare e configurare le notifiche tramite posta elettronica:

    1. Configurare Posta elettronica database se non è già abilitato nell'istanza. Per altre informazioni, vedere Configurare Posta elettronica database.

    2. Configurare la notifica di SQL Server Agent per l'uso di Posta elettronica database. Per altre informazioni, vedere Configure SQL Server Agent Mail to Use Database Mail.

    3. Abilitare le notifiche di posta elettronica per ricevere avvisi ed errori di backup: nella finestra di query eseguire le istruzioni Transact-SQL seguenti:

      EXEC msdb.smart_admin.sp_set_parameter  
      @parameter_name = 'SSMBackup2WANotificationEmailIds',  
      @parameter_value = '<email address>'  
      
      

      Per altre informazioni su come monitorare e uno script di esempio completo, vedere Monitorare SQL Server backup gestito in Microsoft Azure.

  9. Visualizzare i file di backup nell'account di archiviazione Microsoft Azure : connettersi all'account di archiviazione da SQL Server Management Studio o dal portale di gestione di Azure. Verrà visualizzato un contenitore per l'istanza di SQL Server che ospita il database configurato per l'uso di SQL Server backup gestito in Microsoft Azure. È inoltre possibile visualizzare un database e un backup del log entro 15 minuti dalla creazione di un nuovo database.

  10. Monitorare lo stato di integrità: È possibile monitorare tramite notifiche di posta elettronica configurate in precedenza o monitorare attivamente gli eventi registrati. Di seguito sono riportate alcune istruzioni Transact-SQL di esempio utilizzate per visualizzare gli eventi:

    --  view all admin events  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    DECLARE @eventresult TABLE  
    (event_type nvarchar(512),  
    event nvarchar (512),  
    timestamp datetime  
    )  
    
    INSERT INTO @eventresult  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek  
    
    SELECT * from @eventresult  
    WHERE event_type LIKE '%admin%'  
    
    
    --  to enable debug events  
    Use msdb;  
    Go  
             EXEC smart_admin.sp_set_parameter 'FileRetentionDebugXevent', 'True'  
    
    
    --  View all events in the current week  
    Use msdb;  
    Go  
    DECLARE @startofweek datetime  
    DECLARE @endofweek datetime  
    SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)   
    SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP)  
    
    EXEC smart_admin.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek;  
    
    

SQL Server le impostazioni predefinite di Backup gestito in Microsoft Azure possono essere sostituite per un database specifico configurando le impostazioni in modo specifico a livello di database. È anche possibile sospendere e riprendere SQL Server backup gestito nel servizio Microsoft Azure temporaneamente. Per altre informazioni, vedere SQL Server Backup gestito in Microsoft Azure - Impostazioni di conservazione e archiviazione