我想编写一个 sql 脚本来进行基本的冒烟测试,以检查我服务器上的复制设置是否正确。
我认为针对应该复制的表的一组简单的 CRUD 操作将实现我所追求的,我想工作流程将如下所示:
INSERT
发布者数据库中复制表中的一行- 等待复制作业运行?
- 检查订户数据库中的表中是否存在该行
我的问题是,我该怎么做第 2 步?我想我可以通过查看msdb..sysjob*
表格来检查相关作业的最后执行时间,但我不确定这是解决问题的最佳方法。
我想编写一个 sql 脚本来进行基本的冒烟测试,以检查我服务器上的复制设置是否正确。
我认为针对应该复制的表的一组简单的 CRUD 操作将实现我所追求的,我想工作流程将如下所示:
INSERT
发布者数据库中复制表中的一行我的问题是,我该怎么做第 2 步?我想我可以通过查看msdb..sysjob*
表格来检查相关作业的最后执行时间,但我不确定这是解决问题的最佳方法。
对于快照复制,您确实可以检查两个作业是否已运行(快照代理和分发代理),但对于合并和事务性,您不能,因为代理连续运行。
对于事务性,您可以使用sp_posttracertoken和sp_helptracertokenhistory插入跟踪器令牌并验证跟踪器令牌何时标记为已分发给订阅者。