Condividi tramite


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

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

Per una procedura dettagliata completa per configurare SQL Server backup gestito in Microsoft Azure, vedere Configurazione di SQL Server backup gestito in Azure e configurazione di SQL Server backup gestito in Azure per i gruppi di disponibilità.

Prima di iniziare

Limitazioni e restrizioni

Prerequisiti

  • SQL Server Agent deve essere in esecuzione.

    Avviso

    Se SQL Server Agent viene arrestato per un periodo di tempo e poi riavviato, è possibile che venga visualizzata una maggiore attività di backup a seconda della quantità di tempo trascorso tra l'arresto e l'avvio di SQL Agent e che sia in attesa di esecuzione un backlog di backup del log. Provare a configurare SQL Server Agent in modo tale che all'avvio venga avviato automaticamente.

  • È necessario creare un account di archiviazione di Azure e una credenziale SQL che archivia le informazioni di autenticazione nell'account di archiviazione prima di configurare SQL Server backup gestito in Microsoft Azure. Per altre informazioni, vedere la sezione Introduction to Key Components and Concepts dell'argomento Backup di SQL Server nell'URL e Lesson 2: Create a SQL Server Credential.

    Importante

    SQL Server Backup gestito in Microsoft Azure crea i contenitori necessari per archiviare i backup. Il nome del contenitore viene creato usando il formato 'nome-istanza del computer'. Nel caso dei gruppi di disponibilità AlwaysOn, il contenitore viene denominato utilizzando il GUID del gruppo di disponibilità.

Sicurezza

Autorizzazioni

Per eseguire le stored procedure che abilitano SQL Server Backup gestito 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. Per le stored procedure e le funzioni utilizzate per esaminare le impostazioni esistenti sono in genere richieste rispettivamente le autorizzazioni Execute per la stored procedure e Select per la funzione.

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

SQL Server backup gestito in Microsoft Azure può essere abilitato separatamente per i 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 di SQL Server backup gestito in Microsoft Azure a livello di database

Se un database ha requisiti specifici per il periodo di backup e conservazione (contratto di servizio di ripristino) diverso da altri database nell'istanza, configurare SQL Server Backup gestito in Microsoft Azure a livello di database per questo database. Le impostazioni a livello di database hanno la priorità sulle impostazioni di configurazione a livello di istanza. Tuttavia entrambe queste opzioni possono essere utilizzate insieme nella stessa istanza. Di seguito è riportato un elenco di vantaggi e considerazioni quando si abilita SQL Server backup gestito in Microsoft Azure a livello di database.

  • Più dettagliato: impostazioni di configurazione diverse per ogni database. Può supportare periodi di memorizzazione diversi per i singoli database.

  • Vengono ignorate le impostazioni a livello di istanza per il database.

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

  • Richiede la gestione di ogni database.

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

Utilizzare questa impostazione se la maggior parte dei database nell'istanza presenta gli stessi requisiti per il backup e i criteri di conservazione o se si desidera l'esecuzione automatica del 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 SQL Server backup gestito in Microsoft Azure a livello di istanza.

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

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

  • Può essere applicato ai database che presentano gli stessi requisiti del periodo di memorizzazione.

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

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

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

  • Nome del database.

  • Periodo di memorizzazione.

  • 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 ulteriori informazioni sulla crittografia, vedere Backup Encryption.

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

Quando SQL Server backup gestito 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 che si desidera modificare, SQL Server Backup gestito in Microsoft Azure mantiene i valori esistenti per altri parametri quando non specificato.

Importante

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

  • Uso di Transact-SQL:

    Se si abilita SQL Server backup gestito 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 dell'account di archiviazione dalle credenziali SQL. Se si specifica l'URL di archiviazione, fornire solo l'URL per la radice dell'account di archiviazione, che deve corrispondere alle informazioni specificate nelle credenziali SQL.

    1. Connettersi al motore di database.

    2. Dalla barra Standard fare clic su Nuova query.

    3. Copiare e incollare l'esempio seguente nella finestra di query e fare clic su Execute. Questo esempio abilita SQL Server backup gestito in Microsoft Azure per il database 'TestDB'. Il periodo di memorizzazione è impostato su 30 giorni. In questo esempio vengono utilizzate l'opzione di crittografia tramite cui viene specificato l'algoritmo di crittografia e le informazioni sul componente di crittografia.

    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 memorizzazione può essere impostato su un valore compreso tra 1 e 30 giorni.

    Per ulteriori informazioni sulla creazione di un certificato per la crittografia, vedere il passaggio Creare un certificato di backup in Create an Encrypted Backup.

    Per altre informazioni su questa stored procedure, vedere smart_admin.set_db_backup (Transact-SQL)

    Per verificare le impostazioni di configurazione per un database, utilizzare la query seguente:

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

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

