Compartir a través de


Copia de seguridad automatizada para SQL Server en máquinas virtuales de Azure

Se aplica a: SQL Server en VM de Azure

La Copia de seguridad automatizada configura automáticamente la copia de seguridad administrada en Microsoft Azure para todas las bases de datos nuevas y existentes en SQL Server en máquinas virtuales de Azure con las ediciones Standard, Enterprise o Developer de SQL Server 2016 o versiones posteriores. Esto le permite configurar copias de seguridad de bases de datos periódicas que usan el almacenamiento duradero de Azure Blob Storage.

Requisitos previos

A fin de usar Copias de seguridad automatizadas para SQL Server en una máquina virtual de Azure, necesita lo siguiente:

  • Una instancia de SQL Server en máquinas virtuales de Azure registrado con la extensión Agente de IaaS de SQL.
  • Windows Server 2012 R2 o posterior.
  • SQL Server 2016 y versiones posteriores. Para SQL Server 2014, consulte Copia de seguridad automatizada para SQL Server 2014.
  • Configuración de base de datos:
    • Las bases de datos de usuario de destino deben utilizar el modelo de recuperación completa. Las bases de datos del sistema no tienen que usar el modelo de recuperación completa. Aun así, sí debe usar el modelo de recuperación completa si necesita realizar copias de seguridad de registros para model o msdb. Para obtener más información sobre el impacto del modelo de recuperación completa en las copias de seguridad, vea Copia de seguridad en el modelo de recuperación completa.
    • La VM con SQL Server se ha registrado con la extensión Agente de IaaS de SQL y la característica de copia de seguridad automatizada está habilitada. Como la copia de seguridad automatizada se basa en la extensión, solo se admite en las bases de datos de destino de la instancia predeterminada o en una instancia con nombre única. Si no hay ninguna instancia predeterminada y hay varias instancias con nombre, se producirá un error en la extensión Agente de IaaS de SQL y la copia de seguridad automatizada no funcionará.
    • Si ejecutas copias de seguridad automatizadas en una réplica de grupo de disponibilidad AlwaysOn secundaria, la réplica debe ser legible para que las copias de seguridad se realicen correctamente.

Configuración

En la siguiente tabla se describen las opciones que pueden configurarse para Automated Backup. Los pasos de configuración reales varían si usa Azure Portal o comandos de Windows PowerShell de Azure. La copia de seguridad automatizada usa la compresión de copia de seguridad de forma predeterminada y no se puede deshabilitar.

Configuración básica

Configuración Intervalo (valor predeterminado) Descripción
Automated Backup Habilitar/deshabilitar (deshabilitado) Habilita o deshabilita Automated Backup para una máquina virtual de Azure que ejecuta las ediciones Developer, Standard o Enterprise de SQL Server 2016.
Período de retención 1-90 días (90 días) El número de días que el servicio conserva los metadatos de copia de seguridad en msdb. Después de que expire el período de retención para una copia de seguridad, los metadatos se eliminan de msdb, pero los archivos no se eliminan del contenedor de almacenamiento. Puedes usar una directiva de administración del ciclo de vida de la cuenta de almacenamiento para equilibrar la retención de copias de seguridad con la administración de costes según tus necesidades empresariales.
Cuenta de almacenamiento Cuenta de almacenamiento de Azure Una cuenta de almacenamiento de Azure que usar para almacenar archivos de Automated Backup en el almacenamiento de blobs. Se crea un contenedor en esta ubicación para guardar todos los archivos de copia de seguridad. La convención de nomenclatura de los archivos de copia de seguridad agrega la fecha, la hora y el GUID de base de datos.
Cifrado Habilitar/deshabilitar (deshabilitado) Habilita o deshabilita el cifrado de copia de seguridad. Cuando se habilita el cifrado de copia de seguridad, los certificados usados para restaurar la copia de seguridad se ubican en la cuenta de almacenamiento especificada en el mismo contenedor automaticbackup con la misma convención de nomenclatura. Si la contraseña cambia, se genera un nuevo certificado con esa contraseña, pero el certificado antiguo permanece para restaurar copias de seguridad anteriores.
Contraseña Texto de contraseña Una contraseña para claves de cifrado. Esta contraseña solo es necesaria si se habilita el cifrado. Para restaurar una copia de seguridad cifrada, debe disponer de la contraseña correcta y del certificado relacionado que se usó en el momento en el que se realizó la copia de seguridad.

