You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

带SQL Server镜像的Alarm DB Logger(Intouch)配置咨询

刚好做过类似的Intouch SCADA + SQL Server镜像的告警日志配置,给你整理了一套适配方案,一步步来就行:

一、先搞定SQL Server镜像侧的前置准备
  • 首先得确保你的主备两台SQL Server镜像已经搭建完成,最好配上见证服务器实现自动故障转移(要是暂时没弄见证,手动切换也能行,但自动切换更省心)。
  • 在主库上提前创建好Alarm DB Logger要用的告警数据库(比如命名为Intouch_Alarm_DB),并且确认这个数据库已经成功同步到镜像库,镜像库状态显示“已同步”才算达标。
  • 给Alarm DB Logger创建一个专用的SQL登录账号,授予该账号对告警数据库的读写权限,注意主库和镜像库都得存在这个账号,且权限完全一致,避免故障切换后出现权限问题。
二、Alarm DB Logger 核心配置调整

2.1 修改数据库连接字符串(关键)

Alarm DB Logger默认的连接字符串只能指向单一数据库实例,要适配镜像架构,必须改成支持故障转移的格式,让Logger在主库故障时自动切换到镜像库:

Data Source=你的主库实例名称;Failover Partner=你的镜像库实例名称;Initial Catalog=Intouch_Alarm_DB;User ID=专用登录账号;Password=账号密码;

要是用Windows身份验证的话,就去掉User IDPassword,换成Integrated Security=SSPI;即可。

2.2 优化Logger的故障恢复参数

  • 在Intouch的Alarm DB Logger配置界面,把上述连接字符串填入数据库连接设置中,先测试主库和镜像库的连通性,确保两边都能正常连接。
  • 开启Logger的自动重连机制:找到配置里的“重试设置”,设置合理的重试间隔(比如30秒),重试次数建议设为无限重试,这样主库故障切换后,Logger能自动重新连接到新的主库(原镜像库)。
  • 如果Logger有“单实例锁定”的选项,建议关闭它,避免故障转移后Logger无法启动新的连接实例。
三、适配带分发器的镜像架构

针对你提到的两台SQL Server都带分发器的配置,还要注意这几点:

  • 确保分发数据库也纳入了镜像架构,或者给分发器配置高可用(比如让分发器和主库部署在同一节点,镜像库作为备用分发器)。
  • Alarm DB Logger的写入目标要指向主库的分发数据库,不要直接写镜像库——因为镜像库默认是只读状态,只有主库故障切换后才会变为可写。
  • 当主库故障切换到镜像库后,需要手动(或写个自动化脚本)更新分发器的指向,确保Logger的写入路径切换到新的主库(原镜像库)。
四、最后做个验证测试
  • 配置SQL Server的镜像状态监控,确保主备切换时能及时收到告警通知。
  • 模拟一次主库故障(比如暂停主库服务),验证Alarm DB Logger是否能自动切换到镜像库,并且告警数据能正常写入。
  • 切换完成后,检查Logger的运行日志和数据库数据,确认没有数据丢失或写入失败的情况。

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

火山引擎 最新活动