# Scan Jobs

A scan job runs a set of data quality monitors against your Fabric tables. This page explains how scans are triggered, what happens during execution, and how to track progress.

![](/files/TxSNLe4ku6Dgr94t25NG)

***

## Trigger Modes

### Scheduled

Monitors run automatically on their configured schedule. By default each monitor runs every 6 hours. No manual action is needed — scans happen in the background.

### On-Demand

Click **Run Now** on an asset or monitor in the UI to start a scan immediately. Use this after deploying new monitors, after fixing a data issue, or when you want a fresh result outside the normal schedule.

***

## What Happens During a Scan

1. The DQ engine starts inside your Fabric workspace using your workspace identity
2. Each monitor's check runs against your table's SQL Analytics Endpoint
3. Computed metric values (counts, percentages, timestamps) are evaluated against configured thresholds
4. If a threshold is breached, an [**Incident**](/user-guide/incidents.md) is created automatically
5. Notifications are sent to your configured [alert channels](/user-guide/administration.md#alert-channels)

Your raw data never leaves your Fabric tenant — only the computed metric results are processed.

***

## Scan Job Tracker

The **Scan Jobs** page shows:

* **Running scans**: per-monitor progress (pending, running, completed, failed)
* **Recent scans**: completed scan history with start/end times and duration
* **Query details**: the check expression used for each monitor (shown for transparency)
* **Per-monitor status**: which monitors passed, which failed, and any error messages

***

## Run Statuses

| Status     | Meaning                                    |
| ---------- | ------------------------------------------ |
| `running`  | In progress                                |
| `finished` | Completed successfully                     |
| `failed`   | An error occurred during execution         |
| `stale`    | Timed out after 30 minutes with no updates |

***

## Schedule Configuration

Each monitor has an independent cron schedule. The default is every 6 hours.

Update the schedule per monitor in the [monitor configuration panel](/user-guide/monitor-types.md), or use **Bulk Edit** on the Monitor Dashboard to update multiple monitors at once.

**Common schedules:**

| Cron          | Frequency               |
| ------------- | ----------------------- |
| `0 */1 * * *` | Every hour              |
| `0 */6 * * *` | Every 6 hours (default) |
| `0 0 * * *`   | Daily at midnight UTC   |
| `0 0 * * 1`   | Weekly on Monday        |

***

## Related

* [Monitor Types](/user-guide/monitor-types.md) — configure what each scan checks
* [Incidents](/user-guide/incidents.md) — what gets created when a scan breaches a threshold
* [API: Trigger a scan programmatically](/api-reference/scan-runs.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fabric-docs.telm.ai/user-guide/scan-jobs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
