首页 > 数据库技术 > 详细

SQL SERVER 复制订阅报错查询命令

时间:2021-08-29 22:17:21      阅读:19      评论:0      收藏:0      [点我收藏+]

Sql Server

已搭建的Always On 高可用性组,查询该组上复制订阅的报错记录,在分发数据库上执行如下sql,可以查询到当前分发数据库下的所有报错记录,命令:

select * from 数据库名
--where time> convert(datetime,‘2021-08-24‘)
order by 2 desc

查到的报错各种各样,错误的详情都在字段error_text上,举个例子,如果查询到是哪个表上出了问题,如下图所示:

技术分享图片

查找到底是哪个复制订阅,哪个数据库的表报错,可以先查询表在哪个发布库上,此处分发和发布库都是一个服务器,如下查询某个数据库所有表中,是否含有某个表,命令:

select * from sys.sysobjects where name = 表名

在发布数据库上查询系统视图内,某个表对应的pubid字段信息,dest_table为发布要写入的目标表,该命令只能查询到当前库下的信息,若服务器上有多个库,需要切换数据库查询,命令:

select * from sysarticles where dest_table = 表名

根据上一步查询到的pubid,再在syspublications系统表中查询,对应的复制订阅名称,命令如下:

select * from syspublications where pubid in (2,5,12,34,35,70)

这样就可以查到是报错的是那个复制订阅啦~

 

SQL SERVER 复制订阅报错查询命令

原文:https://www.cnblogs.com/bananasql/p/15194760.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!