Copia de seguridad administrada de SQL Server en Azure: configuración de la retención y el almacenamiento

En este tema se describen los pasos básicos para configurar SQL Server Copia de seguridad administrada en Microsoft Azure para una base de datos y para configurar las opciones predeterminadas para la instancia. En el tema también se describen los pasos necesarios para pausar y reanudar SQL Server copia de seguridad administrada en los servicios de Microsoft Azure para la instancia.

Para obtener un tutorial completo sobre cómo configurar SQL Server Copia de seguridad administrada en Microsoft Azure, consulte Configuración de SQL Server Copia de seguridad administrada en Azure y Configuración de SQL Server Copia de seguridad administrada en Azure para grupos de disponibilidad.

Antes de empezar

Limitaciones y restricciones

  • No habilite SQL Server Copia de seguridad administrada en Microsoft Azure en bases de datos que actualmente usan planes de mantenimiento o trasvase de registros. Para más información sobre la interoperabilidad y la coexistencia con otras características de SQL Server, consulte SQL Server Managed Backup to Azure: Interoperabilidad y coexistencia.

Requisitos previos

  • El Agente SQL Server debe estar ejecutándose.

    Advertencia

    Si el Agente SQL Server se detiene durante un período de tiempo y después se reinicia, es posible que observe un incremento en la actividad de copia de seguridad en función del tiempo que transcurrió entre la detención y el inicio del Agente SQL Server y puede que haya copias de seguridad de registros pendientes en espera de ejecución. Se recomienda configurar un Agente SQL Server que se inicie de forma automática en el arranque.

  • Se debe crear una cuenta de almacenamiento de Azure y una credencial de SQL que almacene la información de autenticación en la cuenta de almacenamiento antes de configurar SQL Server Copia de seguridad administrada en Microsoft Azure. Para obtener más información, consulte la sección Introduction to Key Components and Concepts del tema Copiar de seguridad de SQL Server a URL y Lesson 2: Create a SQL Server Credential.

    Importante

    SQL Server Copia de seguridad administrada en Microsoft Azure crea los contenedores necesarios para almacenar las copias de seguridad. El nombre del contenedor se crea con el formato "nombre de instancia de máquina". Para los Grupos de disponibilidad AlwayOn, el contenedor se denomina con el GUID del grupo de disponibilidad.

Seguridad

Permisos

Para ejecutar los procedimientos almacenados que habilitan SQL Server Copia de seguridad administrada en Microsoft Azure, debe ser miembro System Administrator o en el rol de base de datos de db_backupoperator con permisos ALTER ANY CREDENTIAL y EXECUTE permisos en la sp_delete_backuphistory y smart_admin.sp_backup_master_switch procedimientos almacenados. Los procedimientos almacenados y las funciones que se usan para revisar la configuración existente normalmente requieren permisos Execute en el procedimiento almacenado y Select en la función, respectivamente.

Consideraciones para habilitar SQL Server copia de seguridad administrada en Microsoft Azure para bases de datos e instancias

SQL Server Copia de seguridad administrada en Microsoft Azure se puede habilitar para bases de datos individuales por separado o para toda la instancia. Las opciones dependen de los requisitos de capacidad de recuperación de las bases de datos de la instancia, los requisitos para administrar varias bases de datos e instancias, y el uso de Azure Storage estratégicamente.

Habilitación de SQL Server copia de seguridad administrada en Microsoft Azure en el nivel de base de datos

Si una base de datos tiene requisitos específicos para el período de copia de seguridad y retención (SLA de capacidad de recuperación) diferente de otras bases de datos de la instancia, configure SQL Server Copia de seguridad administrada en Microsoft Azure en el nivel de base de datos de esta base de datos. La configuración en el nivel de base de datos invalida la configuración en el nivel de instancia. Sin embargo, ambas opciones se pueden utilizar conjuntamente en la misma instancia. A continuación se muestra una lista de ventajas y consideraciones al habilitar SQL Server Copia de seguridad administrada en Microsoft Azure en el nivel de base de datos.

  • Más específico: opciones de configuración independientes para cada base de datos. Puede admitir periodos de retención diferentes para bases de datos individuales.

  • Invalida los valores de nivel de instancia para la base de datos.

  • Se puede utilizar para reducir los costos de almacenamiento seleccionando las bases de datos individuales cuya copia de seguridad se va a realizar.

  • Requiere administrar cada base de datos

