当使用 AOHA 集群的 SQL Server 代理调度作业时,是否像您将服务器分开一样使用主目标配置?或者是否有更好的方法将作业分发到所有服务器,以便在主服务器出现故障时其中一个副本可以获取它们?
我们在属于 AlwaysON AG 的所有实例中创建作业(并同步它们)。
您应该在作业中添加一个额外的逻辑来检查实例是否为主实例,然后仅运行该作业。伪代码如下所示:
-- http://dba.stackexchange.com/a/45152/8783
if (select
ars.role_desc
from sys.dm_hadr_availability_replica_states ars
inner join sys.availability_groups ag
on ars.group_id = ag.group_id
where ag.name = 'YourAvailabilityGroupName'
and ars.is_local = 1) = 'PRIMARY'
begin
-- this server is the primary replica, do something here
end
else
begin
-- this server is not the primary replica, (optional) do something here
end
Run Code Online (Sandbox Code Playgroud)
要同步登录、作业等,您可以使用PowerShell或SQLSkills 中的此实用程序 (不确定它是否适用于 2014 年!)。
| 归档时间: |
|
| 查看次数: |
2887 次 |
| 最近记录: |