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.

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.