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来连接。
可以测试一下故障转移,一切都是成功的。