.disable | .enable materialized-view

Wyłącza lub włącza proces materializacji dla zmaterializowanego widoku.

Uwaga

Ponieważ istnieją pewne ważne implikacje dotyczące wydajności związane z wyłączaniem/włączaniem zmaterializowanego widoku, przed kontynuowaniem korzystania z tego polecenia upewnij się, że zapoznasz się z nimi. Aby uzyskać więcej informacji, zobacz sekcję Wpływ na wydajność włączania/wyłączania zmaterializowanych widoków .

Uprawnienia

Aby uruchomić te polecenia, musisz mieć co najmniej zmaterializowany widok Administracja.

Składnia

.enable | disablematerialized-viewMaterializedViewName

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
MaterializedViewName string ✔️ Nazwa zmaterializowanego widoku.

Zwraca

Jeśli zmaterializowany widok jest już w stanie, w którym polecenie próbuje go ustawić, polecenie kończy się niepowodzeniem z powodu błędu wskazującego, że tak jest.

W przeciwnym razie zwraca szczegóły dotyczące zmaterializowanego widoku, którego właściwość IsEnabled została zmieniona.

Schemat wyjściowy:

Nazwa Typ Opis
Nazwa string Nazwa zmaterializowanego widoku.
Sourcetable string Nazwa tabeli źródłowej, w której jest zdefiniowany widok.
Zapytanie string Definicja zapytania zmaterializowanego widoku.
Zmaterializowane do datetime Maksymalna zmaterializowana sygnatura czasowa ingestion_time() w tabeli źródłowej. Aby uzyskać więcej informacji, zobacz, jak działają zmaterializowane widoki.
LastRun datetime Czas ostatniego uruchomienia materializacji.
LastRunResult string Wynik ostatniego uruchomienia. Zwraca wartość Completed dla przebiegów zakończonych powodzeniem, w przeciwnym razie Failed.
IsHealthy bool true gdy widok jest uznawany za w dobrej kondycji, false w przeciwnym razie. Widok jest uważany za w dobrej kondycji, jeśli został pomyślnie zmaterializowany do ostatniej godziny (MaterializedTo jest większy niż ago(1h)).
IsEnabled bool true po włączeniu widoku (zobacz Wyłączanie lub włączanie zmaterializowanego widoku).
Folder string Folder, w którym jest tworzony zmaterializowany widok.
DocString string Opis przypisany do zmaterializowanego widoku.
AutoUpdateSchema bool Określa, czy widok jest włączony dla aktualizacji automatycznych.
EffectiveDateTime datetime Data wejścia w życie widoku określona w czasie tworzenia (zobacz .create materialized-view).
Lookback timespan Przedział czasu ograniczający okres, w którym oczekiwane są duplikaty.

Przykłady

Włączanie zmaterializowanego widoku

Następujące polecenie umożliwia zmaterializowany widok ViewName:

.enable materialized-view ViewName

Dane wyjściowe

Nazwa Sourcetable Zapytanie Zmaterializowane do LastRun LastRunResult IsHealthy IsEnabled Folder DocString AutoUpdateSchema EffectiveDateTime Lookback
Viewname TableName TableName | summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Ukończone true true fałsz 2023-02-23T14:01:42.5172342Z

Wyłączanie zmaterializowanego widoku

Następujące polecenie wyłącza zmaterializowany widok ViewName:

.disable materialized-view ViewName

Dane wyjściowe

Nazwa Sourcetable Zapytanie Zmaterializowane do LastRun LastRunResult IsHealthy IsEnabled Folder DocString AutoUpdateSchema EffectiveDateTime Lookback
Viewname TableName TableName | summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Ukończone true fałsz fałsz 2023-02-23T14:01:42.5172342Z

Uwagi

Wyłączanie zmaterializowanych widoków

Zmaterializowany widok można wyłączyć w dowolny z następujących sposobów:

  • Automatyczne wyłączenie przez system: Zmaterializowany widok jest automatycznie wyłączony, jeśli materializacja zakończy się niepowodzeniem z powodu trwałego błędu. Ten proces może wystąpić w następujących wystąpieniach:
    • Zmiany schematu, które są niespójne z definicją widoku.
    • Zmiany w tabeli źródłowej, które powodują, że zmaterializowane zapytanie widoku jest semantycznie nieprawidłowe.
  • Jawnie wyłącz zmaterializowany widok: Jeśli zmaterializowany widok negatywnie wpływa na kondycję klastra (na przykład zużywa zbyt dużo procesora CPU), wyłącz widok przy użyciu .disable materialized-view polecenia .

Zmaterializowane widoki i zabezpieczenia na poziomie wiersza

Jeśli zmaterializowany widok jest wyłączony, a widok jest wyłączony, ktoś definiuje zasady zabezpieczeń na poziomie wiersza w tabeli źródłowej widoku, ale zmaterializowany widok nie ma zdefiniowanych zasad zabezpieczeń na poziomie wiersza, włączenie widoku kończy się niepowodzeniem ze względów bezpieczeństwa. Aby wyeliminować ten błąd, możesz wykonać następujące czynności:

  • Zdefiniuj zasady zabezpieczeń na poziomie wiersza w zmaterializowanym widoku.
  • Wybierz, aby zignorować błąd, dodając allowMaterializedViewsWithoutRowLevelSecurity właściwość do polecenia włącz zasady. Na przykład:
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

Wpływ na wydajność włączania/wyłączania zmaterializowanych widoków

  • Gdy zmaterializowany widok zostanie wyłączony, materializowanie zostanie wstrzymane i nie będzie zużywać zasobów z klastra. Wykonywanie zapytań względem zmaterializowanego widoku jest możliwe nawet wtedy, gdy jest wyłączone, ale wydajność może być niska. Wydajność wyłączonego zmaterializowanego widoku zależy od liczby rekordów pozyskanych do tabeli źródłowej, ponieważ została wyłączona.
  • Możesz włączyć zmaterializowany widok, który został wcześniej wyłączony. Po ponownym włączeniu zmaterializowany widok będzie kontynuował materializację od momentu, w którym został przerwany, a żadne rekordy nie zostaną pominięte. Jeśli widok został wyłączony przez długi czas, nadrobienie zaległości może zająć dużo czasu.
  • Wyłączenie widoku jest zalecane tylko wtedy, gdy podejrzewasz, że widok ma wpływ na kondycję klastra.