SSIS Catalog Inventory

Overview

The never run list is the point.

A catalog that has been through two migrations carries projects nobody has executed in a year, and every one of them is still a version chain the nightly cleanup walks and a thing somebody has to reason about the next time they audit the estate.


Where to find it

Expand a server in the tree, expand a database holding an Integration Services catalog, then SSIS → Catalog Inventory.


Three catalog facts this page turns into columns

entry_point

Separates a package meant to be started from one meant to be called.

A package with entry_point off is a child of an Execute Package Task and is supposed to have no executions of its own, so counting it as never run would put half a well built project on a list of things to delete.

project_format_version

Records which version of the tooling deployed the project.

A catalog holding projects below what the current SSDT will open is a catalog where the day somebody needs to change one of those packages is going to be a bad day, and finding that out on a quiet afternoon costs nothing.

object_versions

A chain per project, bounded by MAX_PROJECT_VERSIONS.

A project sitting at the limit is one where the oldest rollback target is already gone.


“Never run” means never run inside the retention window

Everything counted as a run here is bounded by the catalog’s retention window. That is in the caveat line rather than left for somebody to discover.

SSIS Catalog Health is where the retention window is set.


The two views

View What it ranks
By runs Packages by how often they run, which puts the never run ones at the bottom together.
By age Packages by how long since they last ran, which is the view for deciding what to retire.

Reading the grid

Column What it is
Package The package.
Project / Folder Where it lives in the catalog.
Kind Entry point or child, from entry_point.
Runs Executions inside the retention window.
Failed How many of those failed.
Last run The most recent execution.
Last deployed When the project was last deployed.
Deployed by Who deployed it.
Versions How many versions the chain holds, against MAX_PROJECT_VERSIONS.
Format project_format_version, and what tooling that corresponds to.
State Running normally, never run, a child that was started directly, or a format below the current tooling.

The toolbar

Control What it does
By runs / By age The two views.
Recent runs Opens SSIS Packages Run.
Environments Opens SSIS Environments.

Where the data comes from

Source What it gives
catalog.packages The packages and their entry_point.
catalog.projects The projects, project_format_version, last_deployed_time and deployed_by_name.
catalog.folders The folder names.
catalog.object_versions The version chain per project.
catalog.executions The run counts, bounded by retention.
catalog.catalog_properties MAX_PROJECT_VERSIONS and the retention window.

Report Why you would go there
SSIS Package Map Why a package has never run: nothing starts it, or nothing calls it.
SSIS Catalog Health The retention window and version limit that bound this page.
SSIS Environments Which environments supply the parameters these projects need.
SSIS Packages Run The executions behind the run counts.
SSIS Who Fills It Which of these packages is writing most of SSISDB.

Frequently asked questions

A package shows zero runs and I know it runs. Check the Kind column. A child package started by an Execute Package Task in process has no execution of its own; it runs inside its parent’s.

Why does never run depend on the retention window? Because executions older than the window have been cleaned up. A package that last ran fourteen months ago on a catalog with 365 day retention genuinely has no record of running.

Versions is at the limit. Is that a problem? It means the oldest version in the chain has already been removed and cannot be rolled back to. Whether that matters is a policy decision; MAX_PROJECT_VERSIONS is where it is set.

What does the Format column really tell me? Which SSDT deployed it. A project several versions behind the tooling you have installed may not open cleanly, and that is much better discovered now than during an incident.