同時對多部伺服器執行指令
適用於:SQL Server
Azure SQL Database
Azure SQL 受控實例
Azure Synapse Analytics
Analytics 平台系統 (PDW)
本文說明如何在 SQL Server 中同時查詢多部伺服器,方法是建立本地伺服器群組、中央管理伺服器和一或多個伺服器群組,以及在群組內查詢一或多個已註冊的伺服器,然後查詢完整的群組。
查詢傳回的結果可以合併成單一結果窗格,也可以在不同的結果窗格中傳回。 結果集可以包含用於伺服器名稱的額外欄位,以及查詢在每個伺服器上所使用的登入。 中央管理伺服器和次級伺服器只能使用 Windows 驗證來註冊。 您可以使用 Windows 驗證或 SQL Server 驗證來註冊本地伺服器群組中的伺服器。
執行下列程式之前,請先建立中央管理伺服器和伺服器群組。 如需詳細資訊,請參閱 建立中央管理伺服器和伺服器群組 (SQL Server Management Studio)。
權限
由於中央管理伺服器維持的連接是在使用者的環境下執行,因此在使用 Windows 驗證時,已註冊伺服器上的有效權限可能會有所不同。 例如,使用者可能是 SQL Server A 實例上 系統管理員 固定伺服器角色的成員,但 SQL Server B 實例的許可權有限。
針對多個設定目標同時執行陳述式
在 SQL Server Management Studio 的 [檢視] 功能表上,選取 [註冊的伺服器]。
展開中央管理伺服器,右鍵點選伺服器群組,指向 [Connect],然後選取 [New Query]。
在 [查詢編輯器] 中,輸入並執行 Transact-SQL 語句,如下所示:
USE master GO SELECT * FROM sys.databases; GO
根據預設,結果窗格會結合伺服器群組中所有伺服器的查詢結果。
變更多伺服器結果選項
在 Management Studio 的 [工具] 選單上,選取 [[選項]。
展開 [查詢結果]、展開 [SQL Server],然後選取 [多重伺服器結果]。
在 [多伺服器結果] 頁面上,指定您想要的選項設定,然後選取 [[確定]。