Todos los productos
Search
Centro de documentos

Data Management:Regular data change

Última actualización: Sep 03, 2026

En Data Management (DMS), modificar datos sin mecanismos de protección implica riesgos: una instrucción DELETE en producción puede fallar y una instrucción TRUNCATE errónea no se puede revertir. DMS soluciona esto mediante reglas de seguridad que determinan qué instrucciones SQL se ejecutan directamente en SQLConsole, cuáles requieren la aprobación de un ticket y cuáles se bloquean por completo. Este tema describe cuatro escenarios comunes en el modo Security Collaboration para que pueda configurar la directiva de gobernanza adecuada en cada entorno.

Funcionamiento

Cada cambio de datos en DMS sigue este ciclo de vida:

Etapa

Descripción

Escribir SQL

Introduzca las instrucciones SQL en SQLConsole o adjunte un archivo .sql, .txt o .zip en un ticket.

Comprobación previa

DMS valida automáticamente las instrucciones SQL con base en sus reglas de seguridad antes de la ejecución.

Aprobación

Si las reglas de seguridad exigen un ticket, el cambio se envía a los aprobadores designados (de forma predeterminada, los DBA).

Execute

Ejecute el cambio de inmediato o prográmelo. De manera opcional, agrupe las instrucciones de lenguaje de manipulación de datos (DML) en una sola transacción.

Copia de seguridad y reversión

DMS puede generar instrucciones de copia de seguridad para las operaciones UPDATE y DELETE con el fin de permitir la reversión si es necesario.

El comportamiento en cada etapa se rige por reglas de seguridad, que son directivas configurables asociadas a cada instancia de base de datos.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Una cuenta de administrador de DMS o los permisos necesarios para enviar tickets de cambio de datos.

  • Las instancias de base de datos poc_prod y poc_dev registradas en DMS bajo el modo Security Collaboration.

  • La tabla data_modify creada en ambas bases de datos.

Crear la tabla data_modify

En los cuatro ejemplos de este tema se utilizó la función schema design de DMS para crear la tabla data_modify. También puede ejecutar esta instrucción directamente en SQLConsole, ya que las instrucciones DDL en bases de datos de desarrollo no requieren ticket para su ejecución.

