ITPub博客

首页 > 数据库 > SQL Server > 删除alwayson主节点一个表的统计信息导致一个辅助节点的同步延迟

删除alwayson主节点一个表的统计信息导致一个辅助节点的同步延迟

原创 SQL Server 作者:ywxj_001 时间:2017-11-02 15:48:49 0 删除 编辑
环境:
sqlserver2014 alwayson架构
一个辅助节点丢失统计信息。
用户在客户端通过链接服务器查询一个辅助节点的表的信息。
select * from [10.0.0.100].[hr].table1
报错:

查询到辅助节点10.0.0.100上面的这个table1表的统计信息_WA_Sys_00000091_28B9D11F里面的信息丢失。

处理办法:
去主节点drop这个表的统计信息。
drop statistics dbo.table1._WA_Sys_00000091_28B9D11F

drop完成后,再在客户端通过链接服务器查询这个辅助节点上这个表table1就正常了。

但是却导致另外一个辅助节点在查询这个表的SQL出现了
LCK_M_SCH_S的wait_type
这句SQL也是在查询table1表。

另外也导致一个事务在这个辅助节点一直没有完成。

而alwayson的同步也出现了问题:


从时间点来看:
进行drop主节点那个表的统计信息、发生SQL的LCK_M_SCH_S的wait_type、事务一直没有释放、alwayson同步不正常。
在这期间table1表产生了很多的阻塞。
导致问题是,在出现同步问题的这个辅助节点的查询数据和主节点出现不一致问题。

最后没有采取什么办法,到了15点后,那个事务自己释放后同步自动恢复了。
因为这个时间table1表有很多的死锁,判断是deadlock的发生释放了这个事务,恢复了同步。 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22996654/viewspace-2146738/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
在零售、金融、互联网行业从事数据库相关工作10余年,有丰富的数据库管理和架构的相关经验。 涉及SQLServer、Oracle、MySQL、PostgreSQL等多种数据库。 目前在一家互联网公司担任DBA经理。 负责整个集团数据库的架构设计和管理工作。

注册时间:2010-01-19

  • 博文量
    247
  • 访问量
    436205