SSIS Running Now
Overview
The second half of the title is the reason this page exists.
When the SSIS service or the host it runs on restarts, every execution that was live stays at status Running forever. Nothing times them out and nothing in SSMS points at them.
catalog.startup is the procedure that sweeps them to Ended unexpectedly, and it runs at service start. So a catalog showing week old running executions is one that was brought back up in a way that skipped it. That is a one line finding with a one line fix, and nothing in this product said it until now.
Where to find it
Expand a server in the tree, expand a database holding an Integration Services catalog, then SSIS → Running Now.
Three states, told apart
| State | What it is |
|---|---|
| Live | Started recently, writing messages, behaving. |
| Stalled | Still at Running, but its last event message is older than this package’s own ninety fifth percentile run time. |
| Pending | Created and never started. Something called create_execution and never called start_execution, which is a caller bug rather than a package problem and gets its own line. |
Why stalled is measured against the package rather than against a fixed number of minutes. Ten minutes of silence is nothing on a package that takes two hours, and is a dead process on one that takes forty seconds.
Reading the grid
| Column | What it is |
|---|---|
| Started | When the execution started, or was created for a pending one. |
| Package | What is running. |
| Elapsed | How long it has been going. |
| State | Live, stalled, or pending. |
| Silent for | How long since the last message. This is the column stalled is judged on. |
| Where it was | The execution_path of the last thing it reported, so a stalled run names the task it stopped inside. |
| Started by | The caller. |
| Project | The folder and project the package lives in. |
| Longest ever | This package’s worst recorded run, for scale. |
| Host | machine_name, the SSIS host. |
| Execution | The execution_id, which is what a stop call needs. |
| Last message | The most recent event message from this execution. It is the last column and takes the width the others leave. |
The columns that say what is wrong come first so they are on screen at 1280×900. Long values are clipped in the grid, so hover a row to see the package, where it was, who started it, the execution id and the full last message.
Elapsed, Silent for and Longest ever sort by value, so the run that has been silent longest sorts to the top whichever unit its time is shown in.
- Click a run on the chart to select its row in the grid.
- Double click a run to select its row and open SSIS Inside the Package on that execution.
- Right click a run for the same menu as its grid row: Inside this run, How long this package usually takes, Copy the stop_operation call, Copy execution id and Script to clear stale runs.
- Right click an empty part of the chart to copy the chart to the clipboard.
Nothing on this page stops anything
The right-click menu copies the catalog.stop_operation call for somebody to read and run.
That is the stance the rest of the product’s script-only pages take: stopping a live ETL execution from a monitoring report is not a decision a click should make.
The toolbar’s Script to clear stale runs does the same for the stale executions a skipped catalog.startup left behind.
The toolbar
| Control | What it does |
|---|---|
| Recent runs | Opens SSIS Packages Run. |
| Failures | Opens SSIS Package Failures. |
| Script to clear stale runs | Copies the statements for the week old Running rows, without executing them. |
Where the data comes from
| Source | What it gives |
|---|---|
catalog.executions |
Everything at status Running or Created, with its start, caller and host. |
catalog.event_messages |
The last message and its timestamp, which is what silence is measured from. |
catalog.executions (history) |
The ninety fifth percentile per package, for the stalled threshold. |
catalog.operations |
The operation behind a pending execution. |
Related reports
| Report | Why you would go there |
|---|---|
| SSIS Packages Run | Everything that ran, not only what is running. |
| SSIS Package Speed | Where the ninety fifth percentile threshold comes from. |
| SSIS Package Failures | What happened to the runs that did stop. |
| SSIS Inside the Package | The task a stalled run is sitting in. |
| SSIS Schedule | What else was running at the same moment. |
Frequently asked questions
A package has been “running” since last Tuesday. It is not running. The SSIS service restarted in a way that skipped catalog.startup, and these rows were never swept. The toolbar copies the script that clears them.
What is the difference between stalled and just slow? Silence. A slow package is still writing event messages; a stalled one stopped writing. The threshold is this package’s own ninety fifth percentile rather than a fixed number.
A row says Pending and never moves. Something called create_execution and never called start_execution. That is in the calling code, not in the package.
Can I kill a run from here? No. The page copies the catalog.stop_operation call for you to read and run yourself.