Partilhar via


.disable | .enable materialized-view

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

Desabilita ou habilita o processo de materialização para uma exibição materializada.

Observação

Como há algumas implicações importantes de desempenho associadas à desativação/habilitação de uma exibição materializada, certifique-se de estar familiarizado com elas antes de prosseguir com o uso desse comando. Para obter mais informações, consulte a seção Implicações de desempenho da habilitação/desabilitação de exibições materializadas.

Permissões

Você deve ter pelo menos o Materialized View Admin para executar esses comandos.

Sintaxe

.enable | disablematerialized-view MaterializedViewName

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
MaterializedViewName string ✔️ Nome da exibição materializada.

Devoluções

Se a exibição materializada já estiver no estado em que o comando está tentando defini-la, o comando falhará com um erro indicando que esse é o caso.

Caso contrário, ele retornará os detalhes sobre a exibição materializada cuja propriedade IsEnabled foi alterada.

Esquema de saída:

Nome Tipo Descrição
Nome string Nome da exibição materializada.
Tabela de origem string Nome da tabela de origem na qual a exibição é definida.
Consulta string Definição de consulta da visualização materializada.
MaterializedTo datetime Carimbo de data/hora máximo ingestion_time() materializado na tabela de origem. Para obter mais informações, consulte como funcionam as exibições materializadas.
Última corrida datetime A última materialização foi executada.
LastRunResult string Resultado da última execução. Retorna Completed para execuções bem-sucedidas, caso contrário Failed.
ÉSaudável bool true quando a exibição é considerada íntegra, false caso contrário. A exibição é considerada íntegra se tiver sido materializada com êxito até a última hora (MaterializedTo é maior que ago(1h)).
IsEnabled bool true quando a exibição está habilitada (consulte Desabilitar ou habilitar a exibição materializada).
Pasta string Pasta na qual a exibição materializada é criada.
DocString string Descrição atribuída à visualização materializada.
AutoUpdateSchema bool Se a exibição está habilitada para atualizações automáticas.
DataHora Efetiva datetime Data e hora efetiva da exibição, determinada durante o tempo de criação (consulte .create materialized-view).
Retrospectiva timespan Intervalo de tempo que limita o período de tempo em que as duplicatas são esperadas.

Exemplos

Habilitar uma exibição materializada

O comando a seguir habilita a exibição materializada ViewName:

.enable materialized-view ViewName

Saída

Nome Tabela de origem Consulta MaterializedTo Última corrida LastRunResult ÉSaudável IsEnabled Pasta DocString AutoUpdateSchema DataHora Efetiva Retrospectiva
ViewName TableName Nome_da_tabela | resumir arg_max(Coluna3, *) por Coluna1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Concluído(a) true true false 2023-02-23T14:01:42.5172342Z

Desabilitar uma exibição materializada

O comando a seguir desabilita o ViewName da exibição materializada:

.disable materialized-view ViewName

Saída

Nome Tabela de origem Consulta MaterializedTo Última corrida LastRunResult ÉSaudável IsEnabled Pasta DocString AutoUpdateSchema DataHora Efetiva Retrospectiva
ViewName TableName Nome_da_tabela | resumir arg_max(Coluna3, *) por Coluna1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Concluído(a) true false false 2023-02-23T14:01:42.5172342Z

Comentários

Desabilitando exibições materializadas

Uma exibição materializada pode ser desabilitada de qualquer uma das seguintes maneiras:

  • Desabilitação automática pelo sistema: A visualização materializada é desabilitada automaticamente se a materialização falhar com um erro permanente. Esse processo pode ocorrer nas seguintes instâncias:
    • Alterações de esquema que são inconsistentes com a definição de exibição.
    • Alterações na tabela de origem que resultam na consulta de exibição materializada sendo semanticamente inválida.
  • Desabilitar explicitamente a exibição materializada: se a exibição materializada estiver afetando negativamente a integridade do banco de dados (por exemplo, consumindo muita CPU), desabilite a exibição usando o .disable materialized-view comando.

Exibições materializadas e segurança em nível de linha

Se uma exibição materializada estiver desabilitada e, enquanto a exibição estiver desabilitada, alguém definir uma política de segurança em nível de linha na tabela de origem da exibição, mas a exibição materializada não tiver uma política de segurança em nível de linha definida, a habilitação da exibição falhará por motivos de segurança. Para atenuar esse erro, você pode:

  • Defina a política de segurança em nível de linha sobre a exibição materializada.
  • Escolha ignorar o erro adicionando allowMaterializedViewsWithoutRowLevelSecurity a propriedade ao comando enable policy. Por exemplo:
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

Implicações de desempenho da ativação/desativação de exibições materializadas

  • Quando uma exibição materializada é desabilitada, a materialização será pausada e não consumirá recursos do banco de dados. Consultar a exibição materializada é possível mesmo quando desabilitado, mas o desempenho pode ser ruim. O desempenho em uma exibição materializada desabilitada depende do número de registros que foram ingeridos na tabela de origem desde que ela foi desabilitada.
  • Você pode habilitar uma exibição materializada que foi desativada anteriormente. Quando reativada, a exibição materializada continuará se materializando a partir do ponto em que parou e nenhum registro será ignorado. Se a visualização foi desativada por um longo tempo, pode levar muito tempo para ser recuperada.
  • A desativação de uma exibição só é recomendada se você suspeitar que a exibição está afetando a integridade do banco de dados.