Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La CLI de Azure se usa para crear y administrar los recursos de Azure desde la línea de comandos o mediante scripts. En este artículo se describe cómo administrar una base de datos SQL de copia de seguridad en una máquina virtual de Azure mediante la CLI de Azure. También puede realizar estas acciones mediante Azure Portal.
Nota:
Si ha usado Copia de seguridad de una base de datos SQL en Azure mediante la CLI para realizar una copia de seguridad de la base de datos SQL, está utilizando los siguientes recursos:
- Un grupo de recursos denominado SQLResourceGroup
- Una bóveda llamada SQLVault
- Contenedor protegido denominado VMAppContainer; Calcular; SQLResourceGroup; testSQLVM
- Base de datos/elemento de copia de seguridad denominada sqldatabase; mssqlserver; maestro
- Recursos en la región westus2
La CLI de Azure facilita el proceso de administración de una base de datos SQL que se ejecuta en una máquina virtual de Azure de la que se ha realizado una copia de seguridad mediante Azure Backup. En las secciones siguientes se describe cada una de las operaciones de administración.
Obtenga más información sobre las configuraciones y los escenarios admitidos para la copia de seguridad de SQL.
Supervisar los trabajos de copia de seguridad y restauración
Use el comando az backup job list para supervisar los trabajos completados o en ejecución (copia de seguridad o restauración). La CLI también permite suspender un trabajo que se esté ejecutando actualmente o esperar hasta que se complete un trabajo.
az backup job list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--output table
La salida tiene el siguiente aspecto:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master [testSQLVM] 2019-12-03T03:09:210831+00:00
ccdb4dce-8b15-47c5-8c46-b0985352238f Backup (Full) Completed master [testSQLVM] 2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282 Backup (Differential) Completed master [testSQLVM] 2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813 Restore (Log) Completed master [testSQLVM] 2019-12-03T05:44:51.081607+00:00
Cambiar una directiva
Para cambiar la directiva subyacente a la configuración de copia de seguridad de SQL, use el comando az backup policy set . El parámetro name de este comando hace referencia al elemento de copia de seguridad cuya política desea cambiar. Aquí, reemplace la política de la base de datos SQL sqldatabase; mssqlserver; master con una nueva política newSQLPolicy. Puede crear nuevas directivas mediante el comando az backup policy create .
az backup item set-policy --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name newSQLPolicy \
--name sqldatabase;mssqlserver;master \
La salida tiene el siguiente aspecto:
Name Operation Status Item Name Backup Management Type Start Time UTC Duration
------------------------------------ --------------- --------- ----------- ------------------------ -------------------------------- --------------
ba350996-99ea-46b1-aae2-e2096c1e28cd ConfigureBackup Completed master AzureWorkload 2022-06-22T08:24:03.958001+00:00 0:01:12.435765
Creación de una política de copia de seguridad diferencial
Para crear una directiva de copia de seguridad diferencial, use el comando az backup policy create con los siguientes parámetros:
- --backup-management-type: Carga de trabajo de Azure.
- --workload-type: Base de datos SQL.
- --name: Nombre de la política.
- --policy: Archivo JSON con detalles apropiados para la programación y la retención.
- --resource-group: Grupo de recursos de la bóveda.
- --vault-name: Nombre de la bóveda/
Ejemplo:
az backup policy create --resource-group SQLResourceGroup --vault-name SQLVault --name SQLPolicy --backup-management-type AzureWorkload --policy SQLPolicy.json --workload-type SQLDataBase
Ejemplo de JSON (sqlpolicy.json):
"eTag": null,
"id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLResourceGroup/providers/Microsoft.RecoveryServices/vaults/SQLVault/backupPolicies/SQLPolicy",
"location": null,
"name": "sqlpolicy",
"properties": {
"backupManagementType": "AzureWorkload",
"workLoadType": "SQLDataBase",
"settings": {
"timeZone": "UTC",
"issqlcompression": false,
"isCompression": false
},
"subProtectionPolicy": [
{
"policyType": "Full",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Sunday"
],
"scheduleRunTimes": [
"2022-06-13T19:30:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "LongTermRetentionPolicy",
"weeklySchedule": {
"daysOfTheWeek": [
"Sunday"
],
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 104,
"durationType": "Weeks"
}
},
"monthlySchedule": {
"retentionScheduleFormatType": "Weekly",
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 60,
"durationType": "Months"
}
},
"yearlySchedule": {
"retentionScheduleFormatType": "Weekly",
"monthsOfYear": [
"January"
],
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 10,
"durationType": "Years"
}
}
}
},
{
"policyType": "Differential",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunTimes": [
"2022-06-13T02:00:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 30,
"durationType": "Days"
}
}
},
{
"policyType": "Log",
"schedulePolicy": {
"schedulePolicyType": "LogSchedulePolicy",
"scheduleFrequencyInMins": 120
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 15,
"durationType": "Days"
}
}
}
],
"protectedItemsCount": 0
},
"resourceGroup": "SQLResourceGroup",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupPolicies"
}
Una vez que la política se ha creado correctamente, la salida del comando muestra el JSON de la política que pasó como parámetro al ejecutar el comando.
Puede modificar la siguiente sección de la política para especificar la frecuencia de copia de seguridad necesaria y la retención para las copias de seguridad diferenciales.
Por ejemplo:
{
"policyType": "Differential",
"retentionPolicy": {
"retentionDuration": {
"count": 30,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
Ejemplo:
Si desea tener copias de seguridad diferenciales solo los sábados y conservarlas durante 60 días, realice los siguientes cambios en la política:
- Actualice el recuento de retentionDuration a 60 días.
- Especifique solo el sábado como ScheduleRunDays.
{
"policyType": "Differential",
"retentionPolicy": {
"retentionDuration": {
"count": 60,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
Proteger las nuevas bases de datos agregadas a una instancia de SQL
Al registrar una instancia de SQL con un almacén de Recovery Services , se detectan automáticamente todas las bases de datos de esta instancia.
Sin embargo, si ha agregado nuevas bases de datos a la instancia de SQL más adelante, use el comando az backup protectable-item initialize . Este comando detecta las nuevas bases de datos agregadas.
az backup protectable-item initialize --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--workload-type SQLDataBase
A continuación, use el cmdlet az backup protectable-item list para enumerar todas las bases de datos que se han detectado en la instancia de SQL. Sin embargo, esta lista excluye las bases de datos en las que ya se haya configurado la copia de seguridad. Una vez detectada la base de datos de la que se va a realizar una copia de seguridad, consulte Habilitar la copia de seguridad en la base de datos SQL.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--protectable-item-type SQLDataBase \
--output table
La nueva base de datos de la que desea hacer una copia de seguridad se muestra en esta lista, que aparece como:
Name Protectable Item Type ParentName ServerName IsProtected
--------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;db1 SQLDataBase mssqlserver testSQLVM NotProtected
sqldatabase;mssqlserver;db2 SQLDataBase mssqlserver testSQLVM NotProtected
Detener la protección de una base de datos SQL
Puede detener la protección de una base de datos SQL en los siguientes procesos:
- Detener todos los trabajos futuros de copia de seguridad y eliminar todos los puntos de recuperación.
- Detener todos los trabajos futuros de copia de seguridad y dejar intactos los puntos de recuperación.
Si decides dejar los puntos de recuperación, ten en cuenta estos detalles:
- Todos los puntos de recuperación permanecen intactos para siempre, y todas las paradas de poda en la protección de parada con retención de datos.
- Se le cobrará la instancia protegida y el almacenamiento consumido.
- Si elimina un origen de datos sin detener las copias de seguridad, las nuevas copias de seguridad producirán errores.
A continuación se detallan los procesos para detener la protección.
Detener la protección con conservación de datos
Para detener la protección con retención de datos, use el comando az backup protection disable'.
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--item-name sqldatabase;mssqlserver;master \
--workload-type SQLDataBase \
--output table
La salida tiene el siguiente aspecto:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Para comprobar el estado de esta operación, use el comando az backup job show .
Detención de la protección sin conservar los datos
Para detener la protección sin retener los datos, use el comando az backup protection disable .
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--item-name sqldatabase;mssqlserver;master \
--workload-type SQLDataBase \
--delete-backup-data true \
--output table
La salida tiene el siguiente aspecto:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Para comprobar el estado de esta operación, use el comando az backup job show .
Reanudar protección
Cuando detenga la protección de la base de datos SQL con retención de datos, puede reanudar la protección más adelante. Si no conserva los datos de los que se realizó una copia de seguridad, no podrá reanudar la protección.
Para reanudar la protección, use el comando az backup protection resume .
az backup protection resume --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name SQLPolicy \
--output table
La salida tiene el siguiente aspecto:
Name ResourceGroup
------------------------------------ ---------------
b2a7f108-1020-4529-870f-6c4c43e2bb9e SQLResourceGroup
Para comprobar el estado de esta operación, use el comando az backup job show .
Pasos siguientes
- Obtenga información sobre cómo realizar una copia de seguridad de una base de datos SQL que se ejecuta en una máquina virtual de Azure mediante Azure Portal.
- Obtenga información sobre cómo administrar una base de datos SQL de copia de seguridad que se ejecuta en una máquina virtual de Azure mediante Azure Portal.
Contenido relacionado
- Realice una copia de seguridad de bases de datos de SQL Server en máquinas virtuales de Azure mediante Azure Backup mediante la API REST.
- Restaure las bases de datos de SQL Server en máquinas virtuales de Azure con la API REST.
- Administración de bases de datos de SQL Server en máquinas virtuales de Azure con la API REST.