Configuración avanzada

Configuración Intervalo (valor predeterminado) Descripción
Copias de seguridad de bases de datos del sistema Habilitar/deshabilitar (deshabilitado) Cuando se habilita, esta característica realiza también una copia de seguridad de las bases de datos del sistema: master, msdb y model. Para las bases de datos msdb y model, verifique que están en modelo de recuperación completa si quiere que se realicen copias de seguridad de registros. Las copias de seguridad de registros nunca se realizan para master y no se realiza ninguna copia de seguridad para tempdb.
Programación de copia de seguridad Manual/Automatizado (Automatizado) De forma predeterminada, la programación de copias de seguridad se determina automáticamente en función del crecimiento de los registros. La programación manual de copias de seguridad permite al usuario especificar el período de tiempo para las copias de seguridad. En este caso, las copias de seguridad siempre se realizan con la frecuencia especificada y durante el período de tiempo especificado de un día determinado.
Frecuencia de copia de seguridad completa Diariamente/semanalmente Frecuencia de las copias de seguridad completas. En ambos casos, las copias de seguridad completas se inician durante el siguiente período de tiempo programado. Cuando se selecciona semanalmente, las copias de seguridad pueden extenderse varios días hasta que se realizan correctamente las copias de seguridad de todas las bases de datos.
Hora de inicio de copia de seguridad completa 00:00 – 23:00 (01:00) Hora de inicio de un día determinado durante el cual se pueden realizar copias de seguridad completas.
Período de tiempo de copia de seguridad completa 1-23 horas (1 hora) Duración del período de tiempo de un día determinado durante el cual se pueden realizar copias de seguridad completas.
Frecuencia de copia de seguridad de registros 5-60 minutos (60 minutos) Frecuencia de las copias de seguridad de registros.

Nota:

La programación de copia de seguridad automatizada realiza copias de seguridad en función del crecimiento del registro. No se recomienda usar copias de seguridad automatizadas cuando las bases de datos están en modo de recuperación simple.

Información de la frecuencia de copia de seguridad completa

Es importante conocer la diferencia entre las copias de seguridad completas diarias y semanales. Considere los dos escenarios de ejemplo siguientes.

Escenario 1: Copias de seguridad semanales

Tiene una VM con SQL Server que contiene varias bases de datos de gran tamaño.

El lunes, se habilita Automated Backup con las siguientes opciones:

  • Programación de copia de seguridad: Manual
  • Frecuencia de copia de seguridad completa: Semanal
  • Hora de inicio de copia de seguridad completa: 01:00
  • Período de tiempo de copia de seguridad completa: 1 hora

Esto significa que la siguiente ventana de copia de seguridad disponible es el martes a la 1:00 durante una hora. En ese momento, Automated Backup empieza a realizar copias de seguridad de las bases de datos una a una. En este escenario, las bases de datos son lo suficientemente grandes como para que primero se realicen las copias de seguridad completas de las bases de datos pares. No obstante, después de una hora no se realiza la copia de seguridad de todas las bases de datos.

Cuando esto ocurre, Automated Backup comienza la copia de seguridad de las demás bases de datos al día siguiente, es decir, el miércoles a la 1:00 durante una hora. Si no se realiza la copia de seguridad de todas las bases de datos a esa hora, vuelve a intentarlo al día siguiente a la misma hora. Se aplica este mismo comportamiento hasta que se realiza correctamente la copia de seguridad de todas las bases de datos.

