2

我想编写一个 sql 脚本来进行基本的冒烟测试,以检查我服务器上的复制设置是否正确。

我认为针对应该复制的表的一组简单的 CRUD 操作将实现我所追求的,我想工作流程将如下所示:

  1. INSERT发布者数据库中复制表中的一行
  2. 等待复制作业运行?
  3. 检查订户数据库中的表中是否存在该行

我的问题是,我该怎么做第 2 步?我想我可以通过查看msdb..sysjob*表格来检查相关作业的最后执行时间,但我不确定这是解决问题的最佳方法。

4

1 回答 1

5

对于快照复制,您确实可以检查两个作业是否已运行(快照代理和分发代理),但对于合并和事务性,您不能,因为代理连续运行。

对于事务性,您可以使用sp_posttracertokensp_helptracertokenhistory插入跟踪器令牌并验证跟踪器令牌何时标记为已分发给订阅者。

于 2010-01-27T23:35:20.797 回答