Warum wird meine Amazon Redshift Serverless-Abfrage abgebrochen oder gestoppt?
Ich möchte wissen, warum Amazon Redshift Serverless meine Abfrage abgebrochen oder gestoppt hat, und ich eine Fehlermeldung erhalte.
Kurzbeschreibung
Im Folgenden sind die Gründe aufgeführt, warum eine Abfrage in Amazon Redshift abgebrochen oder gestoppt wird:
- Du hast das Abfragekontingent erreicht.
- Du hast das Arbeitsgruppen-Nutzungskontingent für Redshift Processing Units (RPUs) erreicht.
- Deine Anfrage hat den Wert statement_timeout überschritten.
- Ein anderer Benutzer hat die Abfrage gestoppt oder abgebrochen.
- Es gibt Probleme mit der Netzwerkverbindung.
Lösung
Das Abfragekontingent der Amazon Redshift Serverless-Arbeitsgruppe überprüfen
Wenn du das Kontingent der Arbeitsgruppenabfrage erreichst, gibt die Abfrage die folgende Fehlermeldung zurück:
„ERROR: Query (6800381) cancelled on user's request.“
Um zu bestätigen, dass Amazon Redshift die Abfrage abgebrochen hat, weil du die Quote erreicht hast, führe die folgende SQL-Anweisung aus dem Amazon Redshift Query Editor aus:
SELECT query_id, query_text, error_message from SYS_QUERY_HISTORY WHERE error_message ILIKE '%cancelled on user%';
Erhöhe das Kontingent deiner Arbeitsgruppenabfrage, um dieses Problem zu beheben.
Das Nutzungskontingent der Amazon Redshift Serverless-Arbeitsgruppe für RPUs überprüfen
Wenn du die Nutzungsquote der Arbeitsgruppe für RPUs erreichst, gibt die Abfrage die folgende Fehlermeldung zurück:
„Error: Query reached usage limit.“
Um zu bestätigen, dass Amazon Redshift die Abfrage abgebrochen hat, weil du das Nutzungskontingent erreicht hast, führe die folgende SQL-Anweisung aus dem Amazon Redshift Query Editor aus:
SELECT query_id, query_text, usage_limit, error_message FROM SYS_QUERY_HISTORY WHERE error_message ILIKE '%reached usage limit%';
Erhöhe das Kontingent deiner Arbeitsgruppennutzung, um dieses Problem zu beheben.
Prüfen, ob deine Abfrage den Wert „statement_timeout“ überschritten hat
Wenn eine Abfrage den Wert statement_timeout überschreitet, bricht Amazon Redshift die Abfragen ab, die du während der Sitzung einreichst. Die Abfrage gibt die folgende Fehlermeldung zurück:
„ERROR: Query (150) cancelled on user's request.“
Um das Anweisungs-Timeout für deinen Cluster zu überprüfen, führe die folgende SQL-Anweisung aus dem Amazon Redshift Query Editor aus:
SHOW statement_timeout;
Die Anweisung zeigt die Zeitüberschreitung für Anweisungen auf Clusterebene in Millisekunden an. Um die Ausgabe zu ändern, ändere die Parameter in der Workload-Management-Konfiguration.
Um zu bestätigen, dass Amazon Redshift die Abfrage aufgrund einer Anweisungszeitüberschreitung abgebrochen hat, führe die folgende SQL-Anweisung im Amazon Redshift Query Editor aus:
SELECT * FROM SYS_QUERY_HISTORY WHERE query_text ILIKE '%set%statement_timeout%to%';
Wenn Amazon Redshift deine Abfrage abgebrochen hat, führe den folgenden Befehl aus, um deinen Wert statement_timeout zu erhöhen:
SET statement_timeout = (value)
Hinweis: Ersetze (Wert) durch einen höheren Wert als den vorherigen Wert statement_timeout.
Prüfen, ob ein anderer Benutzer die Abfrage gestoppt oder abgebrochen hat
Um zu überprüfen, ob ein anderer Benutzer eine Abfrage gestoppt oder abgebrochen hat, führe den folgenden Befehl aus und überprüfe die Spalte error_message:
SELECT * FROM sys_query_history WHERE session_id = process_id;
Hinweis: Ersetze process_id durch deine Prozess-ID.
Um gestoppte Abfragen anzuzeigen, führe die folgende SQL-Anweisung im Amazon Redshift Query Editor aus:
SELECT * FROM sys_query_history WHERE error_message ILIKE '%terminate%';
Um abgebrochene Abfragen anzuzeigen, führe die folgende SQL-Anweisung im Amazon Redshift Query Editor aus:
SELECT * FROM sys_query_history WHERE error_message ILIKE '%canceled by user%';
Wenn die Abfrage in der Ausgabe erscheint, hat ein Benutzer die Abfrage gestoppt oder abgebrochen.
Hinweis: Benutzer können nur ihre eigene Sitzung beenden. Ein Superuser kann alle Sitzungen beenden.
Probleme mit dem Netzwerk
Auch Netzwerkprobleme können Abfragen abbrechen.
Um zu überprüfen, ob es ein Problem mit der Netzwerkverbindung gibt, führe den folgenden Befehl aus, um die Überwachungsansicht SYS_CONNECTION_LOG zu überprüfen:
SELECT * FROM SYS_CONNECTION_LOG WHERE session_id = process_id;
Hinweis: Ersetze process_id durch deine Prozess-ID.
Ähnliche Informationen

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr