Package Store
Overview
This is not the SSISDB catalog.
Packages can live in three places: the Integration Services catalog, the file system, and this table, which is the oldest of the three and the one nobody remembers. The SSIS pages elsewhere in this product read the catalog; nothing reads this, and on instances that have been upgraded since 2008 it is usually where the packages actually are.

Where to find it
Expand a server in the tree, expand the msdb database, then MSDB → Package Store.
What it can say
Every package, with its real folder path
The table stores a parent id and nothing else, so a package four folders deep looks like a package at the root until the tree is walked. This page walks it.
Which packages an Agent job actually runs
Matched by comparing the SSIS step commands against the package names. A package nobody runs is either a leftover or somebody’s deployment that was never wired up, and both are worth a line.
The maintenance plans hiding among them
A maintenance plan is stored here as a package with type 6. A page that counted rows would report an instance with four maintenance plans as running four SSIS packages.
Packages protected with a password
Those cannot be opened or run anywhere else without the password, which is a migration problem that only appears on the day of the migration.
Reading the chart

One bar per package, by the size it takes in msdb, with the folder and the kind under the name.
Size rather than count, because the package XML is what holds the space here. The folder is part of the label because the store keeps a parent id and nothing else until that tree is walked.
Reading the grid

| Column | What it is |
|---|---|
| Package | The package name. |
| Folder | The full path, rebuilt by walking the folder tree. |
| Kind | SSIS package, legacy DTS package, or maintenance plan. |
| Owner | The principal that owns it. |
| Size | The length of the package XML, read as a length rather than as content. |
| Created | When it was added to the store. |
| Version | The package version, and its major and build numbers. |
| Run by | The Agent job and step that runs it, or blank. |
| Verdict | Whether this package is run by anything, whether it is a plan, and whether it is password protected. |
The package bytes are read as a length, never as content. packagedata is an image column holding the whole XML of the package, and selecting it would pull megabytes across the wire to show a name and a date.
The toolbar
| Control | What it does |
|---|---|
| Maintenance plans | Opens Maintenance Plans, for the type 6 rows. |
| What the jobs run | Opens Job Commands. |
| Space and retention | Opens msdb Space and Retention, because package XML is real weight. |
Where the data comes from
| Source | What it gives |
|---|---|
dbo.sysssispackages |
The packages: name, id, description, packagetype, packageformat, owner SID, createdate, vermajor, verbuild, packagedata length, and encryptionlevel. |
dbo.sysssispackagefolders |
The folder tree, walked to rebuild the path. |
dbo.sysjobsteps |
The SSIS step commands, matched against the package names. |
sys.server_principals |
The owner name behind the SID. |
On SQL Server 2005 these are sysdtspackages90 and sysdtspackagefolders90, and the page reads whichever exists.
Messages you may see
Nothing is stored in the msdb package store. Packages on this instance are either in the Integration Services catalog, on the file system, or nowhere. The SSIS pages under a catalog database cover the first.
Related reports
| Report | Why you would go there |
|---|---|
| Maintenance Plans | The type 6 packages, as plans. |
| Job Commands | The steps that run these packages. |
| SSIS Catalog Inventory | The other package store, under an Integration Services catalog database. |
| msdb Space and Retention | What the package XML weighs. |
Frequently asked questions
Is this the same as the SSIS pages? No. The SSIS group appears under a database holding an Integration Services catalog and reads SSISDB. This page reads msdb.dbo.sysssispackages, which is the older store and is on every instance.
A package is here and no job runs it. Either it is run from outside SQL Server (a scheduler, a person, another application), or it is a leftover. The page cannot tell those apart and says so rather than guessing.
We are migrating. What do I need to know? The password protected rows. Everything else can be exported and redeployed; a package with an encryption level that needs a password cannot be opened without it.
Why does my instance show four packages when I have no SSIS? Because maintenance plans are stored as packages. The Kind column separates them.