CREATE TABLE `data_modify` (
 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary key',
 `name` varchar(256) NOT NULL COMMENT 'Name',
 `phone` varchar(32) DEFAULT NULL COMMENT 'Phone number',
 `sex` varchar(32) DEFAULT NULL COMMENT 'Gender',
 `email` varchar(256) DEFAULT NULL COMMENT 'Email address',
 `remarks` varchar(1024) DEFAULT NULL COMMENT 'Remarks',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Personal information';

Los conjuntos de reglas de seguridad utilizados en los cuatro escenarios son los siguientes:

Instancia de base de datos

Conjunto de reglas de seguridad

poc_dev

Security Rules for POC Development Databases

poc_prod

Security Rules for POC Production Databases

Enviar un ticket para un cambio de datos regular

Este escenario inserta filas en la tabla data_modify de poc_prod mediante el envío de un ticket de cambio de datos.

  1. Inicie sesión en la consola de DMS V5.0consola de DMS V5.0.

  2. Pase el puntero sobre el icono 2023-01-28_15-57-17.png en la esquina superior izquierda y seleccione All Features > Database Development > Data Change > Normal Data Modify.

    En el modo normal, seleccione Database Development > Data Change > Normal Data Modify en la barra de navegación superior.
  3. Complete los parámetros del ticket. Parámetros clave:

    Parámetro

    Descripción

    SQL text

    La instrucción SQL que se va a ejecutar. Separe varias instrucciones con punto y coma (;).

    Attachment

    Cargue un archivo .txt, .zip o .sql. Tamaño máximo del archivo: 15 MB.

  4. Haga clic en Submit. DMS ejecuta una comprobación previa de forma automática. Si la comprobación falla, actualice el código SQL según las indicaciones y vuelva a enviarlo.

  5. Una vez superada la comprobación previa, haga clic en Submit for Approval y luego en OK en el mensaje de confirmación.

    Los tickets de cambio de datos son aprobados por los DBA de forma predeterminada. Para modificar la plantilla de aprobación predeterminada, consulte la sección Change the default approval template en el tema SQL Correct.
  6. Después de aprobar el ticket, haga clic en Execute Change. En el cuadro de diálogo Task Settings, configure los parámetros de ejecución y haga clic en Confirm Execution.

    Si durante el paso de solicitud estableció Execution Method en After Audit Approved, Auto Execute , este paso se omite automáticamente. Cuando se reanuda una tarea suspendida, la ejecución continúa desde el punto donde se detuvo.

    Parámetro

    Descripción

    Execution strategy

    Running immediately (predeterminado): se ejecuta tan pronto como se confirma el ticket. Schedule: se ejecuta a la hora especificada.

    Enable Submit as Single Transaction

    Predeterminado: desactivado. Activado: si alguna instrucción DML falla, todas las instrucciones DML de la transacción se revierten (las instrucciones DDL no se pueden revertir). Desactivado: cada instrucción se ejecuta de forma independiente; la ejecución se detiene al producirse un error, pero las instrucciones anteriores no se revierten.

    Enable Backup

    Predeterminado: activado. DMS genera instrucciones de copia de seguridad para las instrucciones UPDATE y DELETE. Consulte Compatibilidad con copias de seguridad para obtener detalles específicos de cada base de datos.

  7. Opcional. Una vez finalizada la ejecución, abra SQLConsole para poc_prod y compruebe los resultados.

Compatibilidad con copias de seguridad

La copia de seguridad solo aplica a las instrucciones UPDATE y DELETE. Las instrucciones INSERT y DDL no generan copia de seguridad.

Tipo de base de datos

Instrucción de copia de seguridad generada

Notas

MySQL, MariaDB

REPLACE INTO

Incluye ApsaraDB RDS for MySQL, PolarDB for MySQL, PolarDB-X y MySQL autogestionado

Todas las demás bases de datos compatibles

INSERT

—

MongoDB, Redis

No compatible

—

Permitir la ejecución directa de instrucciones DML en la base de datos de desarrollo

De forma predeterminada, las reglas de seguridad de DMS exigen que todas las instrucciones DML pasen por tickets. En las bases de datos de desarrollo, esto ralentiza la iteración. Configure las reglas de seguridad para permitir que los desarrolladores ejecuten instrucciones DML directamente en SQLConsole, sin necesidad de enviar un ticket cada vez.

Paso 1: Actualizar las reglas de seguridad para poc_dev

  1. Inicie sesión en la consola de DMS V5.0consola de DMS V5.0 como administrador de DMS.

  2. Pase el puntero sobre el icono 2023-01-28_15-57-17.png en la esquina superior izquierda y seleccione All Features > Security and disaster recovery (DBS) > Security Rules.

    En el modo normal, seleccione Security and disaster recovery (DBS) > Security Rules en la barra de navegación superior.
  3. Pase el puntero sobre el icono 2023-01-28_15-57-17.png en la esquina superior izquierda y seleccione All Features > Security and disaster recovery (DBS) > Security Rules.

    Nota

    Si utiliza la consola de DMS en modo normal, seleccione Security and disaster recovery (DBS) > Security Rules en la barra de navegación superior.

  4. Pase el puntero sobre el icono 2023-01-28_15-57-17.png en la esquina superior izquierda y seleccione All Features > Security and disaster recovery (DBS) > Security Rules.

    Nota

    Si utiliza la consola de DMS en modo normal, seleccione Security and disaster recovery (DBS) > Security Rules en la barra de navegación superior.

  5. Pase el puntero sobre el icono 2023-01-28_15-57-17.png en la esquina superior izquierda y seleccione All Features > Security and disaster recovery (DBS) > Security Rules.

    Nota

    Si utiliza la consola de DMS en modo normal, seleccione Security and disaster recovery (DBS) > Security Rules en la barra de navegación superior.

  6. En la página Security Rules, busque las reglas de la base de datos de desarrollo POC y haga clic en Edit en la columna Actions.

  7. En el panel de navegación izquierdo, haga clic en SQL Correct. Establezca Checkpoints en SQL execution rules.

  8. Habilite All DML can execute directly in SQLConsole y deshabilite All DML must execute by ticket.

Paso 2: Comprobar el cambio de regla

  1. En la esquina superior izquierda de la consola de DMS, busque la instancia poc_dev.

  2. En la pestaña SQLConsole, ejecute las siguientes instrucciones INSERT:

    INSERT INTO data_modify (name, phone, sex) VALUES ('dms_a', '19000001','Male');
    INSERT INTO data_modify (name, phone, sex) VALUES ('dms_b', '19000002','Female');
    INSERT INTO data_modify (name, phone, sex) VALUES ('dms_c', '19000003','Male');
  3. En el cuadro de diálogo Execution Confirmation, haga clic en Execute. Si en el resultado aparece Executed, el cambio de regla funciona correctamente.

Exigir aprobación de ticket para SQL de alto riesgo en la base de datos de producción

Algunas instrucciones SQL, como DELETE, conllevan un riesgo significativo en producción. Configure las reglas de seguridad para marcar DELETE como alto riesgo y dirigirla a un proceso de aprobación dedicado.

Paso 1: Crear un proceso de aprobación

  1. Inicie sesión en la consola de DMSconsola de DMS como administrador de DMS.

  2. Pase el puntero sobre el icono 2023-01-28_15-57-17.png en la esquina superior izquierda y seleccione All Features > Security and disaster recovery (DBS) > Approval Processes.

    En el modo normal, seleccione Security and disaster recovery (DBS) > Approval Processes en la barra de navegación superior.
  3. Haga clic en Create Approval Template y configure los nodos de aprobación. Agregue los nodos en orden ascendente: el nodo 1 corresponde al primer aprobador, el nodo 2 al segundo, y así sucesivamente.

  4. Haga clic en Submit.

Paso 2: Configurar una regla de identificación de riesgos

  1. Pase el puntero sobre el icono 2023-01-28_15-57-17.png en la esquina superior izquierda y seleccione All Features > Security and disaster recovery (DBS) > Security Rules.

    En el modo normal, seleccione Security and disaster recovery (DBS) > Security Rules en la barra de navegación superior.
  2. En la página Security Rules, busque las reglas de la base de datos de producción POC y haga clic en Edit en la columna Actions.

  3. Haga clic en SQL Correct en el panel de navegación izquierdo. Establezca Checkpoints en Risk Identification Rules y haga clic en Create Rule.

  4. En el cuadro de diálogo Create Rule - SQL Correct, configure los siguientes parámetros:

    Parámetro

    Valor

    Rule name

    Production environments. The execution of DELETE statements is a high-risk operation

    Rule DSL

    Consulte el código DSL a continuación

    if
        @fac.env_type in ['product','pre']
        and
        @fac.sql_type in
        [ 'DELETE']
    then
        @act.mark_risk 'high' 'High-risk SQL statements: DELETE in the production environments'
    end
  5. Haga clic en Submit.

  6. Busque la regla Production environments. The execution of DELETE statements is a high-risk operation y haga clic en Enable en la columna Actions. Haga clic en OK en el mensaje de confirmación. La regla entra en vigor de inmediato: todas las instrucciones DELETE se identifican como operaciones de alto riesgo.

Paso 3: Vincular el proceso de aprobación a la regla de aprobación de riesgos

  1. Establezca Checkpoints en Risk Approval Rules. Busque la regla High risk approval process y haga clic en Edit en la columna Actions.

  2. En el cuadro de diálogo Change Rule - SQL Correct, reemplace el ID de plantilla en el campo Rule DSL con el ID de la plantilla de aprobación que creó en el Paso 1. Haga clic en Submit.

  3. Busque la regla High risk approval process y haga clic en Enable. Haga clic en OK para confirmar.

Paso 4: Comprobar la regla

  1. En la consola de DMS, busque la instancia poc_prod.

  2. En la pestaña SQLConsole, ejecute la siguiente instrucción:

    DELETE FROM data_modify WHERE id = 1;
  3. Si el área Execution History muestra un mensaje de error debido a las reglas de seguridad, la regla funciona correctamente. Haga clic en Apply for Data Change para enviar un ticket y seguir el proceso de aprobación.

    Ejecutar DELETE en una base de datos de producción es una operación de alto riesgo. El ticket debe ser aprobado por el aprobador especificado en la plantilla de aprobación antes de poder ejecutarse.

Bloquear instrucciones TRUNCATE en la base de datos de producción

TRUNCATE elimina todas las filas de una tabla y no se puede revertir. Para evitar la pérdida accidental de datos en producción, configure una regla de seguridad que bloquee las instrucciones TRUNCATE, tanto en SQLConsole como a través de tickets.

Paso 1: Modificar la regla de seguridad para bloquear TRUNCATE

  1. Inicie sesión en la consola de DMSconsola de DMS como administrador de DMS.

  2. Pase el puntero sobre el icono 2023-01-28_15-57-17.png en la esquina superior izquierda y seleccione All Features > Security and disaster recovery (DBS) > Security Rules.

    En el modo normal, seleccione Security and disaster recovery (DBS) > Security Rules en la barra de navegación superior.
  3. En la página Security Rules, busque las reglas de la base de datos de producción POC y haga clic en Edit en la columna Actions.

  4. En el panel de navegación izquierdo, haga clic en SQL Correct. Establezca Checkpoints en SQL execution rules.

  5. Busque la regla Allow TRUNCATE to be executed directly in the SQL console y haga clic en Edit en la columna Actions.

  6. Cambie el nombre de la regla a Forbid TRUNCATE statements. Reemplace el lenguaje específico de dominio (DSL) existente con el siguiente y haga clic en Submit:

    Este DSL bloquea TRUNCATE tanto en SQLConsole como a través de tickets. Para obtener más información sobre la sintaxis DSL, consulte DSL syntax for security rules .
    if
        @fac.sql_type in
          ['TRUNCATE']
    then
        @act.forbid_execute
    end
  7. Busque la regla TRUNCATE cannot be executed directly in the SQL console. It must be executed as a ticket. y haga clic en Enable en la columna Actions. Haga clic en OK para confirmar.

Paso 2: Comprobar la regla en SQLConsole

  1. En la consola de DMS, busque la instancia poc_prod.

  2. En la pestaña SQLConsole, ejecute la siguiente instrucción:

    TRUNCATE TABLE `data_modify`;
  3. Se muestra Execution Failed. La regla de seguridad está bloqueando la instrucción TRUNCATE.

Paso 3: Comprobar la regla para el envío de tickets

Envíe un ticket de cambio de datos con la siguiente instrucción SQL (consulte Submit a ticket for a regular data change):

TRUNCATE TABLE `data_modify`;

Después de enviar el ticket, revise los resultados de la comprobación previa. Si la comprobación falla, la regla también está bloqueando TRUNCATE a través del flujo de trabajo de tickets.

Pasos siguientes