SSIS Packages Run
Overview
This is the page somebody opens first, and the one they open at eight in the morning when a report is empty and nobody knows whether the load ran.
It answers four questions at once: what ran, did it work, how long did it take, and who or what started it.
Where to find it
Expand a server in the tree, expand a database holding an Integration Services catalog, then SSIS → Packages Run.
The SSIS group appears for a database that holds a catalog and for no other. It is deliberately not gated on the name SSISDB: a restored copy of a catalog sitting beside the live one under another name is still worth reporting on, and a user database somebody happened to call SSISDB is not. The gate asks OBJECT_ID rather than reading from the views and treating the failure as a no, so clicking an ordinary database never writes an invalid object name into the SQL Server error log.
The two views
| View | What it shows |
|---|---|
| Timeline | One lane per package, one bar per execution, on a shared time axis. The default. |
| Ribbon | Hourly counts, split by whether an hour was a schedule or a person. |
Why a timeline rather than a count per hour. A bucketed count cannot express at the same time. The two o’clock pile up, the package that was still going when the next one started, and the one that failed while everything around it succeeded are all one look at a timeline, and all invisible in a column chart.
Three things the built in SSIS reports have and do not say
status is an integer, and there are nine of them
Ended unexpectedly is not failed. Canceled is not failed. Completed is not a warning. All three are decoded here into the words somebody would use out loud.
A child package shares its parent’s execution
A package started inside another by an Execute Package Task running in process shares its parent’s execution_id. It is a row in catalog.executables, not in catalog.executions.
So this page counts one run for a master package that calls six children, which is one run. SSIS Package Map is the page that opens up what happened inside it.
Every total is bounded by two things nobody mentions
The catalog’s retention window, and permission. Both are in the caveat line under the summary, because an empty page and a quiet night look the same and only one of them is true.
The read scope
The catalog views are not tables. Every one of them filters its rows against the reader’s permissions.
| Who you are | What you see |
|---|---|
ssis_admin, or sysadmin |
Everything. |
Granted through ssis_logreader |
Everything in the log views. |
| Neither | Only your own executions, which renders as a quiet, healthy, empty server. |
The scope is printed in the caveat line on every SSIS page for that reason.
Reading the grid
| Column | What it is |
|---|---|
| Started | When the execution started. |
| Package | The package name. |
| Project | The project it belongs to. |
| Folder | The catalog folder. |
| Environment | The environment reference used, when one was. |
| Started by | The principal that called start_execution. |
| Duration | Start to end. |
| Status | The decoded status, not the integer. |
| Errors / Warnings | Counts from the event messages. |
| Logging | The logging level this run used, which decides what the other SSIS pages can show. |
| Host | machine_name, which is the SSIS host rather than the SQL Server. |
The toolbar
| Control | Options | Default |
|---|---|---|
| Window | 24 hours, 7 days, 30 days | 24 hours |
| View | Timeline, Ribbon | Timeline |
| Show everything | Clears any filter applied by a drill through. |
Where the data comes from
| Source | What it gives |
|---|---|
catalog.executions |
The execution: package, project, folder, status, start and end, caller, host, logging level. |
catalog.event_messages |
The error and warning counts. |
catalog.environment_references |
Which environment the run used. |
catalog.catalog_properties |
The retention window, for the caveat line. |
Related reports
| Report | Why you would go there |
|---|---|
| SSIS Package Failures | The failures, with the error text and the values at the moment it broke. |
| SSIS Package Speed | Whether this run was slow, or the package always is. |
| SSIS Inside the Package | Which task inside it burned the time. |
| SSIS Running Now | What is executing at this moment. |
| SSIS Critical Path | Which package made the night end when it did. |
| SSIS Package Map | What ran inside a master package’s single execution. |
Frequently asked questions
The page is empty and I know packages ran. Read the caveat line. Either the window is shorter than the retention window, or this login is outside ssis_admin and ssis_logreader and is being shown only its own executions.
A master package calls six children and I see one row. That is correct. Six in-process children share one execution. SSIS Inside the Package and SSIS Package Map open it up.
What does “Ended unexpectedly” mean? The ISServerExec process stopped without writing a result: a host reboot, a service restart, or a kill. There is no error message to find, which is why the status is spelled out rather than lumped in with failures.
How far back can I look? As far as the catalog’s retention window, which defaults to 365 days. SSIS Catalog Health is where that setting is.