.disable | .enable materialized-view
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer
Deaktiviert oder aktiviert den Materialisierungsprozess für eine materialisierte Ansicht.
Hinweis
Da es einige wichtige Leistungsauswirkungen im Zusammenhang mit dem Deaktivieren/Aktivieren einer materialisierten Ansicht gibt, stellen Sie sicher, dass Sie mit diesen vertraut sind, bevor Sie mit der Verwendung dieses Befehls fortfahren. Weitere Informationen finden Sie unter den Leistungsauswirkungen des Abschnitts "Materialisierte Ansichten aktivieren/deaktivieren".
Berechtigungen
Sie müssen mindestens über materialisierte Ansichtsadministrator verfügen, um diese Befehle auszuführen.
Syntax
.enable
| disable
materialized-view
MaterializedViewName
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
MaterializedViewName | string |
✔️ | Name der materialisierten Ansicht. |
Gibt zurück
Wenn sich die materialisierte Ansicht bereits im Zustand befindet, in dem der Befehl versucht, sie festzulegen, schlägt der Befehl mit einem Fehler fehl, der angibt, dass dies der Fall ist.
Andernfalls werden die Details zur materialisierten Ansicht zurückgegeben, deren IsEnabled-Eigenschaft geändert wurde.
Ausgabeschema:
Name | Typ | BESCHREIBUNG |
---|---|---|
Name | string |
Name der materialisierten Ansicht. |
SourceTable | string |
Name der Quelltabelle, für die die Ansicht definiert ist. |
Abfrage | string |
Abfragedefinition der materialisierten Ansicht. |
MaterializedTo | datetime |
Maximale materialisierte ingestion_time() Zeitstempel in der Quelltabelle. Weitere Informationen finden Sie unter materialisierte Ansichten. |
LastRun | datetime |
Zeitpunkt der letzten Ausführung der Materialisierung. |
LastRunResult | string |
Ergebnis der letzten Ausführung. Gibt für erfolgreiche Ausführungen Completed zurück, andernfalls Failed . |
IsHealthy | bool |
true wenn die Ansicht als fehlerfrei betrachtet wird, false andernfalls. Die Ansicht gilt als fehlerfrei, wenn sie bis zur letzten Stunde erfolgreich materialisiert wurde (MaterializedTo ist größer als ago(1h) ). |
IsEnabled | bool |
true wenn die Ansicht aktiviert ist (siehe Deaktivieren oder Aktivieren der materialisierten Ansicht). |
Ordner | string |
Ordner, unter dem die materialisierte Ansicht erstellt wird. |
DocString | string |
Beschreibung, die der materialisierten Ansicht zugewiesen ist. |
AutoUpdateSchema | bool |
Gibt an, ob die Ansicht für automatische Updates aktiviert ist. |
EffectiveDateTime | datetime |
Effektive Datumszeit der Ansicht, bestimmt während der Erstellungszeit (siehe .create materialized-view ). |
Rückblick | timespan |
Die Zeitspanne begrenzt den Zeitraum, in dem Duplikate erwartet werden. |
Beispiele
Aktivieren einer materialisierten Ansicht
Mit dem folgenden Befehl wird ansichtsname für materialisierte Ansicht aktiviert:
.enable materialized-view ViewName
Output
Name | SourceTable | Abfrage | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Ordner | DocString | AutoUpdateSchema | EffectiveDateTime | Rückblick |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Ansichtsname | TableName | TableName | zusammenfassen arg_max(Spalte3, *) nach Spalte1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Abgeschlossen | true | true | false | 2023-02-23T14:01:42.5172342Z |
Deaktivieren einer materialisierten Ansicht
Mit dem folgenden Befehl wird die materialisierte Ansicht "ViewName" deaktiviert:
.disable materialized-view ViewName
Output
Name | SourceTable | Abfrage | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Ordner | DocString | AutoUpdateSchema | EffectiveDateTime | Rückblick |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Ansichtsname | TableName | TableName | zusammenfassen arg_max(Spalte3, *) nach Spalte1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Abgeschlossen | true | false | false | 2023-02-23T14:01:42.5172342Z |
Hinweise
Deaktivieren von materialisierten Ansichten
Eine materialisierte Ansicht kann auf eine der folgenden Arten deaktiviert werden:
- Automatische Deaktivierung durch das System: Materialisierte Ansicht wird automatisch deaktiviert, wenn die Materialisierung mit einem dauerhaften Fehler fehlschlägt. Dieser Vorgang kann in den folgenden Instanzen auftreten:
- Schemaänderungen, die mit der Ansichtsdefinition inkonsistent sind.
- Änderungen an der Quelltabelle, die dazu führen, dass die materialisierte Ansichtsabfrage semantisch ungültig ist.
- Deaktivieren Sie die materialisierte Ansicht explizit: Wenn sich die materialisierte Ansicht negativ auf die Integrität der Datenbank auswirkt (z. B. zu viel CPU verbrauchen), deaktivieren Sie die Ansicht mit dem
.disable materialized-view
Befehl.
Materialisierte Ansichten und Sicherheit auf Zeilenebene
Wenn eine materialisierte Ansicht deaktiviert ist und während die Ansicht deaktiviert ist, definiert jemand eine Sicherheitsrichtlinie auf Zeilenebene in der Quelltabelle der Ansicht, aber die materialisierte Ansicht hat keine Sicherheitsrichtlinie auf Zeilenebene definiert, und das Aktivieren der Ansicht schlägt aus Sicherheitsgründen fehl. Um diesen Fehler zu beheben, können Sie Folgendes tun:
- Definieren Sie die Sicherheitsrichtlinie auf Zeilenebene über die materialisierte Ansicht.
- Wählen Sie aus, den Fehler zu ignorieren, indem Sie dem Befehl "Richtlinie aktivieren" eine Eigenschaft hinzufügen
allowMaterializedViewsWithoutRowLevelSecurity
. Zum Beispiel:
.enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)
Leistungsauswirkungen der Aktivierung/Deaktivierung materialisierter Ansichten
- Wenn eine materialisierte Ansicht deaktiviert ist, wird die Materialisierung angehalten und verbraucht keine Ressourcen aus der Datenbank. Das Abfragen der materialisierten Ansicht ist auch dann möglich, wenn sie deaktiviert ist, aber die Leistung kann schlecht sein. Die Leistung einer deaktivierten materialisierten Ansicht hängt von der Anzahl der Datensätze ab, die in die Quelltabelle aufgenommen wurden, da sie deaktiviert wurde.
- Sie können eine materialisierte Ansicht aktivieren, die zuvor deaktiviert wurde. Wenn sie wieder aktiviert ist, wird die materialisierte Ansicht von dem Punkt, an dem sie unterbrochen wurde, weiterhin materialisiert, und es werden keine Datensätze übersprungen. Wenn die Ansicht lange deaktiviert wurde, kann es sehr lange dauern, bis sie nachholen kann.
- Das Deaktivieren einer Ansicht wird nur empfohlen, wenn Sie vermuten, dass sich die Ansicht auf die Integrität Ihrer Datenbank auswirkt.