SQL Server Central Management Servers System Tables


By:   |   Updated: 2011-05-23   |   Comments (4)   |   Related: 1 | 2 | 3 | 4 | More > Central Management Servers

Problem

I have SQL Server Central Management Servers setup in my environment. How can I get a list of the registered servers and their associated properties? Are there any queries I can issue? Check out this tip to learn more.

Solution

Sometimes we came across a situation where we need to query the SQL Server Central Management Servers to get the list of the registered servers and groups. You can query the two MSDB system tables below to get a list of the registered servers and their groups.

  • msdb.dbo.sysmanagement_shared_registered_servers_internal
  • msdb.dbo.sysmanagement_shared_server_groups_internal

We can use these system tables for the following:

  • Find out the list of registered servers and their groups
  • Find out servers which are registered twice in different folders
  • Compare the query result to check out the servers registered in an incorrect group or decommissioned servers

Query to list server groups and types

USE msdb;
GO
/* Query to list out Server Groups and Types */
SELECT *
FROM msdb.dbo.sysmanagement_shared_server_groups_internal;
GO

query the sql server cms to get a list of  servers and groups


Query to list the registered servers

USE msdb ;
GO
/* Query to list out the registered servers */
SELECT * 
FROM msdb.dbo.sysmanagement_shared_registered_servers_internal;
GO

query to the list of registered servers


Query to list the server and groups

/* Servers and groups */
SELECT DISTINCT groups.name AS 'Server Group Name'
     ,svr.server_name AS 'Server Name'
FROM msdb.dbo.sysmanagement_shared_server_groups_internal groups 
INNER JOIN msdb.dbo.sysmanagement_shared_registered_servers_internal svr
 ON groups.server_group_id = svr.server_group_id;
GO

use queries from sql server cms


Next Steps


Last Updated: 2011-05-23


get scripts

next tip button



About the author





Comments For This Article




Friday, March 10, 2017 - 8:37:20 AM - Greg Robidoux Back To Top (47743)

Thanks James.  The code has been updated.


Thursday, March 09, 2017 - 6:09:37 PM - James Back To Top (47700)

Sir;

You have a typo in "Query to list the registered servers"

FROM msdb.dbo.sysmanagement_shared_registered_servers_intrnal;  <-- should be internal


Tuesday, May 24, 2011 - 1:38:51 AM - Jugal Back To Top (13899)

Hi Abhi,

CMS is SQL Server 2008 feature. You can register the lower SQL Server version in CMS, but you must need atleast 1 SQL Server 2008 instance. That's why you are not able to in lower versions.

You can query it in SQL Server 2008 only.

Thanks,

Jugal SHah

 

 


Monday, May 23, 2011 - 1:32:07 PM - Abhi Back To Top (13893)

Hi Jugal,

Thanks for this tip, but its working only in SQL 2008.

what about 2005 sql server?

 

Thanks in advance,

Abhi



download


Recommended Reading

Execute SQL Server query on multiple servers at the same time

Run SQL Commands Against Multiple SQL Servers Without CMS

SQL Server Central Management Server Security





get free sql tips
agree to terms


Learn more about SQL Server tools