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.

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.