Habilitación de SQL Server copia de seguridad administrada en Microsoft Azure en el nivel de instancia con la configuración predeterminada

Utilice esta configuración si la mayoría de las bases de datos de la instancia tiene los mismos requisitos para las directivas de retención y copia de seguridad o si desea realizar la copia de seguridad de las nuevas instancias de base de datos automáticamente tras su creación. Algunas bases de datos que constituyen la excepción de la directiva todavía se pueden configurar individualmente. A continuación se muestra una lista de ventajas y consideraciones al habilitar SQL Server Copia de seguridad administrada en Microsoft Azure en el nivel de instancia.

  • Automatización en el nivel de instancia: se aplica automáticamente una configuración común a las nuevas bases de datos agregadas posteriormente.

  • La copia de seguridad de las nuevas bases de datos se realiza automáticamente en cuanto se crean en las instancias

  • Puede aplicarse a las bases de datos que tienen los mismos requisitos del período de retención.

  • Todavía puede configurar bases de datos individuales que requieran un período de retención diferente, incluso con SQL Server copia de seguridad administrada en La copia de seguridad administrada de Microsoft Azure habilitada en el nivel de instancia con la configuración predeterminada. También puede deshabilitar SQL Server Copia de seguridad administrada en Microsoft Azure para bases de datos si no tiene previsto usar Azure Storage para las copias de seguridad.

Habilitar y configurar SQL Server copia de seguridad administrada en Microsoft Azure para una base de datos

El procedimiento smart_admin.sp_set_db_backup almacenado del sistema se usa para habilitar SQL Server Copia de seguridad administrada en Microsoft Azure para una base de datos específica. Cuando SQL Server copia de seguridad administrada en Microsoft Azure está habilitada por primera vez en la base de datos, se debe especificar la siguiente información además de habilitar SQL Server copia de seguridad administrada en Microsoft Azure:

  • El nombre de la base de datos.

  • El período de retención.

  • Credencial de SQL que se usa para autenticarse en la cuenta de almacenamiento de Azure.

  • Especifique no cifrar mediante @encryption_algorithm NO_ENCRYPTION = o especifique un algoritmo de cifrado admitido. Para obtener más información sobre cifrado, vea Backup Encryption.

SQL Server copia de seguridad administrada en Microsoft Azure para la configuración de nivel de base de datos solo se admite a través de Transact-SQL.

Una vez SQL Server copia de seguridad administrada en Microsoft Azure está habilitada para una base de datos, esta información se conserva. Si va a cambiar la configuración, solo se requiere el nombre de la base de datos y la configuración que desea cambiar, SQL Server Copia de seguridad administrada a Microsoft Azure conserva los valores existentes para otros parámetros cuando no se especifican.

Importante

Antes de configurar SQL Server Copia de seguridad administrada en Microsoft Azure en una base de datos, puede resultar útil para la configuración existente si existe. El paso para revisar la configuración de una base de datos se describe más adelante en esta sección.

  • Uso de Transact-SQL:

    Si va a habilitar SQL Server copia de seguridad administrada en Microsoft Azure por primera vez, los parámetros necesarios son: @database_name, @credential_name, @encryption_algorithm, @enable_backup El parámetro @storage_url es opcional. Si no proporciona un valor para el @storage_url parámetro , el valor se deriva mediante la información de la cuenta de almacenamiento de la credencial de SQL. Si proporciona la dirección URL de almacenamiento, debe proporcionar solo la dirección URL de la raíz de la cuenta de almacenamiento y debe coincidir con la información de la credencial SQL que especificó.

    1. Conéctese con el Motor de base de datos.

    2. En la barra Estándar, haga clic en Nueva consulta.

    3. Copie y pegue el ejemplo siguiente en la ventana de consulta y haga clic en Execute. En este ejemplo se habilita SQL Server copia de seguridad administrada en Microsoft Azure para la base de datos "TestDB". El período de retención se establece en 30 días. Este ejemplo utiliza la opción de cifrado especificando el algoritmo de cifrado y la información del sistema de cifrado.

    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

    El periodo de retención se puede establecer en cualquier valor entre 1 y 30 días.

    Para obtener más información sobre cómo crear un certificado para cifrado, vea el paso Crear un certificado de copia de seguridad en Create an Encrypted Backup.

    Para obtener más información sobre este procedimiento almacenado, vea smart_admin.set_db_backup (Transact-SQL)

    Para revisar la configuración de una base de datos, utilice la siguiente consulta:

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