È possibile abilitare e configurare le impostazioni predefinite SQL Server Backup gestito 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 il parametro @enable_backup , è possibile abilitare il backup e impostare le configurazioni predefinite. Una volta applicate a livello di istanza, queste impostazioni predefinite sono valide per qualsiasi nuovo database aggiunto a questa istanza. Quando SQL Server backup gestito in Microsoft Azure è abilitato per la prima volta, è necessario fornire le informazioni seguenti oltre ad abilitare SQL Server backup gestito in Microsoft Azure nell'istanza:

  • Periodo di memorizzazione.

  • 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 ulteriori informazioni sulla crittografia, vedere Backup Encryption.

Una volta abilitate, queste impostazioni sono persistenti. Se si modifica la configurazione, saranno necessari solo il nome del database e l'impostazione da modificare. SQL Server Backup gestito in Microsoft Azure mantiene i valori esistenti quando non specificato.

Importante

Prima di configurare SQL Server backup gestito in Microsoft Azure in un'istanza, potrebbe essere utile verificare la configurazione esistente, se disponibile. Il passaggio per verificare 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, aprire Esplora oggetti, espandere il nodo Gestione , fare clic con il pulsante destro del mouse su Backup gestito. Selezionare Configura. Viene aperta la finestra di dialogo Backup gestito . Utilizzare questa finestra di dialogo per specificare il periodo di memorizzazione, 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 motore di database.

  2. Dalla 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 memorizzazione può essere impostato su un valore compreso tra 1 e 30 giorni.

Per ulteriori informazioni sulla creazione di un certificato per la crittografia, vedere il passaggio Creare un certificato di backup in Create an Encrypted Backup.

Per visualizzare le impostazioni di configurazione predefinite per l'istanza, utilizzare 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 riportato di seguito dopo averlo modificato per rispettare le 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 la configurazione delle impostazioni predefinite, potrebbero essere necessari fino a 15 minuti per configurarlo con le impostazioni in questione. Lo stesso vale anche per i database il cui modello di recupero viene modificato da Simple a Full o Bulk-Logged

Disabilitare SQL Server Backup gestito in Microsoft Azure per un database

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

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

  1. Connettersi al motore di database.

  2. Dalla 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 SQL Server Backup gestito in Microsoft Azure per tutti i database nell'istanza

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

Per disabilitare SQL Server Backup gestito in Microsoft Azure per tutti i database:

  1. Connettersi al motore di database.

  2. Dalla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e fare clic su Execute. Nell'esempio seguente viene identificato se SQL Server Backup gestito in Microsoft Azure è configurato a livello di istanza e tutti i database abilitati SQL Server backup gestito in Microsoft Azure nell'istanza ed esegue la stored procedure sp_set_db_backup di sistema per disabilitare SQL Server Backup gestito 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 SQL Server Backup gestito 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 le impostazioni predefinite non sono più necessarie o richieste, è 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 SQL Server Backup gestito in Microsoft Azure è abilitato per l'istanza in un secondo momento.

Per disabilitare SQL Server Backup gestito in Impostazioni di configurazione predefinite di Microsoft Azure:

  1. Connettersi al motore di database.

  2. Dalla 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 riportato di seguito:

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

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

Potrebbero verificarsi momenti in cui è necessario sospendere temporaneamente il SQL Server Backup gestito 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 SQL Server backup gestito nel servizio Microsoft Azure a livello di istanza. La stessa stored procedure viene usata per riprendere SQL Server backup gestito in Microsoft Azure. Il @state parametro viene usato per definire se SQL Server backup gestito in Microsoft Azure deve essere disattivato o attivato.

Per sospendere SQL Server backup gestito in Servizi di Microsoft Azure tramite Transact-SQL:

  1. Connettersi al motore di database.

  2. Dalla 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 SQL Server backup gestito in Microsoft Azure usando PowerShell

  1. Avviare un'istanza di PowerShell

  2. Eseguire lo script riportato di seguito dopo averlo modificato per rispettare le impostazioni

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

Per riprendere SQL Server backup gestito in Microsoft Azure usando Transact-SQL

  1. Connettersi al motore di database.

  2. Dalla 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 SQL Server backup gestito in Microsoft Azure usando PowerShell

  1. Avviare un'istanza di PowerShell

  2. Eseguire lo script riportato di seguito dopo averlo modificato per rispettare le impostazioni

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