可用性组如何处理计划作业和 SSIS 包?

Joh*_*ohn 8 sql-server sql-server-2012 sql-server-agent availability-groups

我在 AlwaysOn 可用性组中设置了 2 个 SQL Server。

我还设置了针对数据库运行的作业。在故障转移期间,我如何确保作业将继续在辅助服务器上运行?我是否需要在两台机器上安装作业和 SSIS 包并在辅助机器上手动禁用它们...然后在故障转移的情况下手动启用它们?或者是否有内置功能来处理这个问题?

Tho*_*ger 4

是的,您将需要在您希望这些特定作业运行的任何其他副本上创建作业(如果它们是主副本)。

您需要为每个 SQL Server 代理作业是否/何时运行创建自己的逻辑。例如,您是否希望仅在当前实例是特定可用性组的主副本时运行作业?您需要将其融入到您的工作中。它无法自动覆盖,因为这会剥夺 AlwaysOn AG 的灵活性。您是否希望在辅助副本上禁用它们完全取决于您、这些作业的作用以及您希望它们如何/何时/是否运行。

请记住,辅助副本服务器不仅仅是等待故障转移的备用服务器。它可以是一个功能齐全、可访问的服务器。正因为如此,让每一份工作都闲置将是一个巨大的障碍。

所以,是的,您需要将我们的作业推送到其他副本,并使用一些逻辑来确定作业启动时是否应该继续执行。

例如,备份作业可以通过确定当前副本是否是特定数据库的首选副本来利用sys.fn_hadr_backup_is_preferred_replica函数。这将得出您如何为备份首选项设置可用性组。