Udostępnij za pośrednictwem


.disable | .enable materialized-view

Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer

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 zmaterializowanego administratora widoku.

Składnia

.enable | disablematerialized-view MaterializedViewName

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania 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 błędem wskazującym, że tak jest.

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

Schemat danych wyjściowych:

Nazwisko Pisz opis
Nazwa/nazwisko string Nazwa zmaterializowanego widoku.
Tabela źródłowa string Nazwa tabeli źródłowej, w której zdefiniowano widok.
Query string Definicja zapytania zmaterializowanego widoku.
MaterializedTo 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 pomyślnych przebiegów, w przeciwnym razie Failed.
IsHealthy bool true jeśli widok jest uznawany za w dobrej kondycji, false w przeciwnym razie. Widok jest uznawany za w dobrej kondycji, jeśli został pomyślnie zmaterializowany do ostatniej godziny (MaterializedTo jest większy niż ago(1h)).
IsEnabled bool true gdy widok jest włączony (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).
Wyszukiwanie zwrotne 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

Wyjście

Nazwisko Tabela źródłowa Query MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Folder DocString AutoUpdateSchema EffectiveDateTime Wyszukiwanie zwrotne
Nazwa widoku TableName TableName | summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Ukończone prawda prawda 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

Wyjście

Nazwisko Tabela źródłowa Query MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Folder DocString AutoUpdateSchema EffectiveDateTime Wyszukiwanie zwrotne
Nazwa widoku TableName TableName | summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Ukończone prawda 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łączanie 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 niezgodne 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 ma negatywny wpływ na kondycję bazy danych (na przykład zużywanie zbyt dużej ilości 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 opcję ignorowania błędu przez dodanie allowMaterializedViewsWithoutRowLevelSecurity właściwości 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, materializacja zostanie wstrzymana i nie będzie zużywać zasobów z bazy danych. Wykonywanie zapytań dotyczących 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 nadal materializował się od momentu, w którym został pominięty, 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ę bazy danych.