Todos os produtos
Search
Central de documentação

Data Management:SQL Correct

Última atualização: Jul 29, 2026

O recurso SQL Correct é o ponto de entrada para executar alterações de SQL e exige alto nível de segurança. Ao enviar um ticket para aprovação, um conjunto de regras de segurança verifica a solicitação. Apenas instruções SQL aprovadas nessa verificação podem ser executadas.

Pré-requisitos

Você deve ter a função de Administrator, DBA ou Security Administrator.

Informações básicas

As regras de segurança no Data Management (DMS) oferecem recursos flexíveis de linguagem específica de domínio (DSL). Isso permite personalizar níveis de risco conforme necessário e aplicar fluxos de trabalho de aprovação distintos para alterações com diferentes riscos. Por exemplo, você pode restringir rigorosamente a execução de SQL ou permitir todas as instruções SQL de forma mais permissiva.

Pontos de verificação do módulo SQL Correct

Ponto de verificação

Descrição

Exemplo

Basic Configuration Item

Esta seção contém cinco regras padrão:

  • Default approval template for data changes: O ID do modelo de aprovação padrão para tickets de alteração de dados é 853, e o aprovador é o DBA.

    Nota

    Para alterar o modelo de aprovação padrão, consulte Alterar o modelo de aprovação padrão.

  • Risk level list for data changes: Os níveis de risco avaliam os riscos das alterações nos tickets. Você pode definir diferentes níveis de risco e fluxos de trabalho de aprovação para diversos cenários. Este item é usado principalmente nos pontos de verificação Risk Identification Rules e Risk Approval Rules.

    Quatro níveis de risco padrão estão disponíveis:

    • LOW: Baixo risco

    • MIDDLE: Risco médio

    • HIGH: Alto risco

    • HIGHEST: Risco crítico

  • Support for simple mode in data import: Define se há suporte ao modo simples ao criar tickets de importação de dados para bancos de dados que utilizam esta regra de segurança. Para mais informações, consulte Data Import.

  • Allow Skipping The Affected Rows Check For Standard Data Changes: Se esta regra estiver ativada, o DMS impede que você ignore a verificação de linhas afetadas durante a etapa de pré-verificação em tickets padrão de alteração de dados. Caso contrário, você pode ignorar essa verificação.

  • Prohibit submitting normal data change tickets with inconsistent row count checks: Quando esta regra está ativada, não é possível enviar tickets normais de alteração de dados com verificação inconsistente de contagem de linhas. Se desativada, o envio é permitido.

-

SQL execution rules

Restringe as instruções SQL executáveis na janela SQL. Somente instruções permitidas podem ser executadas.

Nota

Se duas regras conflitantes estiverem ativadas, a regra mais restritiva prevalece.

Por exemplo, se as duas regras abaixo estiverem ativadas simultaneamente, o sistema aplica a segunda regra.

  • Permitir execução direta de todas as instruções DML no console SQL.

  • Proibir execução direta de todas as instruções DML no console SQL. A execução deve ocorrer via tickets.

Para permitir que apenas instruções DML modifiquem o banco de dados de product online, adicione a seguinte regra de execução de SQL:

Premissas

if
  @fac.env_type not in ['product']
  and
  @fac.sql_type in [ 'UPDATE','DELETE','INSERT']
then
  @act.allow_submit
end

Significado: Se o ambiente do banco de dados não for de produção e a instrução SQL for do tipo UPDATE, DELETE ou INSERT, a execução da instrução SQL será permitida.

Risk Identification Rules

Identifica o nível de risco dos tickets enviados. Você pode personalizar níveis de risco com base em condições como ambiente do banco de dados, número de linhas afetadas e tipo de SQL.

Nota

Regras de segurança diferentes classificam uma tarefa de alteração com níveis de risco distintos. O nível de risco final corresponde ao maior nível identificado entre todas as marcações.

Por exemplo, uma tarefa de alteração SQL com 5 riscos baixos, 3 riscos médios e 1 risco alto será classificada como alto risco.

Para definir ambientes offline como baixo risco, adicione a seguinte regra de identificação de risco:

if
  @fac.env_type not in ['product','pre']
then
  @act.mark_risk 'low' 'Low risk: offline environment'
end

Significado: Se o ambiente do banco de dados não for de produção, o nível de risco é baixo.

Risk Approval Rules

Configure ou personalize regras de aprovação para diferentes níveis de risco.

Se uma alteração de banco de dados não corresponder a nenhum nível de risco no ponto de verificação Risk Identification Rules, ela utilizará o fluxo de trabalho de aprovação especificado pelo Default approval template for data changes na seção Basic Configuration Item.

Por padrão, um ambiente de staging é considerado de baixo risco e não requer aprovação.

Batch data import rules

