同时对多个服务器执行语句

适用于SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (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. 在“多服务器结果”页上,指定所需的选项设置,然后选择“确定”。

另请参阅