Habilitar y configurar la copia de seguridad administrada de SQL Server predeterminada en La configuración de Microsoft Azure para la instancia

Puede habilitar y configurar la copia de seguridad administrada predeterminada SQL Server en la configuración de Microsoft Azure en el nivel de instancia de dos maneras: mediante el procedimiento smart_admin.set_instance_backup almacenado del sistema o SQL Server Management Studio. Los dos métodos se explica a continuación:

smart_admin.set_instance_backup:. Si especifica el valor 1 para el parámetro @enable_backup , puede habilitar la copia de seguridad y establecer la configuración predeterminada. Una vez aplicadas en el nivel de instancia, estas configuraciones predeterminadas se aplican a todas las bases de datos nuevas que se agregan a esta instancia. Cuando SQL Server copia de seguridad administrada en Microsoft Azure se habilita por primera vez, se debe proporcionar la siguiente información además de habilitar SQL Server copia de seguridad administrada en Microsoft Azure en la instancia:

  • El período de retención.

  • Credencial de SQL que se usa para autenticarse en la cuenta de almacenamiento de Azure.

  • La opción de cifrado. Especifique no cifrar mediante @encryption_algorithm NO_ENCRYPTION = o especifique un algoritmo de cifrado admitido. Para obtener más información sobre cifrado, vea Backup Encryption.

Una vez que están habilitadas estas opciones, se conservan. Si va a cambiar la configuración, solo se requiere el nombre de la base de datos y el valor que desea cambiar. SQL Server Copia de seguridad administrada en Microsoft Azure conserva los valores existentes cuando no se especifican.

Importante

Antes de configurar SQL Server Copia de seguridad administrada en Microsoft Azure en una instancia, puede resultar útil comprobar si hay alguna configuración existente. El paso para revisar la configuración de una base de datos se describe más adelante en esta sección.

SQL Server Management Studio: para realizar esta tarea en SQL Server Management Studio, vaya el Explorador de objetos, expanda el nodo Administración y haga clic con el botón derecho en Copia de seguridad administrada. Seleccione Configurar. Esto abre el cuadro de diálogo Copia de seguridad administrada. Use este cuadro de diálogo para especificar el período de retención, la credencial de SQL, la dirección URL de almacenamiento y la configuración de cifrado. Para obtener ayuda específica con este cuadro de diálogo, consulte Configurar copia de seguridad administrada (SQL Server Management Studio).

Usar Transact-SQL

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y haga clic en 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

El periodo de retención se puede establecer en cualquier valor entre 1 y 30 días.

Para obtener más información sobre cómo crear un certificado para cifrado, vea el paso Crear un certificado de copia de seguridad en Create an Encrypted Backup.

Para ver la configuración predeterminada de la instancia, utilice la siguiente consulta:

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

Usar PowerShell

  1. Iniciar una instancia de PowerShell

  2. Ejecutar el script siguiente después de modificarlo para adecuarlo a sus valores

    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

Cuando crea una nueva base de datos después de configurar la configuración predeterminada, puede llevar hasta 15 minutos el que la base de datos se configure con las opciones predeterminadas. Esto también se aplica a las bases de datos que se cambian de Simple a Full o al modo de recuperación Bulk-Logged .

Deshabilitar Copia de seguridad administrada de SQL Server en Microsoft Azure para una base de datos

Puede deshabilitar SQL Server copia de seguridad administrada en la configuración de Microsoft Azure mediante el procedimiento almacenado del sp_set_db_backup sistema. El @enableparameter se usa para habilitar y deshabilitar SQL Server copia de seguridad administrada en configuraciones de Microsoft Azure para una base de datos específica, donde 1 habilita y 0 deshabilita las opciones de configuración.

