Problembehandlung für Warehouses

Gilt für:✅ Warehouse in Microsoft Fabric

Dieser Artikel enthält Anleitungen zur Problembehandlung häufiger Probleme in Warehouse in Microsoft Fabric.

Vorübergehende Verbindungsfehler

Bei einem vorübergehenden Fehler, auch bekannt als Übergangsfehler, liegt ein Problem zugrunde, das sich nach kurzer Zeit von selbst löst. Wenn eine Verbindung mit einem Warehouse früher gut funktioniert hat, aber nun Fehler auftreten, obwohl keine Änderungen an Benutzerberechtigungen, Firewallrichtlinien und Netzwerkkonfiguration vorgenommen wurden, führen Sie die folgenden Schritte aus, bevor Sie sich an den Support wenden:

  1. Überprüfen Sie die Status des Warehouse, und stellen Sie sicher, dass es nicht angehalten ist.
  2. Wiederholen Sie den fehlgeschlagenen Befehl nicht sofort. Warten Sie stattdessen fünf bis zehn Minuten, stellen Sie eine neue Verbindung her, und wiederholen Sie dann den Befehl. Gelegentlich verschiebt das Azure-System schnell Hardwareressourcen, um den Lastenausgleich zwischen verschiedenen Workloads zu verbessern. Die meisten dieser Neukonfigurationsereignisse dauern weniger als 60 Sekunden. Während der Neukonfiguration kann es beim Herstellen von Verbindungen mit der Datenbank zu Problemen kommen. Die Verbindung kann auch fehlschlagen, wenn der Dienst automatisch neu gestartet wird, um bestimmte Probleme zu beheben.
  3. Stellen Sie eine Verbindung mit einer anderen Anwendung und/oder von einem anderen Computer her.

Abfragefehler aufgrund eines tempdb-Speicherplatzproblems

Bei tempdb handelt es sich um eine Systemdatenbank, die von der Engine für verschiedene temporäre Speicherzwecke während der Abfrageausführung verwendet wird. Benutzer*innen können nicht darauf zugreifen oder sie konfigurieren. Bei Abfragen kann ein Fehler auftreten, da der Speicherplatz von tempdb knapp wird. Führen Sie die folgenden Schritte aus, um die Speicherauslastung von tempdb zu reduzieren:

  1. Lesen Sie den Artikel über Statistiken, um zu überprüfen, ob für alle Tabellen richtige Spaltenstatistiken erstellt wurden.
  2. Stellen Sie sicher, dass alle Tabellenstatistiken nach großen DML-Transaktionen aktualisiert werden.
  3. Abfragen mit komplexen JOIN-, GROUP BY- und ORDER BY-Klauseln, von denen erwartet wird, dass sie große Resultsets zurückgeben, belegen mehr tempdb-Speicherplatz bei der Ausführung. Bearbeiten Sie diese Abfragen, um die Anzahl der GROUP BY- und ORDER BY-Spalten nach Möglichkeit zu reduzieren.
  4. Führen Sie die Abfrage erneut aus, wenn keine anderen aktiven Abfragen ausgeführt werden, um Ressourceneinschränkungen während der Abfrageausführung zu vermeiden.

Die Abfrageleistung scheint sich mit der Zeit zu verschlechtern.

