SSIS Environments
Overview
The finding here is the blank cell.
A parameter added to a project after an environment was built has no variable to bind to in that environment, so at run time it silently falls back on whatever default was compiled into the .ispac.
That is the classic two in the morning incident, a package that ran against the wrong server because nobody noticed a parameter had no binding, and it is visible here as an empty cell before it runs rather than after.
Where to find it
Expand a server in the tree, expand a database holding an Integration Services catalog, then SSIS → Environments.
The grid is a real matrix
One column per environment, built from whatever environments this catalog has.
Putting Dev, Test and Prod side by side is what turns “the connection string is wrong in Prod” from a support call into something a DBA can see without opening SSMS.
| Column | What it is |
|---|---|
| Parameter | The parameter name. |
| Project / Folder | Which project it belongs to. |
| Type | Project parameter or package parameter, with its data type. |
| Bound to | The environment variable it binds to, per environment column. Blank is the finding. |
| Design default | The value compiled into the .ispac, which is what an unbound parameter falls back on. |
Two things the page is careful about
Sensitive values are never shown
The catalog masks them, and they stay masked here.
A row of asterisks reads like a password somebody could copy, so the cell says set or not set instead. That is the whole of the useful information anyway: whether the environment supplies it.
Reference type matters
| Type | What it means |
|---|---|
| Relative (R) | Resolves inside the project’s own folder and moves with it. |
| Absolute (A) | Names a folder and breaks when that folder is renamed. |
After a folder reorganization only one kind needs fixing, so the page says which is which.
The toolbar
| Control | What it does |
|---|---|
| Catalog inventory | Opens SSIS Catalog Inventory. |
| Recent runs | Opens SSIS Packages Run. |
| What is not bound | Filters to the parameters with a blank cell in at least one environment. |
Where the data comes from
| Source | What it gives |
|---|---|
catalog.object_parameters |
Every project and package parameter, its type, its design default and its sensitivity. |
catalog.environments |
The environments, which become the columns. |
catalog.environment_variables |
The variables each environment supplies. |
catalog.environment_references |
Which environments a project can use, and whether the reference is relative or absolute. |
catalog.folders, catalog.projects |
The names. |
Related reports
| Report | Why you would go there |
|---|---|
| SSIS Connection Reach | What the bound connection strings actually point at. |
| SSIS Overrides | A run started with a parameter changed by hand. |
| SSIS Catalog Inventory | What is deployed, and what has never run. |
| SSIS Package Failures | The context values captured when something ran against the wrong thing. |
Frequently asked questions
A cell is blank. Does the package fail? No, and that is the problem. It falls back on the design default that was compiled into the package, silently, and runs against whatever that names.
Why does it say “set” instead of the value? Because the value is sensitive and the catalog returns it masked. The mask carries no information, so the page reports the only fact available: whether the environment supplies it.
We renamed a folder and packages broke. Look at the reference type. Absolute references name the folder and break; relative ones move with the project. This page says which of your references are which.
Can I see the design default for a sensitive parameter? No. Nothing can. It is encrypted in the catalog and the page reports whether it is set.