Skip to main content

SQL Server Always On AG(WSFC)配置指南(12) - Azure上选择DNN配置方案

分类:  SQL Server 标签:  #SQL Server #SQL Server Always on AG 发布于: 2026-03-16 19:09:08

我们之前的文档详细描述了本地和Azure配置有什么不同,也详细的学习了Azure 单子网 + VNN + AG Listener的例子,我们今天再来学习Azure上的另外一个方案: 基于DNN配置, 这个方案不再需要创建AG Listener了。

什么是DNN?

DNN == Distributed Network Name

最重要的一点是:它不是Azure的资源,它是Windows Server Failover cluster的资源。

我们先来简单的分享它的创建步骤:

登录到AG集群的Primary节点上,以域管理员的身份打开终端:

Get-ClusterGroup

返回结果:

PS C:\Users\ghw.HONG> Get-ClusterGroup

Name              OwnerNode State
----              --------- -----
Available Storage dbserver2 Offline
Cluster Group     dbserver2 Online
testdb4-ag        dbserver2 Online

观察到testdb4-ag就是我们的AG group了。

创建DNN

Add-ClusterResource -Name "testdb4-dnn" -ResourceType "Distributed Network Name" -Group "testdb4-ag"

DNN的名字就是testdb4-dnn, 类型一定要是 "Distributed Network Name", 而且指定到组testdb4-ag

DNN分配DNS域名:

Get-ClusterResource "testdb4-dnn" | Set-ClusterParameter -Name DnsName -Value "mytestdnn1"

需要注意的是mytestdnn1就是和dnn匹配的主机名,FQDN全称是:mytestdnn1.hong.cn, 这里的hong.cn是我的域。

启动dnn:

Start-ClusterResource "testdb4-dnn"

到这里DNN就创建并启动起来了。

但是并没有完全配置好。

DNN配置域名和地址

我们需要DNS管理员在DNS这一侧为域名mytestdnn1.hong.cn 配置解析,解析的IP地址必须是所有的SQL节点的ip, 例如:


这样应用连接AG 都需要通过域名mytestdnn1.hong.cn + 端口1433来连接。

可以测试一下故障转移,一切都是成功的。