jobs.job_executions (Azure Elastic Jobs) (Transact-SQL)
Gilt für: Azure SQL-Datenbank
Enthält den Auftragsausführungsstatus und den Verlauf für Aufträge im Azure Elastic Jobs-Dienst für Azure SQL-Datenbank.
Spaltenname | Datentyp | BESCHREIBUNG |
---|---|---|
job_execution_id | UNIQUEIDENTIFIER | Eindeutige ID einer Instanz einer Auftragsausführung. |
job_name | nvarchar(128) | Der Name des Auftrags. |
job_id | UNIQUEIDENTIFIER | Eindeutige ID des Auftrags. |
job_version | INT | Version des Auftrags (wird automatisch jedes Mal aktualisiert, wenn der Auftrag geändert wird) |
step_id | INT | Eindeutiger Bezeichner (für diesen Auftrag) für den Schritt NULL gibt an, dass es sich bei dieser Ausführung um die Ausführung des übergeordneten Auftrags handelt. |
is_active | bit | Gibt an, ob Informationen aktiv oder inaktiv sind. 1 gibt aktive Aufträge an und 0 gibt inaktiv an. |
lifecycle | nvarchar(50) | Wert, der den Status des Auftrags angibt. Mögliche Werte finden Sie in der Lifecycle-Tabelle . |
create_time | datetime2(7) | Datum und Uhrzeit, an dem der Auftrag erstellt wurde. |
start_time | datetime2(7) | Datum und Uhrzeit, an dem die Ausführung des Auftrags gestartet wurde. NULL wenn der Auftrag noch nicht ausgeführt wurde. |
end_time | datetime2(7) | Datum und Uhrzeit, an dem die Ausführung des Auftrags abgeschlossen wurde. NULL wenn der Auftrag noch nicht ausgeführt wurde oder die Ausführung noch nicht abgeschlossen wurde. |
current_attempts | INT | Häufigkeit, mit der der Schritt wiederholt wurde. Der übergeordnete Auftrag ist 0 , untergeordnete Auftragsausführungen werden basierend auf der Ausführungsrichtlinie oder höher sein 1 . |
current_attempt_start_time | datetime2(7) | Datum und Uhrzeit, an dem die Ausführung des Auftrags gestartet wurde. NULL gibt an, dass es sich bei dieser Ausführung um die Ausführung des übergeordneten Auftrags handelt. |
next_attempt_start_time | datetime2(7) | Datum und Uhrzeit des nächsten Ausführungsstarts des Auftrags. NULL gibt an, dass es sich bei dieser Ausführung um die Ausführung des übergeordneten Auftrags handelt. |
last_message | nvarchar(max) | Meldung zu Auftrags- oder Schrittverlauf. |
target_type | nvarchar(128) | Typ der Zieldatenbank oder Sammlung von Datenbanken, einschließlich aller Datenbanken in einem Server, alle Datenbanken in einem elastischen Pool oder einer Datenbank. Gültige Werte für target_type sind SqlServer , oder SqlElasticPool SqlDatabase . NULL gibt an, dass es sich bei dieser Ausführung um die Ausführung des übergeordneten Auftrags handelt. |
target_id | UNIQUEIDENTIFIER | Eindeutige ID des Zielgruppenmitglieds. NULL gibt an, dass es sich bei dieser Ausführung um die Ausführung des übergeordneten Auftrags handelt. |
target_group_name | nvarchar(128) | Der Name der Zielgruppe. NULL gibt an, dass es sich bei dieser Ausführung um die Ausführung des übergeordneten Auftrags handelt. |
target_server_name | nvarchar(256) | Der Name des in der Zielgruppe enthaltenen Servers. Wird nur angegeben, wenn target_type dies der Wert ist SqlServer . NULL gibt an, dass es sich bei dieser Ausführung um die Ausführung des übergeordneten Auftrags handelt. |
target_database_name | nvarchar(128) | Der Name der in der Zielgruppe enthaltenen Datenbank. Wird nur angegeben, wenn target_type dies der Wert ist SqlDatabase . NULL gibt an, dass es sich bei dieser Ausführung um die Ausführung des übergeordneten Auftrags handelt. |
In der folgenden Tabelle sind die möglichen Auftragsausführungszustände in lifecycle
:
State | BESCHREIBUNG |
---|---|
Erstellt | Die Ausführung des Auftrags wurde gerade erstellt und wird noch nicht durchgeführt. |
InProgress | Der Auftrag wird zurzeit ausgeführt. |
WaitingForRetry | Die Aktion der Auftragsausführung konnte nicht abgeschlossen werden, und es wird auf einen erneuten Versuch gewartet. |
Erfolgreich | Die Auftragsausführung wurde erfolgreich abgeschlossen. |
SucceededWithSkipped | Die Auftragsausführung wurde erfolgreich abgeschlossen, aber einige der untergeordneten Elemente wurden übersprungen. |
Fehler | Fehler bei der Auftragsausführung und Erschöpfung der Wiederholungen. |
TimedOut | Timeout der Auftragsausführung. |
Canceled | Die Ausführung des Auftrags wurde abgebrochen. |
Übersprungen | Die Auftragsausführung wurde übersprungen, weil eine andere Ausführung des gleichen Auftragsschritts bereits auf dem gleichen Ziel durchgeführt wurde. |
WaitingForChildJobExecutions | Die Ausführung des Auftrags wartet auf den Abschluss untergeordneter Schritte. |
Berechtigungen
Mitglieder der rolle jobs_reader können aus dieser Ansicht AUSWÄHLEN. Weitere Informationen finden Sie unter Elastische Aufträge für Azure SQL-Datenbank.
Achtung
Sie dürfen keine internen Katalogansichten in der Auftragsdatenbank aktualisieren. Das manuelle Ändern dieser Katalogansichten kann die Auftragsdatenbank beschädigen und zu einem Fehler führen. Diese Ansichten dienen nur für schreibgeschützte Abfragen. Sie können die gespeicherten Prozeduren in Ihrer Auftragsdatenbank verwenden.
Hinweise
Alle Zeitangaben in elastischen Aufträgen folgen der UTC-Zeitzone.
Überwachen des Status einer Auftragsausführung
Das folgende Beispiel veranschaulicht, wie Ausführungsstatusdetails für alle Aufträge angezeigt werden.
Stellen Sie eine Verbindung mit der job_database
her, und führen Sie den folgenden Befehl aus:
--Connect to the job database specified when creating the job agent
--View top-level execution status for the job named 'ResultsPoolJob'
SELECT * FROM jobs.job_executions
WHERE job_name = 'ResultsPoolsJob' and step_id IS NULL
ORDER BY start_time DESC;
--View all top-level execution status for all jobs
SELECT * FROM jobs.job_executions WHERE step_id IS NULL
ORDER BY start_time DESC;
--View all execution statuses for job named 'ResultsPoolsJob'
SELECT * FROM jobs.job_executions
WHERE job_name = 'ResultsPoolsJob'
ORDER BY start_time DESC;
-- View all active executions
SELECT * FROM jobs.job_executions
WHERE is_active = 1
ORDER BY start_time DESC;
Ausführen eines Auftrags und Überwachen des Status
Das folgende Beispiel zeigt, wie Sie einen elastischen Auftrag sofort als manuelle, ungeplante Aktion starten.
Stellen Sie eine Verbindung mit der job_database
her, und führen Sie den folgenden Befehl aus:
--Connect to the job database specified when creating the job agent
-- Execute the latest version of a job and receive the execution id
DECLARE @je uniqueidentifier;
EXEC jobs.sp_start_job 'CreateTableTest', @job_execution_id = @je output;
SELECT @je;
-- Monitor progress
SELECT * FROM jobs.job_executions WHERE job_execution_id = @je;