Compartir a través de


Configuración de copia de seguridad administrada de SQL Server para Azure para grupos de disponibilidad

Este tema es un tutorial sobre cómo configurar SQL Server Copia de seguridad administrada en Microsoft Azure para bases de datos que participan en grupos de disponibilidad AlwaysOn.

Configuraciones de grupo de disponibilidad

SQL Server Copia de seguridad administrada en Microsoft Azure es compatible con las bases de datos del grupo de disponibilidad, tanto si las réplicas están configuradas de forma local como si están completamente en Azure o en una implementación híbrida entre el entorno local y en una o varias máquinas virtuales de Azure. No obstante, puede ser necesario tener en cuenta lo siguiente para una o varias implementaciones:

  • Frecuencia de copia de seguridad de registros: la frecuencia de la copia de seguridad de registros es tanto el tiempo como el crecimiento de los registros. Por ejemplo, la copia de seguridad de registros se realiza una vez cada 2 horas a menos que el espacio de registro usado en ese período de dos horas sea 5 MB o más. Esto se aplica a todas las implementaciones, ya sean locales, en la nube o híbridas.

  • Ancho de banda de red: esto se aplica a las implementaciones en las que las réplicas se encuentran en diferentes ubicaciones físicas, como en una nube híbrida, o en distintas regiones de Azure en una configuración solo en la nube. El ancho de banda de red puede afectar a la latencia de las secundarias y, si las secundarias están establecidas en replicación sincrónica, esto puede provocar el crecimiento de los registros en la principal. Si las secundarias están establecidas en replicación sincrónica, las secundarias quizás no puedan seguir el ritmo debido a la latencia de red, que puede provocar la pérdida de datos en caso de conmutación por error a la réplica secundaria.

Configuración de SQL Server copia de seguridad administrada en Microsoft Azure para bases de datos de disponibilidad.

Permisos:

  • Requiere la pertenencia a db_backupoperator rol de base de datos, con permisos ALTER ANY CREDENTIAL y EXECUTE permisos en sp_delete_backuphistoryprocedimiento almacenado.

  • Requiere permisos SELECT en la función smart_admin.fn_get_current_xevent_settings.

  • Requiere EXECUTE permisos en el procedimiento almacenado smart_admin.sp_get_backup_diagnostics . Además, requiere permisos VIEW SERVER STATE ya que internamente llama a otros objetos del sistema que requieren este permiso.

  • Requiere EXECUTE permisos en los smart_admin.sp_set_instance_backup procedimientos almacenados y smart_admin.sp_backup_master_switch .

Estos son los pasos básicos para configurar un grupo de disponibilidad AlwaysOn con SQL Server copia de seguridad administrada en Microsoft Azure. Más adelante en este tema se describe un tutorial detallado paso a paso.

  1. Una vez que haya creado el Grupo de disponibilidad, configure la réplica de copia de seguridad que prefiera. Esta configuración para el grupo de disponibilidad también la usa SQL Server Copia de seguridad administrada en Microsoft Azure para determinar qué réplica usar para la copia de seguridad. Para obtener instrucciones paso a paso sobre cómo configurar la preferencia de copia de seguridad, consulte Configurar la copia de seguridad en réplicas de disponibilidad (SQL Server). Si va a crear un nuevo grupo de disponibilidad AlwaysOn, consulte Introducción con grupos de disponibilidad AlwaysOn (SQL Server).

  2. Configure el acceso de conexión de solo lectura en las réplicas secundarias. Para obtener instrucciones paso a paso sobre cómo configurar el acceso de solo lectura, consulte Configuración de acceso de Read-Only en una réplica de disponibilidad (SQL Server)

  3. Especifique la réplica de copia de seguridad. La opción de réplica de copia de seguridad preferida se usa SQL Server Copia de seguridad administrada en Microsoft Azure para determinar desde qué base de datos se va a usar para programar copias de seguridad. Para determinar si la réplica actual es la réplica de copia de seguridad preferida, use la función sys.fn_hadr_backup_is_preferred_replica (Transact-SQL).

  4. En cada réplica, ejecute SQL Server configuración de Copia de seguridad administrada en Microsoft Azure para la base de datos mediante el procedimiento almacenado smart-admin.sp_set_db_backup.

    SQL Server comportamiento de copia de seguridad administrada en Microsoft Azure después de una conmutación por error: SQL Server Copia de seguridad administrada en Microsoft Azure seguirá funcionando y manteniendo copias de seguridad y capacidad de recuperación después de un evento de conmutación por error. No se requiere ninguna acción concreta después de una conmutación por error.

