SSMS Object Aggregator is an SSMS 22 add-on that adds a dockable Object Aggregator tool window to help you collect and browse SQL objects from multiple SQL Server instances and databases in one place.
Instead of expanding many connections in Object Explorer, you define a group of instance/database targets, optionally add filters, and then load the combined result set into a single tree.
This add-on is designed to make cross-instance object discovery faster inside SSMS.
Typical use cases:
- compare naming patterns across environments
- review all related objects for a feature area
- collect objects from multiple databases into one list
- jump from an aggregated result back to Object Explorer
- browse SQL Agent jobs and SSIS packages alongside regular database objects
In SSMS 22, open:
- Tools > Object Aggregator
This shows the dockable Object Aggregator window.
A saved container for one logical collection of sources.
Example:
Customer SyncBilling ObjectsRelease Validation
A source inside a group.
Example:
SQLDEV01 / SalesDbSQLQA01 / SalesDbSQLPROD01 / BillingDb
An optional schema/object name filter applied to one instance/database entry.
Example filters:
- Schema:
dbo, Object:usp* - Schema:
etl, Object:LoadCustomer* - Schema: blank, Object:
cust
Plain text behaves like a contains search. Wildcards are supported:
*= any number of characters?= single character
The add-on adds a tool window named Object Aggregator inside SSMS.
What it does:
- stays inside the SSMS shell
- shows saved groups in a tree
- loads objects on demand when a group is expanded
UI example:
- Open Tools > Object Aggregator
- Dock the window beside Object Explorer
- Expand a group to load its objects
You can create named groups and keep them for later sessions.
What it does:
- groups are persisted automatically
- groups are sorted by name
- renaming and deletion are built in
UI interactions:
- toolbar: Add Group, Edit Group, Delete Group, Reload Group
- menu: Groups > Add Group
- right-click a group: Rename, Add Instance, Edit, Delete
- keyboard:
F2= rename selected groupDelete= delete selected groupEnter= edit selected group
Example:
Create a group named Customer Objects, then use it to collect related objects from Dev, QA, and Prod.
Each group can contain multiple SQL Server instance/database pairs.
What it does:
- one group can aggregate results from several environments
- each source can have its own filters
- duplicate objects are de-duplicated in the final result set
UI example:
- Create group
Customer Objects - Right-click the group and choose Add Instance
- Add:
SQLDEV01/SalesDbSQLQA01/SalesDbSQLPROD01/SalesDb
After reload, all matching objects appear under one group.
Each instance/database entry can contain one or more filter definitions.
What it does:
- filter by schema name
- filter by object name
- combine multiple filters for the same source
- multiple filter rows act like an OR
- schema/object values inside one row act together
UI example:
- Edit a group
- Select
SQLDEV01 / SalesDb - Click Filter Definitions
- Add filters such as:
| Schema filter | Object filter |
|---|---|
dbo |
usp* |
etl |
Load* |
Customer |
Meaning:
dbo+usp*finds objects in schemadbowhose name matchesusp*etl+Load*finds ETL loader objectsCustomeralone finds any object whose name containsCustomer
Loaded objects are organized into a readable hierarchy.
Tree structure:
- Group
- Instance / Database
- Object Type
- Object
- Object Type
- Instance / Database
Example:
Customer ObjectsSQLDEV01 / SalesDbTablesdbo.Customer
Stored Proceduresdbo.uspGetCustomer
Viewsreporting.vwCustomerSummary
This makes mixed results easier to scan than a flat list.
Each Instance / Database node includes a quick filter box.
What it does:
- filters loaded object names within that branch
- grouped object types remain visible only when they still contain matches
Escclears the search box
Behavior:
- filtering activates after at least 3 characters
- input is debounced, so it applies shortly after typing stops
UI example:
- Expand
SQLDEV01 / SalesDb - In the small filter box under that node, type
cust - The tree narrows to objects whose display name contains
cust - Press
Escto clear the filter
Groups load lazily and can be refreshed at any time.
What it does:
- expanding a group triggers the first load
- Reload Group refreshes results after definition changes
- status text shows messages such as:
Loaded 24 object(s).No matches.
UI example:
- Add a new filter definition
- Return to the main window
- Click Reload Group
- Review the updated aggregated result set
You can navigate from an aggregated object back into SSMS Object Explorer.
What it does:
- double-clicking an object attempts to locate it
- object context menu includes Locate
- useful when the aggregated tree is used as a finder, not just a report
UI example:
- Expand a group
- Open
Stored Procedures - Double-click
dbo.uspGetCustomer
Expected result:
- SSMS opens or focuses Object Explorer
- the add-on attempts to scroll to the matching object node
A source can target SSIS-related objects by using SSIS as the database name.
What it does:
- loads SQL Agent Jobs from
msdb - loads SSIS Packages from
SSISDB - shows them in the same aggregated tree as database objects
Example source:
SQLETL01 / SSIS
Example result:
SQLETL01 / SSISSQL Agent JobsNightly Customer Import
SSIS PackagesLoadCustomers.dtsx
This is useful for operational or ETL-focused groups.
Group definitions are stored automatically.
What it does:
- no separate export step is required for normal use
- groups are reloaded when the tool window is opened again
Storage location:
%AppData%\SSMS.ObjectAggregator\groups.json
Goal: find all customer-related objects in Dev, QA, and Prod.
- Open Tools > Object Aggregator
- Add group
Customer Objects - Add instances:
SQLDEV01 / SalesDbSQLQA01 / SalesDbSQLPROD01 / SalesDb
- For each instance, add filters:
- Schema:
dbo, Object:Customer* - Schema:
dbo, Object:usp*Customer*
- Schema:
- Expand the group or click Reload Group
- Use the quick search box with
cust - Double-click an object to locate it in Object Explorer
Goal: see jobs and packages for one integration server.
- Add group
ETL Review - Add instance
SQLETL01 / SSIS - Add filters such as:
- Schema:
Finance, Object:Load* - Schema: blank, Object:
Nightly*
- Schema:
- Reload the group
- Browse:
SQL Agent JobsSSIS Packages
SSMS Object Aggregator turns SSMS 22 into a lightweight cross-instance object browser.
It is most useful when you need to:
- aggregate object lists from multiple servers or databases
- keep reusable search definitions
- filter by schema and object naming patterns
- quickly narrow results in the UI
- jump back into Object Explorer for the selected object
- include SQL Agent and SSIS assets in the same workflow