我可以在SQL Server數據庫服務器上的distribution
或msdb
數據庫中查找複製是否連續? (2005年和2008年)複製是否在任何地方連續可查詢?
背景: 我正在製作一個複製監視器系統,它會在X時間內未成功合併複製時通過電子郵件發出警報。爲此,我定期查詢distribution
數據庫的MSreplication_monitordata
和MSmerge_sessions
表。 要測試複製是否已經超過了警報的時候,我做的對MSreplication_monitordata
每個條目下面看的時候,最後成功的複製是:
select top 1 end_time
from MSmerge_sessions
where runstatus=2 and [email protected]
order by end_time desc
runstatus = 2個過濾器「完整」僅狀態(see documentation)
問題是,連續複製只有一個MSmerge_sessions
條目持續更新end_time,但其狀態爲3,表示「正在進行」。我不能僅僅測試它,因爲那樣會返回非連續的複製會話,在完成之前可能會失敗。
我試着看看MSmerge_sessions.current_phase_id
列可能是有用的,但它是無證的,我不能推斷它的意思。 我也試過msdb
數據庫,因爲這是保存複製作業記錄的地方(在sysjobs
表中)。 sysjobschedules
表似乎很有希望,一些next_run_date
和next_run_time
字段爲0,但我無法找到如何鏈接到sysjobs
。