Cuando vuelve a llegar el martes, Automated Backup empieza de nuevo a realizar la copia de seguridad de todas las bases de datos.

En este escenario se muestra que Automated Backup solo funciona durante el período de tiempo especificado y que la copia de seguridad de cada base de datos se realiza una vez a la semana. También se muestra que las copias de seguridad se pueden prolongar varios días en caso de que no sea posible completarlas todas en un solo día.

Escenario 2: Copias de seguridad diarias

Tiene una VM con SQL Server que contiene varias bases de datos de gran tamaño.

El lunes, se habilita Automated Backup con las siguientes opciones:

  • Programación de copia de seguridad: Manual
  • Frecuencia de copia de seguridad completa: Diario
  • Hora de inicio de copia de seguridad completa: 22:00
  • Período de tiempo de copia de seguridad completa: 6 horas

Esto significa que la siguiente ventana de copia de seguridad disponible es el lunes a la 22:00 durante seis horas. En ese momento, Automated Backup empieza a realizar copias de seguridad de las bases de datos una a una.

Posteriormente, se vuelve a realizar la copia de seguridad completa de todas las bases de datos el martes a las 22:00 horas durante seis horas.

Importante

Las copias de seguridad se ejecutan secuencialmente durante cada intervalo. En el caso de instancias con un gran número de bases de datos, programe el intervalo de copia de seguridad con tiempo suficiente para todas las copias de seguridad. Si las copias de seguridad no se pueden completar dentro del intervalo especificado, se pueden omitir algunas copias de seguridad y el tiempo entre las copias de seguridad de una base de datos única puede superior al tiempo del intervalo configurado, lo que podría afectar negativamente al objetivo de punto de restauración (RPO).

Configuración de máquinas virtuales nuevas

Use Azure Portal para configurar la copia de seguridad automatizada al crear un nuevo equipo SQL Server 2016 o posterior en el modelo de implementación de Resource Manager.

En la pestaña Configuración de SQL Server, seleccione Habilitar en Copia de seguridad automatizada. Al habilitar la copia de seguridad automatizada, puede configurar las siguientes opciones:

  • Período de retención para copias de seguridad (hasta 90 días)
  • La cuenta de almacenamiento y el contenedor de almacenamiento para usar en las copias de seguridad
  • La opción de cifrado y la contraseña de las copias de seguridad
  • La copia de seguridad de bases de datos del sistema
  • La configuración de la programación de copia de seguridad

Para cifrar la copia de seguridad, seleccione Habilitar. Después, especifique un valor en Contraseña. Azure crea un certificado para cifrar las copias de seguridad y utiliza la contraseña especificada para proteger ese certificado.

Elija Seleccionar un contenedor de almacenamiento para especificar el contenedor donde desea almacenar las copias de seguridad.

De manera predeterminada, la programación se establece automáticamente, pero puede crear su propia programación al seleccionar Manual, que le permite configurar la frecuencia de copia de seguridad, la ventana de tiempo de copia de seguridad y la frecuencia de copia de seguridad del registro en minutos.

La siguiente captura de pantalla de Azure Portal muestra la configuración de copia de seguridad automatizada al crear una nueva VM con SQL Server SQL:

Captura de pantalla de la configuración de copia de seguridad automatizada en Azure Portal.

Configuración de máquinas virtuales existentes

En el caso de las máquinas de virtuales con SQL Server existentes, vaya al recurso de máquinas virtuales SQL y seleccione Copias de seguridad para configurar las copias de seguridad automatizadas.

Seleccione Habilitar para configurar la copia de seguridad automatizada.

Puede configurar el período de retención (hasta 90 días), el contenedor de la cuenta de almacenamiento donde desea almacenar las copias de seguridad, así como el cifrado y la programación de copia de seguridad. De manera predeterminada, la programación está automatizada.

Captura de pantalla de la copia de seguridad automatizada para VM existentes en el portal.

