2011-03-04 49 views
0
获取复制状态

我已经在我的SQL Server 2005数据库上完成了复制。 (可以是C#或其他)如何从代码

是否有任何方法或API可以监控复制状态。 这是为了客户端确认复制正在工作。

谢谢

方式是这样的。 http://www.sqlmonster.com/Uwe/Forum.aspx/sql-server-replication/11698/How-to-get-the-replication-status-using-RMO-in

+0

您正在使用哪种类型的复制(或者您是否需要适用于所有类型的解决方案)? – 2011-03-06 06:41:33

+0

我已经完成了合并复制。 – prashant 2011-03-07 04:55:39

回答

0

Monitoring Replication with Replication Monitor

微软SQL Server复制 监视器是一个图形工具, 允许您监视复制拓扑的总体 健康。 复制监视器提供了有关情况的详细信息 和出版物 订阅 性能...

How to: Start Replication Monitor (Replication Monitor)

+0

谢谢,我知道图形工具的使用方式,但它不是由客户完成的,因为它们不是技术性的,做这些事情对他们来说有点困难和坏习惯。有没有我可以通过SQL连接,并获得状态,并通过GUI显示它们的任何API。 – prashant 2011-03-06 06:25:54

1

我喜欢用发布定期跟踪令牌,然后监测它们的情况,因为他们流动从出版商到分销商再到订阅者。这可以通过在发布者处使用sp_posttracertoken以编程方式完成,并检查分发者中的跟踪器令牌表。希望这可以帮助。

+0

但是,这确实假定OP正在使用事务复制。 – 2011-03-06 06:41:06

1

一个伟大的选择是:如何以编程方式监视复制(通过T-SQL): http://msdn.microsoft.com/en-us/library/ms147874(SQL.90).aspx

而这里的SQL Server 2008 R2的版本,任何人都希望在这个问题,以及: http://msdn.microsoft.com/en-us/library/ms147874(SQL.100).aspx

在T-SQL中使用这些特殊的过程可能会带来一点痛苦(因为你通常希望将它们的输出导出到临时表或表变量中,以便'过滤'额外的一点或什么),但大多数开发者会发现这种交互比使用RMOs更容易处理。