Regras de validação aplicáveis a tickets de Data Import.

Permite importação em lote de instruções de inserção.

Alterar o modelo de aprovação padrão

  1. Faça login no DMS 5.0.

  2. Passe o ponteiro sobre o ícone 2023-01-28_15-57-17.png no canto superior esquerdo e escolha All Features > Security and disaster recovery (DBS) > Security Rules.

    Nota

    Se você utiliza o console do DMS no modo normal, escolha Security and disaster recovery (DBS) > Security Rules na barra de navegação superior.

  3. Na aba Security Rules, localize o conjunto de regras desejado e clique em Edit na coluna Actions.

  4. No painel de navegação à esquerda da página Details, clique em SQL Correct.

  5. Na seção Checkpoints, clique em Basic Configuration Item.

  6. Na linha Data change default approval Template, clique em Edit na coluna Actions.

  7. Na caixa de diálogo Change Configuration Item, clique em Switch Approval Template.

  8. Na caixa de diálogo Switch Approval Template, localize o modelo desejado e clique em Select na coluna Actions.

    Nota

    Caso os tickets não exijam aprovação, clique em Reset to Approval-Free para ignorar a etapa de aprovação.

  9. Clique em Submit.

Fatores e ações do módulo SQL Correct

Fatores

Fatores são variáveis internas do sistema. Utilize-os para obter informações de contexto durante a verificação de regras de segurança, como o tipo de SQL e o número de linhas afetadas.

  • Todos os fatores começam com @fac. seguido pelo nome do fator.

  • Cada ponto de verificação em cada módulo disponibiliza fatores específicos.

Tabela 1. Lista de fatores

Fator

Descrição

@fac.env_type

Tipo de ambiente. O valor corresponde ao identificador do ambiente, como DEV ou PRODUCT. Para mais informações, consulte Instance environments.

@fac.sql_type

Tipo do script SQL, como UPDATE ou INSERT. Para mais informações, consulte a descrição das subclasses de SQL em SQLConsole.

@fac.detail_type

Tipo de alteração de dados:

  • COMMON: Alteração normal de dados

  • CHUNK_DML: Alteração de dados sem bloqueio

  • PROCEDURE: Procedimento armazenado

  • CRON_CLEAR_DATA: Limpeza agendada de tabela

  • BIG_FILE: Importação de dados em lote

@fac.is_logic

Indica se o banco de dados é lógico.

@fac.extra_info

Outras informações de alteração. Este fator não está em uso.

@fac.is_ignore_affect_rows

Indica se a verificação deve ser ignorada.

@fac.insert_rows

Número de linhas afetadas por uma operação de inserção.

@fac.update_delete_rows

Número de linhas afetadas.

@fac.max_alter_table_size

Tamanho máximo do tablespace da tabela modificada.

@fac.is_has_security_column

Indica se o script SQL contém colunas sensíveis.

@fac.security_column_list

Lista de colunas sensíveis presentes no script SQL.

@fac.risk_level

Nível de risco detectado. Os valores válidos são strings em inglês minúsculas, listadas do menor para o maior:

  • low: baixo risco

  • middle: risco médio

  • high: alto risco

  • highest: risco crítico

@fac.risk_reason

Motivo da detecção deste nível de risco.

@fac.table_name_list

Lista de nomes de tabelas envolvidas na alteração SQL. Exemplo:

if    
   'tb_order' in @fac.table_name_list or 'tb1_order' in @fac.table_name_list
then    
    @act.mark_risk 'high' 'High risk: Involves changes to the order table'
end

Significado: Se a alteração SQL envolver a tabela tb_order ou tb1_order, o nível de risco será alto.

Ações

Uma ação é um comportamento executado pelo sistema quando a condição if é atendida. Exemplos incluem proibir o envio de tickets, selecionar um fluxo de trabalho, permitir execução e rejeitar execução.

  • Todas as ações começam com @act. seguido pelo nome da ação.

  • Cada ponto de verificação em cada módulo disponibiliza ações específicas.

Tabela 2. Lista de ações

Ação

Descrição

@act.allow_submit

Permite o envio do ticket para execução.

@act.allow_execute_direct

Permite execução direta no console SQL.

@act.forbid_execute

Proíbe a execução.

@act.mark_risk

Marca um risco. O primeiro parâmetro especifica o nível de risco e suporta apenas os quatro valores em inglês minúsculo a seguir (do menor para o maior): low (baixo risco), middle (risco médio), high (alto risco), highest (risco crítico). O segundo parâmetro é uma descrição do motivo do risco. Uso: @act.mark_risk 'middle' 'Medium risk: production environment'.

@act.do_not_approve

Especifica o ID de um modelo de aprovação. Para mais informações, consulte Set approval workflows.

@act.choose_approve_template

@act.choose_approve_template_with_reason