是否可以使用 Transact SQL 监控事务复制

Posted

技术标签:

【中文标题】是否可以使用 Transact SQL 监控事务复制【英文标题】:Is it possible to monitor transactional replication using Transact SQL 【发布时间】:2012-10-31 01:32:18 【问题描述】:

我正在尝试使用 c# 应用程序中的事务 sql 监控连续复制状态。 在我的 c# 应用程序中,我使用这个成功地开始了这项工作..

exec sp_startpushsubscription_agent
   @publication = 'myPublication',
   @subscriber = 'my_subscriber_server_name',
   @subscriber_db = 'my_subscriber_db'

现在,我想知道我的同步是否完成或是否发生任何错误。该过程完成后,我想向用户发送成功消息。

有什么帮助吗?

【问题讨论】:

【参考方案1】:

是的,我们可以使用 T-SQL 或使用复制管理对象 (RMO) 以编程方式监控复制。示例请参见Programmatically Monitor Replication。

我更喜欢为此使用 RMO,启动代理并处理状态事件并在表单上显示代理状态。我的博客上有一个如何为合并代理执行此操作的示例:http://www.sqlrepl.com/sql-server/implementing-a-replication-agent-progess-bar/

对于分发代理也可以这样做。

【讨论】:

以上是关于是否可以使用 Transact SQL 监控事务复制的主要内容,如果未能解决你的问题,请参考以下文章

数据库视频Transact—SQL语句

druid SQL监控里执行时间、最慢、事务中等是啥意思,执行时间分布的[0,4,0,0,0,0,0,0]等又是啥意思?

监控SQL Server事务复制

MSSQL事务隔离级别详解(SET TRANSACTION ISOLATION LEVEL)

@@ROWCOUNT (Transact-SQL)

5.Transact-SQL编程