La revisión de SQL funciona como un filtro automatizado en su flujo de trabajo de cambios de base de datos. Antes de que las sentencias SQL lleguen a su entorno de producción, DMS valida cada una con las reglas de seguridad configuradas y devuelve sugerencias de optimización priorizadas. Esto mantiene la calidad del código consistente y reduce el riesgo de ataques de inyección SQL.
Durante la fase de desarrollo de un proyecto, se utilizan sentencias SQL para insertar, eliminar, modificar y consultar datos con el fin de implementar la lógica de negocio. Revisar estas sentencias manualmente, una por una, requiere un esfuerzo significativo por parte de los administradores de bases de datos (DBA) y ralentiza la velocidad de desarrollo. Por ejemplo, a la siguiente sentencia CREATE TABLE le faltan una clave principal, comentarios de tabla y comentarios de campo, lo cual incumple los estándares comunes de desarrollo de bases de datos:
CREATE TABLE `test_sql_review_table` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`gmt_create` datetime NOT NULL,
`name` varchar(256) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
DMS automatiza este proceso mediante la función de revisión de SQL, que se integra con el módulo de reglas de seguridad. Puede personalizar las especificaciones de SQL en las reglas de seguridad; por ejemplo, puede exigir que las tablas tengan claves principales o restringir el tipo de datos y la cantidad de columnas de clave principal.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
-
Un tipo de base de datos compatible:
ApsaraDB RDS for MySQL, PolarDB for MySQL, AnalyticDB for MySQL y bases de datos MySQL que no se encuentran en Alibaba Cloud
ApsaraDB for MariaDB
PolarDB for Xscale
Oracle
PolarDB for PostgreSQL (Compatible with Oracle)
OceanBase
Una instancia de base de datos gestionada en modo Stable Change o Security Collaboration en DMS. Para más detalles, consulte Control modes.
Funcionamiento
Cuando envía un ticket de auditoría de SQL, DMS analiza sintácticamente cada sentencia SQL y la comprueba con las reglas de seguridad configuradas para esa base de datos. Los resultados se clasifican en cuatro categorías:
Must Improve: problemas que deben corregirse antes de aprobar el ticket.
Potential Issue: problemas que podrían causar inconvenientes y deben revisarse.
Suggest Improve: optimizaciones opcionales que mejoran la calidad del código.
Index Recommendation: cambios de índices que pueden mejorar el rendimiento de las consultas.
Para obtener detalles sobre cómo configurar las reglas de seguridad, consulte SQL review optimization.
Envío de un ticket de revisión de SQL
Inicie sesión en la consola de DMS V5.0.
-
Vaya a la página de tickets de auditoría de SQL:
En modo mejorado: Pase el puntero sobre el icono
en la esquina superior izquierda y luego seleccione All Features > Database Development > SQL Review > SQL Audit Ticket.En modo normal: En la barra de navegación superior, seleccione Database Development > SQL Review > SQL Audit Ticket.
En la esquina superior derecha de la página SQL ReviewTickets, haga clic en SQL Review.
-
En la página Ticket Application, configure los siguientes parámetros.
Parámetro
Descripción
Project name
Nombre para este proyecto de revisión.
Database
Base de datos contra la cual se revisará el SQL. Introduzca el nombre de la base de datos o use el prefijo de signo de porcentaje (%) para buscar. Debe tener permisos de consulta en la base de datos. Para más detalles, consulte View owned permissions.
Business background
Propósito u objetivo de la revisión de SQL. Completar este campo reduce la comunicación de ida y vuelta con los revisores.
Change stakeholder
Partes interesadas involucradas en la revisión. Todos los interesados especificados pueden ver los detalles del ticket y participar en el proceso de aprobación. Otros usuarios (excepto los administradores de DMS y los administradores de bases de datos [DBA]) no pueden ver los detalles del ticket.
File
Método para cargar archivos SQL. Seleccione Upload para adjuntar uno o más archivos SQL, o seleccione Enter text para pegar sentencias SQL directamente. Formatos compatibles: XML (framework iBATIS o MyBatis) y TXT. Consulte Sample SQL files para ver ejemplos.
Haga clic en Save. DMS analiza sintácticamente los archivos SQL cargados y revisa cada sentencia con las reglas de seguridad de la base de datos.
Resultados de la revisión y pasos siguientes
Una vez que DMS completa la revisión, cada ticket muestra uno de los siguientes estados.
|
Estado |
Significado |
Acción recomendada |
|
Passed |
No se encontraron problemas obligatorios. Puede incluir problemas potenciales o sugerencias. |
Haga clic en Details para ver las sugerencias. Si es necesario, haga clic en Adjust SQL para editar las sentencias. |
|
Failed |
Se encontró uno o más problemas obligatorios. |
Haga clic en Details para ver los problemas. Haga clic en Adjust SQL para corregir las sentencias y vuelva a enviarlas. |
|
Approve o Disapprove |
El SQL contiene problemas históricos que no pueden o no necesitan resolverse, además de los resultados de la revisión automatizada. |
En la columna Operation, seleccione Manual Review > Approve o Manual Review > Disapprove. |
|
Parsing Exception |
DMS no puede analizar sintácticamente una o más sentencias. |
Haga clic en Adjust SQL para corregir las sentencias y vuelva a enviarlas para la comprobación previa. |
|
Pending Analysis |
Las sentencias están en cola para su revisión. |
No se requiere ninguna acción. Espere a que finalice la revisión. |
Después de revisar y corregir cualquier problema:
En el paso Approval, haga clic en Submit for Approval.
Un administrador de DMS o un DBA realiza una comprobación final.
Una vez aprobado, el ticket se cierra.
Si las sentencias SQL modificadas aún no superan la comprobación o no se pueden analizar sintácticamente, aparecerá un mensaje de error después de hacer clic en Submit for Approval .
Archivos SQL de ejemplo
Descargue archivos de ejemplo para ver los formatos compatibles:
Pasos siguientes
Configure las reglas que aplica la revisión de SQL: SQL review optimization
Compruebe qué permisos necesita para acceder a una base de datos: View owned permissions
Comprenda los modos de control que habilitan la revisión de SQL: Control modes