Consideraciones y requisitos:

La configuración de SQL Server copia de seguridad administrada en Microsoft Azure para las bases de datos que participan en el grupo de disponibilidad AlwaysOn requiere consideraciones y requisitos específicos. La siguiente es una lista de las consideraciones y los requisitos:

  • La SQL Server configuración de Copia de seguridad administrada en Microsoft Azure debe ser la misma para todas las bases de datos de todos los nodos de SQL Server que participan en el mismo grupo de disponibilidad. Puede lograrlo estableciendo el mismo SQL Server copia de seguridad administrada en configuraciones de Microsoft Azure para la réplica principal y todas las réplicas en el nivel de base de datos, o estableciendo el mismo valor predeterminado SQL Server configuración de Copia de seguridad administrada en Microsoft Azure en todos los nodos que participan en los grupos de disponibilidad. Se recomienda establecer SQL Server copia de seguridad administrada en Microsoft Azure en la base de datos porque configurar SQL Server Copia de seguridad administrada en Microsoft Azure en el nivel de base de datos permite aislar la configuración de las bases de datos y los cambios en la configuración predeterminada afectan a todas las demás bases de datos de la instancia.

  • Especifique la réplica de copia de seguridad. El valor de réplica de copia de seguridad preferido lo usa SQL Server Copia de seguridad administrada en Microsoft Azure para programar las copias de seguridad. Para determinar si la réplica actual es la réplica de copia de seguridad preferida, use la función sys.fn_hadr_backup_is_preferred_replica (Transact-SQL).

  • Si la réplica secundaria está configurada como la preferida, debe configurarse para que tenga al menos acceso de conexión de solo lectura. Los grupos de disponibilidad que no tienen acceso de conexión a las bases de datos secundarias no se admiten. Para obtener más información, vea Configuración del acceso de solo lectura en una réplica de disponibilidad (SQL Server).

  • Si va a configurar SQL Server copia de seguridad administrada en Microsoft Azure después de configurar el grupo de disponibilidad, SQL Server Copia de seguridad administrada en Microsoft Azure intentará copiar las copias de seguridad existentes basadas en ellas y copiarlas en el contenedor de almacenamiento. Si SQL Server copia de seguridad administrada en Microsoft Azure no puede encontrar o acceder a las copias de seguridad existentes, programará una copia de seguridad completa de la base de datos. Esto se hace específicamente para optimizar las operaciones de copia de seguridad para las bases de datos del Grupo de disponibilidad.

  • Es posible que quiera considerar la posibilidad de deshabilitar la configuración de nivel de instancia si va a crear una nueva base de datos de disponibilidad y no tiene previsto aplicar la configuración de nivel de instancia a la base de datos.

  • Cuando se usa cifrado, emplee el mismo certificado en todas las réplicas. Esto facilita operaciones de copia de seguridad continuadas e ininterrumpidas en caso de conmutación por error o restauraciones en otra réplica diferente.

Habilitación y configuración de SQL Server copia de seguridad administrada en Microsoft Azure para una base de datos de disponibilidad

