我们都知道在Exchange 2010以后,微软提供了一个脚本RedistributeActiveDatabases.ps1能够自动平衡DB副本到其他DAG节点上。脚本RedistributeActiveDatabases.ps1通过判定数据库的ActivationPreference为1的节点,将ActivationPreference为1的数据库激活在该节点上。

        在Exchange 2010/2013中操作该脚本的方式是:

1、打开Exchange Powersehll,进入到Scripts目录下:   cd $exscripts

2、然后运行脚本执行如下命令:

RedistributeActiveDatabases.ps1 -DagName DAG01 -BalanceDbsByActivationPreference -ShowFinalDatabaseDistribution -Confirm:$False

p_w_picpath

 

      在Exchange 2016 CU2以后,微软加入了一个新功能,就是执行周期性自动平衡DAG数据库副本到各个节点,在DAG属性中PreferenceMoveFrequency默认是开启的,开启后由Microsoft Exchange Replication service来判断DAG节点的健康状态,如果节点是健康的,会将数据库分布激活到该节点;这样的周期性操作是每个一小时就会检查一次,相当于Exchange  2016 CU2以后自动添加了一个计划任务每小时运行一次RedistributeActiveDatabases.ps1 脚本。(仍然是通过判定ActivationPreference的属性值来觉得优先激活到哪个节点上)

如果要关闭此功能可以使用命令:Set-DatabaseAvailabilityGroup <Name> –PreferenceMoveFrequency [System.Threading.Timeout]::InfiniteTimeSpan

具体可以参考:https://blogs.technet.microsoft.com/exchange/2016/06/16/dag-activation-preference-behavior-change-in-exchange-server-2016-cu2/