Viele Faktoren können sich auf die Leistung einer Abfrage auswirken, z. B. Veränderungen der Tabellengröße, Datenschiefe, Workloadparallelität, verfügbare Ressourcen oder das Netzwerk. Nur weil eine Abfrage langsamer ausgeführt wird, bedeutet das nicht unbedingt, dass es ein Problem mit der Abfrageleistung gibt. Führen Sie die folgenden Schritte aus, um die Zielabfrage zu untersuchen:

  1. Ermitteln Sie die Unterschiede bei allen leistungsrelevanten Faktoren zwischen Ausführungen mit guter und schlechter Leistung.
  2. Lesen Sie den Artikel über Statistiken, um zu überprüfen, ob für alle Tabellen richtige Spaltenstatistiken erstellt wurden.
  3. Stellen Sie sicher, dass alle Tabellenstatistiken nach großen DML-Transaktionen aktualisiert werden.
  4. Überprüfen Sie in den Basistabellen, ob Datenschiefe vorhanden ist.
  5. Halten Sie den Dienst an und nehmen Sie ihn wieder auf. Führen Sie dann die Abfrage erneut aus, wenn keine anderen aktiven Abfragen ausgeführt werden. Sie können die Lagerauslastung mithilfe von DMV überwachen.

Die Abfrage schlägt nach langer Ausführungszeit fehl. Es werden keine Daten an den Client zurückgegeben.

Eine SELECT-Anweisung konnte im Back-End erfolgreich abgeschlossen werden und schlägt fehl, wenn versucht wird, das Resultset der Abfrage an den Client zurückzugeben. Probieren Sie die folgenden Schritte aus, um das Problem zu isolieren:

  1. Verwenden Sie verschiedene Clienttools, um dieselbe Abfrage erneut auszuführen:
  2. Wenn Schritt 1 nicht weiterhilft, führen Sie einen CTAS-Befehl mit der fehlerhaften SELECT-Anweisung aus, um das SELECT-Abfrageergebnis an eine andere Tabelle im selben Warehouse zu senden. Durch die Verwendung von CTAS wird vermieden, dass das Resultset der Abfrage an den Clientcomputer zurückgesendet wird. Wenn der CTAS-Befehl erfolgreich abgeschlossen und die Zieltabelle aufgefüllt wird, wird der ursprüngliche Abfragefehler wahrscheinlich durch das Warehouse-Front-End oder Clientprobleme verursacht.

Schreib- oder Aktualisierungskonflikte

Schreibkonflikte oder Aktualisierungskonflikte können entstehen, wenn zwei Transaktionen versuchen, UPDATE, DELETE, MERGE oder TRUNCATE auf dieselbe Tabelle zuzugreifen. Möglicherweise werden Fehlermeldungen angezeigt, z. B.:

  • Fehler 24556: Die Snapshotisolationstransaktion wurde aufgrund eines Aktualisierungskonflikts abgebrochen. Die Verwendung der Snapshotisolation für den Zugriff auf die Tabelle '%.*ls' direkt oder indirekt in der Datenbank '%.*ls' kann zu Aktualisierungskonflikten führen, wenn Zeilen in dieser Tabelle durch eine andere gleichzeitige Transaktion gelöscht oder aktualisiert wurden. Wiederholen Sie die Transaktion.
  • Fehler 24706: Die Momentaufnahmeisolationstransaktion wurde aufgrund eines Aktualisierungskonflikts abgebrochen. Sie können die Snapshot-Isolation nicht verwenden, um direkt oder indirekt auf die Tabelle '%.*ls' in der Datenbank '%.*ls' zuzugreifen, um die Zeile zu aktualisieren, zu löschen oder einzufügen, die durch eine andere Transaktion geändert oder gelöscht wurde. Versuchen Sie die Transaktion erneut.

Weitere Informationen finden Sie unter Bewährte Methoden zum Vermeiden von Schreibkonflikten.

Welche Informationen sollten Sie zusammentragen, bevor Sie den Microsoft-Support kontaktieren?

  • Geben Sie die Arbeitsbereichs-ID des Lagers an.
  • Geben Sie die Statement-ID und die verteilte Anforderungs-ID an. Diese werden als Meldungen zurückgegeben, nachdem eine Abfrage abgeschlossen wurde oder fehlschlägt.
  • Geben Sie den genauen Text der Fehlermeldung an.
  • Geben Sie den Zeitpunkt an, zu dem die Abfrage abgeschlossen wurde oder fehlgeschlagen ist.