Para deshabilitar Copia de seguridad administrada de SQL Server en Microsoft Azure para una base de datos específica:

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y haga clic en Execute.

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

Deshabilitar Copia de seguridad administrada de SQL Server en Microsoft Azure para todas las bases de datos de la instancia

El siguiente procedimiento es válido cuando se desea deshabilitar la configuración de Copia de seguridad administrada de SQL Server en Microsoft Azure de todas las bases de datos que tienen habilitado Copia de seguridad administrada de SQL Server en Microsoft Azure en la instancia. Las opciones de configuración como la dirección URL de almacenamiento, la retención y la credencial de SQL permanecerán en los metadatos y se pueden usar si Copia de seguridad administrada de SQL Server en Microsoft Azure se habilita posteriormente para la base de datos. Si desea pausar SQL Server copia de seguridad administrada en los servicios de Microsoft Azure temporalmente, puede usar el modificador maestro que se explica en las secciones siguientes más adelante en este tema.

Para deshabilitar SQL Server copia de seguridad administrada en Microsoft Azure para todas las bases de datos:

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y haga clic en Execute. En el ejemplo siguiente se identifica si SQL Server Copia de seguridad administrada en Microsoft Azure está configurado en el nivel de instancia y todas las SQL Server Copia de seguridad administrada en bases de datos habilitadas para Microsoft Azure en la instancia y ejecuta el procedimiento sp_set_db_backup almacenado del sistema para deshabilitar SQL Server Copia de seguridad administrada en 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

Para revisar la configuración predeterminada de todas las bases de datos en la instancia, utilice la siguiente consulta:

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

Deshabilitar la configuración predeterminada de Copia de seguridad administrada de SQL Server en Microsoft Azure de la instancia

La configuración predeterminada en el nivel de instancia se aplica a todas las nuevas bases de datos creadas en esa instancia. Si ya no requiere configuración predeterminada, puede deshabilitarla mediante el procedimiento almacenado del sistema smart_admin.sp_set_instance_backup . Al deshabilitarla, no se quita las otras opciones de configuración como la dirección URL de almacenamiento, el valor de retención o el nombre de la credencial de SQL. Estas opciones se utilizarán si Copia de seguridad administrada de SQL Server en Microsoft Azure se habilita para la instancia posteriormente.

Para deshabilitar la configuración predeterminada de Copia de seguridad administrada de SQL Server en Microsoft Azure :

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y haga clic en Execute.

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

Usar PowerShell

  1. Iniciar una instancia de PowerShell

  2. Ejecute el siguiente script:

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

Pause Copia de seguridad administrada de SQL Server en Microsoft Azure en el nivel de instancia

Puede haber ocasiones en que deba detener temporalmente los servicios de Copia de seguridad administrada de SQL Server en Microsoft Azure durante un breve período. El smart_admin.sp_backup_master_switch procedimiento almacenado del sistema permite deshabilitar SQL Server copia de seguridad administrada en el servicio Microsoft Azure en el nivel de instancia. El mismo procedimiento almacenado se utiliza para reanudar Copia de seguridad administrada de SQL Server en Microsoft Azure. El @state parámetro se usa para definir si SQL Server copia de seguridad administrada en Microsoft Azure debe estar desactivada o activada.

Para pausar los servicios de Copia de seguridad administrada de SQL Server en Microsoft Azure con Transact-SQL:

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y, a continuación, haga clic en Execute

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

Para pausar SQL Server copia de seguridad administrada en Microsoft Azure mediante PowerShell

  1. Iniciar una instancia de PowerShell

  2. Ejecutar el script siguiente después de modificarlo para adecuarlo a sus valores

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

Para reanudar Copia de seguridad administrada de SQL Server en Microsoft Azure con Transact-SQL

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y, a continuación, haga clic en Execute.

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

Para reanudar SQL Server copia de seguridad administrada en Microsoft Azure mediante PowerShell

  1. Iniciar una instancia de PowerShell

  2. Ejecutar el script siguiente después de modificarlo para adecuarlo a sus valores

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