The CANCEL JOB statement lets you stop long-running jobs, which include:
IMPORTjobsBACKUPandRESTOREjobs- User-created table statistics jobs
- Automatic table statistics jobs
- Changefeeds
- Schema change jobs
- New in v20.2: Scheduled backup jobs
Limitations
When an Enterprise RESTORE is canceled, partially restored data is properly cleaned up. This can have a minor, temporary impact on cluster performance.
Required privileges
To cancel a job, the user must be a member of the admin role or must have the CONTROLJOB parameter set. Non-admin users cannot cancel admin users' jobs.
Synopsis
Parameters
| Parameter | Description |
|---|---|
job_id |
The ID of the job you want to cancel, which can be found with SHOW JOBS. |
select_stmt |
A selection query that returns job_id(s) to cancel. |
for_schedules_clause |
New in v20.2: The schedule you want to cancel jobs for. You can cancel jobs for a specific schedule (FOR SCHEDULE id) or cancel jobs for multiple schedules by nesting a SELECT clause in the statement (FOR SCHEDULES <select_clause>). See the examples below. |
Examples
Cancel a single job
> SHOW JOBS;
+----------------+---------+-------------------------------------------+...
| id | type | description |...
+----------------+---------+-------------------------------------------+...
| 27536791415282 | RESTORE | RESTORE db.* FROM 'azure://backup/db/tbl' |...
+----------------+---------+-------------------------------------------+...
> CANCEL JOB 27536791415282;
Cancel multiple jobs
To cancel multiple jobs, nest a SELECT clause that retrieves job_id(s) inside the CANCEL JOBS statement:
> CANCEL JOBS (SELECT job_id FROM [SHOW JOBS]
WHERE user_name = 'maxroach');
All jobs created by maxroach will be cancelled.
Cancel automatic table statistics jobs
Canceling an automatic table statistics job is not useful since the system will automatically restart the job immediately. To permanently disable automatic table statistics jobs, disable the sql.stats.automatic_collection.enabled cluster setting:
> SET CLUSTER SETTING sql.stats.automatic_collection.enabled = false;
Cancel jobs for a schedule
New in v20.2: To cancel jobs for a specific backup schedule, use the schedule's id:
> CANCEL JOBS FOR SCHEDULE 590204387299262465;
CANCEL JOBS FOR SCHEDULES 1
You can also CANCEL multiple schedules by nesting a SELECT clause that retrieves id(s) inside the CANCEL JOBS statement:
> CANCEL JOBS FOR SCHEDULES SELECT id FROM [SHOW SCHEDULES] WHERE label = 'test_schedule';
CANCEL JOBS FOR SCHEDULES 2