You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置WITNESS断连时发送SQL告警的定时作业

SQL Server镜像见证节点断开巡检作业配置方案

改造检测脚本

你原有查询可以直接调整为带告警触发逻辑的T-SQL脚本,只筛选见证节点断开的记录,存在异常时直接触发邮件告警,参考脚本如下:

DECLARE @ExceptionCount INT
DECLARE @AlertContent NVARCHAR(MAX)

-- 临时表存储异常记录
SELECT 
    d.name AS DatabaseName,
    d.database_id,
    m.mirroring_role_desc,
    m.mirroring_state_desc,
    m.mirroring_safety_level_desc, 
    m.mirroring_partner_name,
    m.mirroring_partner_instance,
    m.mirroring_witness_name,
    m.mirroring_witness_state_desc
INTO #DisconnectedWitnessExceptions
FROM sys.database_mirroring m 
INNER JOIN sys.databases d ON m.database_id = d.database_id
WHERE m.mirroring_state_desc IS NOT NULL
AND m.mirroring_witness_state_desc = 'DISCONNECTED'

SELECT @ExceptionCount = COUNT(*) FROM #DisconnectedWitnessExceptions

-- 存在异常时拼接告警内容并发信
IF @ExceptionCount > 0
BEGIN
    SET @AlertContent = N'告警:检测到数据库镜像见证节点连接断开,涉及数据库信息:' + CHAR(13) + CHAR(10)
    SELECT @AlertContent = @AlertContent + 
        N'数据库:' + DatabaseName + 
        N' | 见证节点地址:' + mirroring_witness_name + 
        N' | 连接状态:' + mirroring_witness_state_desc + CHAR(13) + CHAR(10)
    FROM #DisconnectedWitnessExceptions

    -- 需提前配置好数据库邮件功能,替换下方参数为实际环境值
    EXEC msdb.dbo.sp_send_dbmail
        @profile_name = '实际环境的数据库邮件配置名',
        @recipients = '告警接收邮箱列表,多个邮箱用分号分隔',
        @subject = N'【数据库告警】镜像见证节点连接断开',
        @body = @AlertContent
END

DROP TABLE #DisconnectedWitnessExceptions

配置定时作业

直接用SQL Server代理实现定时巡检,步骤如下:

  • 打开SSMS连接到目标实例,展开「SQL Server代理」节点,右键「作业」选择「新建作业」,填写作业名称比如「数据库镜像见证状态巡检」
  • 切换到「步骤」页,新建作业步骤:步骤类型选择Transact-SQL(T-SQL),运行数据库选择master,把上面调整好的脚本粘贴到命令框,保存步骤
  • 切换到「调度」页,新建调度:调度类型选「重复执行」,频率设置为每天,按你的需求设置每隔2-4小时执行一次,执行时间范围覆盖全天即可
  • 可选配置:切换到「通知」页,设置作业执行失败时额外通知DBA,避免脚本本身异常导致巡检失效

配置验证和注意事项

  • 配置前先确认实例已经开启Database Mail功能,测试邮件收发正常,否则告警无法送达
  • 作业运行的代理账号需要有系统视图查询权限、sp_send_dbmail存储过程的执行权限
  • 首次配置完成后可以手动执行一次作业:临时把脚本里的判断条件改成mirroring_witness_state_desc = 'CONNECTED'测试告警链路是否正常,验证完成后改回原判断条件即可
  • 建议设置作业历史记录保留至少30天,方便后续回溯故障发生的时间点和频率

内容的提问来源于stack exchange,提问作者b0redj0rd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 19:24:22