Si desea establecer su propia programación de copia de seguridad, elija Manual y configure la frecuencia de copia de seguridad, si desea o no realizar una copia de seguridad de las bases de datos del sistema y el intervalo de copia de seguridad del registro de transacciones en minutos.

Captura de pantalla de la selección manual para configurar tu propia programación de copia de seguridad.

Cuando finalice, seleccione el botón Aplicar de la parte inferior de página de configuración de Copias de seguridad para guardar los cambios.

Si habilita la copia de seguridad automatizada por primera vez, Azure configura el Agente de IaaS de SQL Server en segundo plano. Durante este tiempo, es posible que Azure Portal no muestre que se ha configurado Automated Backup. Espere unos minutos hasta que el agente se instale y configure. Después, Azure Portal mostrará la configuración nueva.

Configuración con PowerShell

Puede usar PowerShell para configurar la copia de seguridad automatizada. Antes de comenzar:

Nota:

En este artículo se usa el módulo Az de PowerShell, que es el módulo de PowerShell que se recomienda para interactuar con Azure. Para empezar a trabajar con el módulo Az de PowerShell, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Instalación de la extensión IaaS de SQL Server

Si se aprovisiona una máquina virtual con SQL Server desde Azure Portal, la extensión IaaS de SQL Server también debe estar instalada. Para determinar si está instalada para la máquina virtual, llame al comando Get-AzVM y examine la propiedad Extensiones.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"

