SQL Server AlwaysOn创建代理作业的注意事项详解
在SQL Server AlwaysOn部署中,代理作业是用于启动或者取消本地 Availability Group 的 failover 自动化步骤的系统代理任务。本文将详细介绍如何为SQL Server AlwaysOn 配置代理作业,以及需要特别注意的事项和示例。
创建代理作业
在SQL Server Management Studio上,打开 SQL Server代理,右键选择代理作业,单击“新建作业”以打开该作业的属性页面。
在代理作业属性页面上执行以下步骤:
1.在“常规”标签页面输入代理作业名称和描述。
2.在“步骤”标签页面,输入您要使用的 T-SQL 脚本,语句 格式如下:
-- 启动Availability Group
ALTER AVAILABILITY GROUP [ag_group_name]
SET (AUTOMATED_BACKUP_PREFERENCE = PRIMARY) WITH NO_WAIT;
-- 取消Availability Group
ALTER AVAILABILITY GROUP [ag_group_name]
SET (AUTOMATED_BACKUP_PREFERENCE = SECONDARY_ONLY) WITH NO_WAIT;
3.在“计划”标签页面,选择要执行此代理作业任务的时间。
4.在“警报”标签页面,选择任务执行后要向哪些人和组发送通知警报。
5.在“通知”标签页面,指定初始通知和结束通知。
6.保存代理作业。
例如,要创建名为“my_ag_failover”的代理作业,请按照以下步骤操作:
-
在 SQL Server Management Studio 的“SQL Server 代理”下右键单击代理作业,然后选择“新建作业”。
-
在“常规”标签页面上,输入“my_ag_failover”作业名称和描述。
-
在“步骤”标签页面上,输入以下 T-SQL 语句:
-- 启动Availability Group
ALTER AVAILABILITY GROUP [ag_group_name]
SET (AUTOMATED_BACKUP_PREFERENCE = PRIMARY) WITH NO_WAIT;
-- 取消Availability Group
ALTER AVAILABILITY GROUP [ag_group_name]
SET (AUTOMATED_BACKUP_PREFERENCE = SECONDARY_ONLY) WITH NO_WAIT;
-
在“计划”标签页面上,选择要执行此代理作业任务的时间。
-
在“警报”标签页面上,选择任务执行后要向哪些人和组发送通知警报。
-
在“通知”标签页面上,指定初始通知和结束通知。
-
单击“确定”以保存作业。
备注事项
以下是在为 SQL Server AlwaysOn 配置代理作业时需要特别注意的事项:
-
启动或取消代理作业时,应确保已在所有关联的辅助站点上配置了代理作业。否则,可能会在故障转移后导致复制出现延迟或数据冲突。
-
在配置代理作业时,请注意必须使用SQL Server 代理身份验证登录来运行SQL Server代理。
-
在配置代理作业时,请注意必须使用SQL Server AlwaysOn 所使用的服务帐户来配置代理身份验证。
-
在代理作业执行强制故障转移之前,请确保日志备份策略已设置并已执行最近的日志备份。
-
当出现故障转移时,应当及时测试代理作业,确保其正确工作。
示例
以下示例演示了如何启动已配置在AlwaysOn可用性组中的代理作业:
-- 启动 Availability Group 代理作业
USE msdb;
EXECUTE dbo.sp_start_job 'my_ag_failover';
以下示例演示如何取消已配置在 AlwaysOn 可用性组中的代理作业:
-- 取消 Availability Group 代理作业
USE msdb;
EXECUTE dbo.sp_stop_job 'my_ag_failover';
结论
通过配置代理作业,可以轻松完成 SQL Server AlwaysOn 部署的自动化操作。此外,还要意识到代理作业的强制故障转移与日志备份策略和管理相关。在配置代理作业时,请仔细阅读所要求的文档,并执行相应的测试以确保系统的正确性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SQL Server Alwayson创建代理作业的注意事项详解 - Python技术站