sql - 如何查看复制快照代理状态?

标签 sql sql-server sql-server-2008-r2 database-replication merge-replication

我想在使用此语句启动代理后检查代理的状态

EXEC sp_startpublication_snapshot @publication

因为我想做下一步,需要工作已经开始。

最佳答案

我不相信有一个内置的复制存储过程来检查快照代理状态,我可能是错的。但是,您可以查询 MSsnapshot_history。像这样的东西应该可以解决问题:

SELECT 
    agent_id, 
    runstatus, 
    start_time, 
    time, 
    duration, 
    comments, 
    delivered_transactions,
    delivered_commands, 
    delivery_rate, 
    error_id, 
    timestamp 
FROM dbo.MSsnapshot_history
WHERE comments = 'Starting agent.'

同样,您可以检查快照代理何时完成:

SELECT 
    agent_id, 
    runstatus, 
    start_time, 
    time, 
    duration, 
    comments, 
    delivered_transactions,
    delivered_commands, 
    delivery_rate, 
    error_id, 
    timestamp 
FROM dbo.MSsnapshot_history
WHERE comments = '[100%] A snapshot of 68 article(s) was generated.'

或者,您可以使用 sp_help_job 查看快照代理作业的状态。

关于sql - 如何查看复制快照代理状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25034968/

相关文章:

sql - 如何将日期显示为 mm/dd/yyyy hh :mm Am/PM using sql server 2008 r2?

xml - 如何使用 OpenXML 访问 xml 中的嵌套元素

mysql - 添加搜索,在 DBGrid 中搜索数据并临时更改 DBGrid 显示的内容 - Delphi

sql-server - 连接多个表返回 NULL 值

sql-server - 是否可以在 Azure 托管实例中创建链接服务器到进度数据库?

sql - 将包含类似 XML 数据的 varchar 列按行解析

mysql - 查询随机返回所有项目或仅返回部分项目

mysql - 在 SQL 查询的 WHERE 子句中的 CASE 语句之间使用 AND

mysql - 每组,找到 SUM(x) >= N 的前 N ​​个用户

sql - 如何将项目子集的总和与目标数字相匹配?