Sql-Server-2008

應該為中央管理伺服器打開哪些防火牆埠

  • September 28, 2020

在我的環境中,我們目前有一個 MSSQL 安裝,它作為多伺服器代理環境(MSX) 中的主伺服器。由於此伺服器位於受嚴格控制的網路中,因此尚未打開 MSX 功能所需的埠。

如圖所示,當我嘗試將目標 (TSX) 登記到主 (MSX) 時,我收到一個錯誤,即 RFC 伺服器不可用,我也無法將多伺服器作業部署到目標。

我應該請求從目標到主伺服器打開哪些埠,反之亦然?

在此處輸入圖像描述

當您嘗試將目標 (TSX) 登記到主 (MSX) 時,失敗的步驟是“確保 ‘{MSX Server}’ 的代理服務正在執行”。此步驟僅檢查 SQL Server 代理是否在 MSX 伺服器上執行。

您可以改為嘗試使用msdb.dbo.sp_msx_enlist在此處記錄),它在 TSX 上執行以將其加入 MSX。這可能會提供更有用的錯誤消息,甚至可能會成功。

如果成功,您可以msdb.dbo.systargetservers在 MSX 上查詢以確認伺服器已成功註冊,並且正在輪詢下載指令。接下來,您可以輪詢msdb.dbo.sysdownloadlist以查看這些指令,並查看 TSX 是否正確使用它們。有一error_message列應包含下載錯誤。請注意,此處記錄的錯誤取決於 TSX 是否成功連接到 MSX,因此您的 TSX 需要能夠連接到 MSX 的 DB 引擎埠(預設為 1433)才能寫入錯誤消息。

您可能想要打開以下埠:

  1. “目標”伺服器正在偵聽的 TCP 埠,您可以在目標伺服器上檢查:select * from sys.dm_tcp_listener_states
  2. 對於添加,它使用 RPC(遠端過程呼叫):打開埠:TCP 和 UDP:139
  3. 如果您想使用 SMB 進行備份(可以但不喜歡):TCP 和 UDP:445
  4. 檢查目標上實例 sql 代理的註冊鍵是否設置為 0 鍵以檢查: HKLM\Software\Microsoft\Microsoft SQL Server\ Your instance\SQLServerAgent\MsxEncryptChannelOptions
  5. 如果您的目標版本高於 MSX,請在添加之前在主 MSX 上創建目標的服務帳戶使用者。檢查方式:select * from sys.dm_server_services在目標伺服器上。授予在主 MSX 上的 MSDB 中找到的服務帳戶角色 memberschip“targetserverrole”。

引用自:https://dba.stackexchange.com/questions/251100