MSSQLSERVER 服务意外终止,事件ID 19019故障分析、处理


         早上上班开发反馈用于bi系统的sql server 数据库连不上,应用全挂了,zabbix 监控也在预警。

     看监控晚上4点05分sql server 服务已经停止了,于是立马登陆服务器开启sql server 服务,恢复应用要紧。服务、应用恢复正常后,需要找出数据库服务停止的原因。

     首先检查windows 服务器log,发现报错如下:

       接着查看sql server log ,发现报错如下:

     结合报错log,怀疑和 oracle 有关,sql server 上有建立linked server 指向oracle 报表数据库,用于定时job 同步数据到sql server 中bi 系统展现使用。

    查看 用于数据同步的job log,该job 每2分钟执行一次,4点钟的时候执行有中断


      怀疑是bug,搜索微软网站,找到如下说明:


  

       用于数据同步的存储过程sql中确实有--特殊字符 ,看起来微软也没有提供修复此bug的补丁,只能宣导开发在有linked server 的查询中避免使用--特殊符号以免触发bug 导致sql server 服务崩溃。