En este tutorial se describen los pasos necesarios para habilitar y configurar SQL Server Copia de seguridad administrada en Microsoft Azure para una base de datos (AGTestDB) en equipos Node1 y Node2, seguido de los pasos necesarios para habilitar la supervisión de la copia de seguridad administrada de SQL Server en el estado de mantenimiento de Microsoft Azure.

  1. Cree una cuenta de almacenamiento de Azure: Las copias de seguridad se almacenan en el servicio Azure Blob Storage. Primero debe crear una cuenta de almacenamiento de Azure, si aún no tiene una. Para más información, consulte Creación de una cuenta de Azure Storage. Anote el nombre, las claves de acceso y la dirección URL de la cuenta de almacenamiento. La información del nombre de cuenta y de la clave de acceso se utiliza para crear una credencial SQL. La credencial de SQL la usa SQL Server copia de seguridad administrada en Microsoft Azure durante las operaciones de copia de seguridad para autenticarse en la cuenta de almacenamiento.

  2. Cree una credencial de SQL: Cree una credencial de SQL con el nombre de la cuenta de almacenamiento como identidad y la clave de acceso de almacenamiento como contraseña.

  3. Asegúrese de que el servicio del Agente SQL Server está iniciado y en ejecutándose: inicie el Agente SQL Server si no se está ejecutando actualmente. Copia de seguridad administrada de SQL Server en Microsoft Azure requiere que el Agente SQL Server se ejecute en la instancia para realizar operaciones de copia de seguridad. Puede ser conveniente configurar el Agente SQL Server para que se ejecute automáticamente con el fin de asegurarse de que las operaciones de copia de seguridad pueden realizarse periódicamente.

  4. Determine el período de retención: Determine el período de retención que desea para los archivos de copia de seguridad. El período de retención se especifica en días y puede abarcar de 1 a 30. Este período de retención determina el margen de tiempo durante el cual se puede recuperar la base de datos.

  5. Cree un certificado o una clave asimétrica que se usará para el cifrado durante la copia de seguridad: Cree el certificado en el primer nodo Node1 y, a continuación, expórtelo en un archivo mediante BACKUP CERTIFICATE (Transact-SQL).. En el Nodo 2, cree un certificado mediante el archivo exportado del Nodo 1. Para obtener más información sobre cómo crear un certificado a partir de un archivo, vea el ejemplo de CREATE CERTIFICATE (Transact-SQL).

  6. Habilite y configure SQL Server Copia de seguridad administrada en Microsoft Azure para AGTestDB en Node1: inicie SQL Server Management Studio y conéctese a la instancia de Node1 donde está instalada la base de datos de disponibilidad. En la ventana de consulta, ejecute la siguiente instrucción después de modificar los valores correspondientes al nombre de la base de datos, la dirección URL de almacenamiento, la credencial SQL y el período de retención según sus requisitos:

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

    Para obtener más información sobre cómo crear un certificado para el cifrado, consulte el paso Crear un certificado de copia de seguridad en Crear una copia de seguridad cifrada.

  7. Habilite y configure SQL Server copia de seguridad administrada en Microsoft Azure para AGTestDB en Node2: inicie SQL Server Management Studio y conéctese a la instancia de Node2 donde está instalada la base de datos de disponibilidad. En la ventana de consulta, ejecute la siguiente instrucción después de modificar los valores correspondientes al nombre de la base de datos, la dirección URL de almacenamiento, la credencial SQL y el período de retención según sus requisitos:

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

    Copia de seguridad administrada de SQL Server en Microsoft Azure está habilitada ahora en la base de datos especificada. Puede tardarse hasta 15 minutos en que las operaciones de copia de seguridad de la base de datos empiecen a ejecutarse. La copia de seguridad tendrá lugar en la réplica de la copia de seguridad preferida.

  8. Revise la configuración predeterminada del evento extendido: Revise la configuración del evento extendido mediante la ejecución de la siguiente instrucción transact-SQL en la réplica desde la que se usa SQL Server copia de seguridad administrada en Microsoft Azure para programar las copias de seguridad. Esta suele ser la configuración de la réplica de copia de seguridad preferida para el Grupo de disponibilidad al que pertenece la base de datos.

    SELECT * FROM smart_admin.fn_get_current_xevent_settings(); 
    

    Debería ver que los eventos de canal operativo y analítico Administración están habilitados de forma predeterminada y no se pueden deshabilitar. Debe ser suficiente supervisar los eventos que requieren intervención manual. Puede habilitar los eventos de depuración, pero estos canales incluyen eventos informativos y de depuración que SQL Server Copia de seguridad administrada en Microsoft Azure usa para detectar problemas y resolverlos. Para más información, consulte Supervisión de SQL Server Copia de seguridad administrada en Azure.

  9. Habilite y configure la notificación del estado de mantenimiento: Copia de seguridad administrada de SQL Server en Microsoft Azure tiene un procedimiento almacenado que crea un trabajo del agente para enviar notificaciones por correo electrónico de los errores o las advertencias que puedan requerir atención. Para recibir dichas notificaciones, debe habilitar el procedimiento almacenado que crea un trabajo del Agente SQL Server. En los pasos siguientes se describe el proceso para habilitar y configurar las notificaciones por correo electrónico:

    1. Configure Correo electrónico de base de datos si aún no está habilitado en la instancia. Para obtener más información, vea Configure Database Mail.

    2. Configure la notificación del Agente SQL Server para que use Correo electrónico de base de datos. Para más información, consulte Configurar el Agente SQL Server para que use el Correo electrónico de base de datos.

    3. Habilite las notificaciones por correo electrónico para recibir advertencias y errores de copia de seguridad: En la ventana de consulta, ejecute las siguientes instrucciones Transact-SQL:

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

      Para más información y un script de ejemplo completo, consulte Supervisión de SQL Server Copia de seguridad administrada en Azure.

  10. Visualización de archivos de copia de seguridad en la cuenta de Azure Storage: Conéctese a la cuenta de almacenamiento desde SQL Server Management Studio o el Portal de administración de Azure. Verá un contenedor para la instancia de SQL Server que hospeda la base de datos que configuró para usar SQL Server Copia de seguridad administrada en Microsoft Azure. También puede ver una base de datos y una copia de seguridad de registros en un plazo de 15 minutos después de habilitar SQL Server copia de seguridad administrada en Microsoft Azure para la base de datos.

  11. Supervise el estado de mantenimiento: Puede supervisar a través de notificaciones por correo electrónico que configuró anteriormente o supervisar activamente los eventos registrados. Las siguientes son algunas instrucciones de Transact-SQL de ejemplo que se utilizan para ver los eventos:

    --  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 varchar (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;  
    

Los pasos descritos en esta sección son específicos para configurar Copia de seguridad administrada de SQL Server en Microsoft Azure por primera vez en la base de datos. Puede modificar las configuraciones existentes mediante el mismo procedimiento almacenado del sistema smart_admin.sp_set_db_backup y proporcionar los nuevos valores. Para más información, consulte SQL Server Copia de seguridad administrada en Azure: configuración de retención y almacenamiento.

Consideraciones al quitar una base de datos de la configuración del Grupo de disponibilidad AlwaysOn

Si se quita una base de datos de la configuración del grupo de disponibilidad AlwaysOn y ahora es una base de datos independiente, se recomienda realizar copias de seguridad mediante smart_admin.sp_backup_on_demand (Transact-SQL). Al crear una copia de seguridad de base de datos de esta manera, establece una nueva cadena de copia de seguridad y el archivo se colocará en el contenedor específico de la instancia, en lugar del contenedor de disponibilidad donde se almacenaron las copias de seguridad cuando la base de datos formaba parte del grupo de disponibilidad.

Advertencia

No se garantiza la posibilidad de recuperación de la base de datos en este escenario a partir de las copias de seguridad anteriores al cambio en el estado del Grupo de disponibilidad.