同时对多个服务器执行指令

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics 平台系统(PDW)

本文介绍如何在 SQL Server 中同时查询多个服务器,方法是创建本地服务器组、中央管理服务器和一个或多个服务器组,以及组中的一个或多个已注册服务器,然后查询整个组。

查询返回的结果可以合并到单个结果窗格中,也可以在单独的结果窗格中返回。 结果集可以包括用于查询每个服务器的服务器名称和登录名的额外列。 中央管理服务器和从属服务器只能使用 Windows 身份验证进行注册。 可以使用 Windows 身份验证或 SQL Server 身份验证注册本地服务器组中的服务器。

在执行以下过程之前,请创建中央管理服务器和服务器组。 有关详细信息,请参阅 创建中央管理服务器和服务器组(SQL Server Management Studio)

权限

由于中央管理服务器维护的连接在用户的上下文中执行,通过使用 Windows 身份验证,已注册服务器上的有效权限可能会有所不同。 例如,用户可能是 SQL Server A 实例上的 sysadmin 固定服务器角色的成员,但对 SQL Server B 实例的权限有限。

同时对多个配置目标执行指令

  1. 在 SQL Server Management Studio 的“视图” 菜单中,选择 已注册的服务器

  2. 展开中央管理服务器,右键单击服务器组,指向 连接,然后选择“新建查询”

  3. 在查询编辑器中,键入并执行 Transact-SQL 语句,例如:

    USE master
    GO
    SELECT * FROM sys.databases;
    GO
    

    默认情况下,结果窗格将合并服务器组中所有服务器的查询结果。

更改多服务器结果选项

  1. 在 Management Studio 的 工具 菜单上,选择 选项

  2. 展开 查询结果,展开 SQL Server,然后选择 多服务器结果

  3. 多服务器结果 页上,指定所需的选项设置,然后选择 “确定”

另请参阅