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