You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从故障转移组获取主/次SQL Server名称?C#代码及更新疑问

故障转移组数据库迁移相关问题解答

问题1:如何从故障转移组中获取主、次SQL Server的名称?C#代码示例

可以通过Azure SQL Management SDK的FailoverGroups.GetAsync方法获取故障转移组详情,其中ReadWriteEndpoint对应主服务器,ReadOnlyEndpoint对应次服务器。代码示例如下:

using Azure.ResourceManager.Sql;
using Azure.ResourceManager.Sql.Models;

// 初始化SqlManagementClient(需提前完成Azure认证配置)
SqlManagementClient client = new SqlManagementClient(credential, subscriptionId);

// 获取指定故障转移组信息
var failoverGroup = await client.FailoverGroups.GetAsync(
    resourceGroupName: "your-resource-group",
    serverName: "primary-server-name",
    failoverGroupName: "your-failover-group-name");

// 提取主、次服务器名称
string primaryServerName = failoverGroup.Properties.ReadWriteEndpoint.ServerName;
string secondaryServerName = failoverGroup.Properties.ReadOnlyEndpoint.ServerName;

问题2:调用FailoverGroups的UpdateAsync方法时,第二个参数是否为主服务器名称?

是的,UpdateAsync的第二个参数serverName指的是故障转移组所属的主SQL Server名称。故障转移组配置依附于主服务器存在,所有针对它的更新操作都需要指定主服务器作为目标。你提供的代码示例中,"servername"位置就需要填写当前故障转移组的主服务器名称。

问题3:是否需要单独更新次服务器,还是会通过复制自动完成?

不需要单独更新次服务器。调用UpdateAsync修改故障转移组的数据库列表后,Azure会自动将新增数据库同步复制到次服务器,并更新故障转移组的复制配置,整个过程完全自动化,无需手动操作次服务器。

你提供的代码示例格式化后:

await client.FailoverGroups
            .UpdateAsync("resourcegroupname", "servername", "newfailovername", 
                         new FailoverGroupUpdate() { Databases = databases});

内容的提问来源于stack exchange,提问作者Code_Vishal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 06:04:54