能否不使用SSMS、不用链接服务器,通过连接字符串查询CMS服务器列表?
如何在SSMS外部查询中央管理服务器(CMS)的注册列表
你不需要特殊的CMS专属连接字符串,直接连接到中央管理服务器本身,通过查询其msdb数据库里的系统视图就能获取所有注册服务器和组的信息。
具体步骤:
使用常规SQL Server连接字符串连接CMS服务器
连接字符串格式和普通SQL Server连接一致,示例:- Windows身份验证:
Server=你的CMS服务器名或IP;Database=msdb;Integrated Security=True; - SQL Server身份验证:
Server=你的CMS服务器名或IP;Database=msdb;User ID=你的账号;Password=你的密码;
- Windows身份验证:
执行查询语句获取CMS列表
运行以下SQL语句就能获取所有注册服务器及其所属组的详细信息:SELECT 服务器组名称 = g.name, 注册服务器名称 = rs.name, 服务器地址 = rs.server_name, 描述 = rs.description FROM msdb.dbo.sysmanagement_shared_registered_servers rs LEFT JOIN msdb.dbo.sysmanagement_shared_server_groups g ON rs.server_group_id = g.server_group_id ORDER BY g.name, rs.name;
权限说明
你需要拥有CMS服务器msdb数据库的访问权限,至少是sysmanagement_shared_server_groups_reader和sysmanagement_shared_registered_servers_reader数据库角色的成员,才能读取这些系统视图的数据。
内容的提问来源于stack exchange,提问作者Jurm
相关产品推荐
相关产品推荐

