将新节点添加到 SQL Server 2012 故障转移群集时出现问题

mKo*_*bel 5 sql-server clustering sql-server-2012 failover

  • 我尝试向 SQL Server(2012 标准)故障转移添加一个新节点,该节点已安装在 Windows2012 故障转移群集的另一个节点上
  • 我在输入 SQL Server 代理帐户名称时遇到不可编辑字段的问题
  • 可能有与 SQL Server 数据库引擎 (ei) 相同的 AD 名称
  • 我的帐户访问权限没有 AD 管理员权限
  • 父节点上 SQL Server Agent 的访问、帐户和设置是可访问和可设置的

在此处输入图片说明

Tho*_*ger 1

根据您在问题中的评论,您需要做的有两件事:

  1. 添加 SQL Server 代理作为群集资源类型
  2. 将 SQL Server 代理群集资源添加到故障转移群集资源组

第一步,一种方法是通过 PowerShell(利用 FailoverClusters 模块):

Import-Module -Name FailoverClusters

$ClusterName = "YourClusterName"
$FciClusterGroupName = "SQL Server (MSSQLSERVER)" # may need to modify to reflect your environment

# check to see if you have the SQL Server Agent cluster resource type
Get-Cluster -Name $ClusterName |
    Get-ClusterResourceType |
    Where-Object {$_.Name -eq "SQL Server Agent"}

# if not, add it
Add-ClusterResourceType -Name "SQL Server Agent" -Dll "sqagtres.dll"
Run Code Online (Sandbox Code Playgroud)

单独执行每个代码块,而不是一次全部执行。在盲目尝试添加集群资源类型之前,您将能够确认该集群资源类型是否存在。

然后,对于第二步,您需要执行以下操作,将 SQL Server 代理添加为故障转移群集资源组中的资源:

  1. 右键单击故障转移集群管理器中的 FCI 资源组
  2. 选择“添加资源”并选择 SQL Server 代理资源类型
  3. 将新群集资源重命名为“SQL Server 代理”
  4. 进入新的 SQL Server 代理资源属性并设置虚拟网络名称和实例名称属性
  5. 在依赖项选项卡上,将 SQL Server 设置为其依赖资源

您可能需要进入注册表中的以下位置并确保这些键(一个包含字符串“AGENT”,另一个包含“SQL_ENGINE”)设置为 1(这是记录正确安装内容的位置。1 表示正确安装):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\YOURINSTANCE\ConfigurationState
Run Code Online (Sandbox Code Playgroud)

应该会让您现在可以安装附加节点并显示 SQL Server 代理服务帐户。当然,在开始之前请确保您已退出(尤其是注册表编辑)。