(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions 

Si la extensión del agente IaaS de SQL Server está instalada, debe aparecer como "SqlIaaSAgent" o "SQLIaaSExtension". El ProvisioningState de la extensión también debe mostrar "Correcto".

Si no está instalada o no se ha podido aprovisionar, puede instalarla con el comando siguiente. Además del grupo de recursos y del nombre de VM, también debe especificar la región ( $region) en que se encuentra dicha VM.

$region = "EASTUS2"
Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region 

Verificación de la configuración actual

Si ha habilitado Automated Backup durante el aprovisionamiento, puede usar PowerShell para comprobar la configuración actual. Ejecute el comando Get-AzVMSqlServerExtension y examine la propiedad AutoBackupSettings:

(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings

Debería obtener una salida similar a la siguiente:

Enable                      : True
EnableEncryption            : False
RetentionPeriod             : 30
StorageUrl                  : https://test.blob.core.windows.net/
StorageAccessKey            :  
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : Manual
FullBackupFrequency         : WEEKLY
FullBackupStartTime         : 2
FullBackupWindowHours       : 2
LogBackupFrequency          : 60

Si la salida muestra que la opción Habilitar está establecida en False, tiene que habilitar Automated Backup. Lo bueno es que habilita y configura Automated Backup de la misma manera. Vea la sección siguiente para leer esta información.

Nota:

Si comprueba la configuración inmediatamente después de realizar un cambio, es posible que obtenga los valores de configuración anteriores. Espere unos minutos y compruebe la configuración de nuevo para asegurarse de que se hayan aplicado los cambios.

Configurar Automated Backup

Puede usar PowerShell para habilitar Automated Backup, así como para modificar su configuración y comportamiento en cualquier momento.

En primer lugar, seleccione o cree una cuenta de almacenamiento para los archivos de copia de seguridad. El script siguiente selecciona una cuenta de almacenamiento o la crea si no existe.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

Nota:

Automated Backup no permite almacenar las copias de seguridad en Premium Storage, pero pueden realizar copias de seguridad de discos de VM que usan Premium Storage.

Si desea usar un contenedor personalizado en la cuenta de almacenamiento para las copias de seguridad, use el siguiente script para comprobar el contenedor o crearlo si no existe.

$storage_container = "backupcontainer"

New-AzStorageContainer -Name $storage_container -Context $storage.Context

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

A continuación, Para obtener una clave de acceso para la cuenta de almacenamiento, utilice el siguiente script:

$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

Luego, utilice el comando Update-AzSqlVM para habilitar y configurar los valores de Copia de seguridad automatizada para almacenar copias de seguridad en la cuenta de Azure Storage. En este ejemplo, las copias de seguridad están configuradas para que se conserven durante 10 días. Las copias de seguridad de las bases de datos del sistema están habilitadas. Las copias de seguridad completas están programadas cada sábado (semanalmente) con un período de tiempo que empieza a las 20:00 horas y dura dos horas. Las copias de seguridad de registros están programadas para que se realicen cada 30 minutos.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly 
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

La instalación y configuración del agente de Iaas de SQL Server puede tardar algunos minutos.

Para habilitar el cifrado, modifique el script anterior para pasar el parámetro -AutoBackupSettingEnableEncryption junto con una contraseña (cadena segura) para el parámetro -AutoBackupSettingPassword. El siguiente script habilita la configuración de Automated Backup en el ejemplo anterior y agrega cifrado.

$password = "r@ndom Va1ue"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force  

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly `
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Para confirmar que se ha aplicado la configuración, verifique la configuración de Automated Backup.

Deshabilitar Automated Backup

Para deshabilitar Automated Backup, ejecute el mismo script con el parámetro -AutoBackupSettingEnable establecido en $false en el comando Update-AzSqlVM. Al establecer el valor como $false, se deshabilita la característica. Al igual que la instalación, la deshabilitación de Automated Backup puede tardar algunos minutos.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable:$false

Script de ejemplo

El script siguiente proporciona un conjunto de variables que se pueden personalizar para habilitar y configurar Automated Backup para la VM. En su caso, debe personalizar el script en función de sus requisitos. Por ejemplo, debe realizar cambios si desea deshabilitar la copia de seguridad de bases de datos del sistema o habilitar el cifrado.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$retentionperiod = 10
$backupscheduletype = "Manual"
$fullbackupfrequency = "Weekly"
$fullbackupdayofweek = "Saturday"
$fullbackupstarthour = "20"
$fullbackupwindow = "2"
$logbackupfrequency = "30"

# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL Server IaaS Extension 

Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region

# Creates/use a storage account to store the backups

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

# Creates/uses a custom storage account container

$storage_container = "yourbackupcontainer"

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

# Get storage account access key
$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

# Configure Automated Backup settings

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType $backupscheduletype `
-AutoBackupSettingFullBackupFrequency $fullbackupfrequency `
-AutoBackupSettingDaysOfWeek $fullbackupdayofweek `
-AutoBackupSettingFullBackupStartTime $fullbackupstarthour `
-AutoBackupSettingFullBackupWindowHour $fullbackupwindow `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod $retentionperiod `
-AutoBackupSettingLogBackupFrequency $logbackupfrequency `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb

Copia de seguridad con certificados de cifrado

Si decides cifrar las copias de seguridad, se generará un certificado de cifrado y se guardará en la misma cuenta de almacenamiento que las copias de seguridad. En este escenario, también tendrás que escribir una contraseña que se usará para proteger los certificados de cifrado usados para cifrar y descifrar las copias de seguridad. Esto te permite no tener que preocuparte por las copias de seguridad más allá de la configuración de esta característica y también garantiza que puedas confiar en que las copias de seguridad sean seguras.

Cuando se habilita el cifrado de copia de seguridad, se recomienda encarecidamente determinar si el certificado de cifrado se ha creado y cargado correctamente para garantizar la restauración de las bases de datos. Para ello, crea una base de datos inmediatamente y comprueba que se ha realizado correctamente una copia de seguridad de los certificados de cifrado y los datos en el contenedor recién creado. Esto mostrará que todo se configuró correctamente y que no se produjeron anomalías.

Si el certificado no se pudo cargar por algún motivo, puedes usar el administrador de certificados para exportar el certificado y guardarlo. No obstante, no es buena idea guardarlo en la misma VM, ya que esto no garantiza que tengas acceso al certificado cuando la VM esté inactiva. Para saber si el certificado se realizó correctamente después de cambiar o crear la configuración de Copia de seguridad automatizada, puedes comprobar los registros de eventos en la VM y, si se produjo un error, verás este mensaje de error:

Captura de pantalla en la que se muestra el error en el registro de eventos en la VM.

Si se ha hecho una copia de seguridad de los certificados correctamente, verás este mensaje en los registros de eventos:

Captura de pantalla de la copia de seguridad correcta del certificado de cifrado en los registros de eventos.

Como práctica común, se recomienda comprobar el estado de las copias de seguridad de vez en cuando. Para poder restaurar las copias de seguridad, debes hacer lo siguiente:

  1. Confirma que se ha realizado la copia de seguridad de los certificados de cifrado y que recuerdas la contraseña. Si no lo haces, no podrás descifrar y restaurar las copias de seguridad. Si por algún motivo los certificados no se han realizado correctamente, puedes hacerlo manualmente si ejecutas la siguiente consulta de T-SQL:

    BACKUP MASTER KEY TO FILE = <file_path> ENCRYPTION BY PASSWORD = <password>
    BACKUP CERTIFICATE [AutoBackup_Certificate] TO FILE = <file_path> WITH PRIVATE KEY (FILE = <file_path>, ENCRYPTION BY PASSWORD = <password>)
    
  2. Confirma que los archivos de copia de seguridad se cargan con al menos una copia de seguridad completa. Dado que a veces se producen errores, debes asegurarte de que siempre tienes al menos una copia de seguridad completa antes de eliminar la VM o, en caso de que la VM esté dañada, de modo que sigas pudiendo acceder a los datos. Debes asegurarte de que la copia de seguridad en el almacenamiento es segura y recuperable antes de eliminar los discos de datos de la VM.

Supervisión

Para supervisar Automated Backup en SQL Server 2016, tiene dos opciones principales. Puesto que Automated Backup usa la característica Copia de seguridad de administrada SQL Server, las mismas técnicas de supervisión se aplican a ambos.

En primer lugar, puede sondear el estado mediante una llamada a msdb.managed_backup.sp_get_backup_diagnostics. O bien consultar la función con valores de tabla msdb.managed_backup.fn_get_health_status.

Otra opción es aprovechar las ventajas de la característica integrada Correo electrónico de base de datos para las notificaciones.

  1. Llame al procedimiento almacenado msdb.managed_backup.sp_set_parameter para asignar una dirección de correo electrónico al parámetro SSMBackup2WANotificationEmailIds.
  2. Habilite SendGrid para enviar los mensajes de correo electrónico desde la VM de Azure.
  3. Utilice el nombre de usuario y el servidor SMTP para configurar Correo electrónico de base de datos. Puede configurar Correo electrónico de base de datos en SQL Server Management Studio o con comandos de Transact-SQL. Para obtener más información, consulte Correo electrónico de base de datos.
  4. Configurar el Agente SQL Server para que use el Correo electrónico de base de datos.
  5. Compruebe que el puerto SMTP está permitido tanto a través del firewall de VM local como del grupo de seguridad de red para la VM.

Problemas conocidos

Tenga en cuenta estos problemas conocidos al trabajar con la característica Copia de seguridad automatizada.

No se puede habilitar la copia de seguridad automatizada en Azure Portal

En la tabla siguiente se enumeran las posibles soluciones si tiene problemas para habilitar la copia de seguridad automatizada desde Azure Portal:

Síntoma Solución
La habilitación de las copias de seguridad automatizadas generará un error si la extensión de IaaS está en estado de error. Repare la extensión Agente de IaaS de SQL si se encuentra en estado de error.
Se producirá un error al habilitar la copia de seguridad automatizada si tiene más de 100 bases de datos Se trata de una limitación conocida con la extensión Agente de IaaS de SQL. Para solucionar este problema, puede habilitar la copia de seguridad administrada directamente en lugar de usar la extensión Agente de IaaS de SQL para configurar la copia de seguridad automatizada.
Se produce un error al habilitar la copia de seguridad automatizada debido a problemas de metadatos Detenga el servicio Agente de IaaS de SQL. Ejecute el comando T-SQL use msdb exec autoadmin_metadata_delete. Inicie el servicio Agente de IaaS de SQL e intente volver a habilitar la copia de seguridad automatizada desde Azure Portal.
Habilitación de copias de seguridad automatizadas para FCI No se admiten copias de seguridad mediante puntos de conexión privados. Use el URI de la cuenta de almacenamiento completa para la copia de seguridad.
Copia de seguridad de varias instancias de SQL mediante la copia de seguridad automatizada Actualmente, la copia de seguridad automatizada solo admite una instancia de SQL Server. Si tiene varias instancias con nombre y la instancia predeterminada, la copia de seguridad automatizada funciona con la instancia predeterminada. Si tiene varias instancias con nombre y ninguna instancia predeterminada, se producirá un error al activar la copia de seguridad automatizada.
No se puede habilitar la copia de seguridad automatizada debido a los permisos y la cuenta Compruebe lo siguiente:
- El Agente de SQL Server se está ejecutando.
- La cuenta NT Service\SqlIaaSExtensionQuery tiene los permisos adecuados para la característica Copia de seguridad automatizada tanto dentro de SQL Server como para el recurso de máquinas virtuales SQL en Azure Portal.
- No se ha cambiado el nombre de la cuenta de SA, aunque deshabilitarla es aceptable.
Error en Automated Backup para SQL 2016 y versiones posteriores Permitir el acceso público de blobs está habilitado en la cuenta de almacenamiento. Esto proporciona una solución temporal a un problema conocido.

Errores comunes con la Copia de seguridad automatizada o administrada

En la tabla siguiente se enumeran los posibles errores y soluciones al trabajar con copias de seguridad automatizadas:

Síntoma Solución
Se produce un error en la copia de seguridad automatizada o administrada porque hay errores de conectividad con la cuenta de almacenamiento o de tiempo de espera Compruebe que el grupo de seguridad de red (NSG) de la red virtual y el Firewall de Windows no bloquean las conexiones salientes de la máquina virtual (VM) a la cuenta de almacenamiento en el puerto 443.
Se produce un error en la copia de seguridad automatizada o administrada debido a la presión de memoria o de E/S Compruebe si puede aumentar la memoria máxima del servidor y cambiar el tamaño del disco o de la máquina virtual si está sobrepasando los límites de E/S o máquina virtual. Si va a usar un grupo de disponibilidad, puede descargar las copias de seguridad en la réplica secundaria.
Se produce un error en la copia de seguridad automatizada después de cambiar el nombre del servidor Si ha cambiado el nombre de host de la máquina, también debe cambiar el nombre de host dentro de SQL Server.
Error: "La operación no se realizó debido a un error interno. El argumento no debe ser una cadena vacía.\r\nNombre del parámetro: token SAS. Vuelva a intentarlo más tarde. Este error se debe probablemente a que el servicio Agente SQL Server no tiene los permisos de suplantación correctos. Para corregir este problema, cambie el servicio Agente SQL Server para usar una cuenta diferente.
Error: La copia de seguridad administrada de SQL Server en Microsoft Azure no puede configurar los ajustes de copia de seguridad predeterminados para la instancia de SQL Server porque la dirección URL del contenedor no era válida. También es posible que la credencial de SAS no sea válida. Este error puede aparecer si tiene muchas bases de datos. Use copias de seguridad administradas en lugar de copias de seguridad automatizadas.
Error en el trabajo de copia de seguridad automatizada después del reinicio de la máquina virtual Asegúrese de que el servicio Agente SQL está en funcionamiento.
Error intermitente en la copia de seguridad administrada/Error:Tiempo de espera de ejecución expirado. Se trata de un problema conocido corregido en la actualización acumulativa CU18 para SQL Server 2019 y [KB4040376] para SQL Server 2014-2017.
Error: El servidor remoto devolvió un error: (403) Prohibido Repare la extensión Agente de IaaS de SQL.
Error 3202: No se realizó la escritura en la cuenta de almacenamiento 13 (los datos no son válidos) Quite la directiva de blob inmutable en el contenedor de almacenamiento y asegúrese de que la cuenta de almacenamiento utilice TLS 1.0 como mínimo.
Error 3063: escribir en el dispositivo de blob en bloques. El dispositivo ha alcanzado el límite de bloques permitidos. Esto puede ocurrir si estás ejecutando copias de seguridad automatizadas desde una réplica de grupo de disponibilidad AlwaysOn secundaria que tenga la configuración establecida Readable en NO. Para que las copias de seguridad automatizadas funcionen en una réplica secundaria, la réplica debe ser legible.
No se puede programar una copia de seguridad para un día determinado Si usa Copias de seguridad automatizadas para SQL Server 2014, es una situación esperada. Puede configurar programaciones de copia de seguridad a partir de SQL Server 2016.

Se produce un error al deshabilitar la copia de seguridad automatizada o la copia de seguridad administrada

En la tabla siguiente se enumeran las posibles soluciones si tiene problemas para deshabilitar la copia de seguridad automatizada desde Azure Portal:

Síntoma Solución
La deshabilitación de las copias de seguridad automatizadas generará un error si la extensión de IaaS está en estado de error. Repare la extensión Agente de IaaS de SQL si se encuentra en estado de error.
La deshabilitación de las copias de seguridad automatizadas genera un error debido a problemas de metadatos Detenga el servicio Agente de IaaS de SQL. Ejecute el comando T-SQL use msdb exec autoadmin_metadata_delete. Inicie el servicio Agente de Iaas de SQL e intente deshabilitar la copia de seguridad automatizada en Azure Portal.
No se puede deshabilitar la copia de seguridad automatizada debido a los permisos y la cuenta Compruebe lo siguiente:
- El Agente de SQL Server se está ejecutando.
- La cuenta NT Service\SqlIaaSExtensionQuery tiene los permisos adecuados para la característica Copia de seguridad automatizada tanto dentro de SQL Server como para el recurso de máquinas virtuales SQL en Azure Portal.
- No se ha cambiado el nombre de la cuenta de SA, aunque deshabilitarla es aceptable.

Quiero averiguar qué servicio o aplicación está realizando la copia de seguridad de SQL Server

  • En el Explorador de objetos de SQL Server Management Studio (SSMS), haga clic con el botón derecho en la base de datos > y seleccione Informes>Informes estándar>Eventos de copias de seguridad y restauración. En el informe, puede expandir la sección Operaciones de copia de seguridad correctas para ver el historial de copias de seguridad.
  • Si aparecen varias copias de seguridad en Azure o en un dispositivo virtual, compruebe si usa Azure Backup para hacer una copia de seguridad de bases de datos SQL individuales o tomar una instantánea de la máquina virtual en un dispositivo virtual que use la cuenta NT Authority/SYSTEM. En caso contrario, compruebe la consola Servicios de Windows (services.msc) para identificar las aplicaciones de terceros que pueden realizar copias de seguridad.

Pasos siguientes

Automated Backup configura Copia de seguridad administrada en Azure Virtual Machines. Por lo tanto, es importante revisar la documentación de la copia de seguridad administrada para comprender el comportamiento y las implicaciones.

Puede encontrar directrices adicionales sobre la copia de seguridad y la restauración para SQL Server en VM de Azure en el siguiente artículo: Copias de seguridad y restauración para SQL Server en máquinas virtuales de Azure.

Para más información acerca de otras tareas de automatización disponibles, consulte la extensión Agente de IaaS de SQL Server.

Para más información sobre cómo ejecutar SQL Server en máquinas virtuales de Azure, consulte Introducción a SQL Server en Azure máquinas virtuales de Azure.