{"id":4376,"date":"2015-02-17T19:48:43","date_gmt":"2015-02-17T18:48:43","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/"},"modified":"2015-02-17T19:48:43","modified_gmt":"2015-02-17T18:48:43","slug":"case-of-monitoring-snapshot-replication-from-the-subscriber-side","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/","title":{"rendered":"Case of monitoring snapshot replication from the subscriber side"},"content":{"rendered":"<p>I don\u2019t work often with SQL Server replication. The main reason is that the number of customers that use replication is pretty low and each time that I have to deal with it, it\u2019s a good opportunity to improve my skills on this area. A couple of months ago I had to face an interesting issue with the snapshot replication (yes, I was lucky &#8230; this is not the more complex replication mechanism you have to deal with). My customer had a lot of databases (approximatively 250) to replicate from two datacenters apart from one continent.<\/p>\n<p>The global architecture includes two servers that act as publishers with a total of 250 articles (one table into one database) and a central subscriber that gathers this 250 articles (250 databases with one table into each database). All articles are concerned by push subscriptions and all replication jobs are running on the publishers. This replication process is part of a more wide ETL process which delivers some financial metric reports to the business users.<\/p>\n<p>Before computing the financial metrics we need to ensure that all databases replication is done correctly. Unfortunately, according to the customer security context we are stuck because we may not have access from the different publishers. So the main question that remains is how to ensure that we don\u2019t start the calculation of the financial metrics, if we detect that there exist running database replication processes at the same time from the subscriber side?<\/p>\n<p>After reflexion, I had a solution but it is not perfect. I will explain why later in this blog post. My solution includes two things:<\/p>\n<p>1- Recording the last time the concerned table is created. As reminder snapshot replication will recreate concerned articles on the subscriber.<br \/>\n2- Tracking bulk insert activity issued by the snapshot agent before performing the calculation of the financial metrics<\/p>\n<p>Here my script:<\/p>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">SELECT<span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: fuchsia\">DB_NAME<span style=\"color: gray\">() <span style=\"color: blue\">as database_name<span style=\"color: gray\">, <\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 tb<span style=\"color: gray\">.name <span style=\"color: blue\">as table_name<span style=\"color: gray\">,\u00a0\u00a0 <\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 tb<span style=\"color: gray\">.create_date <span style=\"color: blue\">as last_creation_date<span style=\"color: gray\">, <\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 txt<span style=\"color: gray\">.<span style=\"color: blue\">text <span style=\"color: blue\">as current_statement<span style=\"color: gray\">, <\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 txt<span style=\"color: gray\">.<span style=\"color: fuchsia\">program_name <span style=\"color: blue\">as interface<span style=\"color: gray\">, <\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 txt<span style=\"color: gray\">.request_mode<span style=\"color: gray\">, <\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 txt<span style=\"color: gray\">.request_owner_type<span style=\"color: gray\">, <\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 txt<span style=\"color: gray\">.request_status\u00a0\u00a0 <\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">FROM<span style=\"font-size: 9.5pt;font-family: Consolas\"> <span style=\"color: green\">sys<span style=\"color: gray\">.<span style=\"color: green\">tables <span style=\"color: blue\">as tb <\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: gray\">OUTER<span style=\"font-size: 9.5pt;font-family: Consolas\"> <span style=\"color: gray\">APPLY<span style=\"color: gray\">( <\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: blue\">SELECT\u00a0\u00a0 <\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: fuchsia\">db_name<span style=\"color: gray\">(r<span style=\"color: gray\">.database_id<span style=\"color: gray\">) <span style=\"color: blue\">as database_name<span style=\"color: gray\">, <\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 t<span style=\"color: gray\">.<span style=\"color: blue\">text<span style=\"color: gray\">, <\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 s<span style=\"color: gray\">.<span style=\"color: fuchsia\">program_name<span style=\"color: gray\">, <\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 l<span style=\"color: gray\">.request_mode<span style=\"color: gray\">, <\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 l<span style=\"color: gray\">.request_status<span style=\"color: gray\">, <\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 l<span style=\"color: gray\">.request_owner_type <\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: blue\">FROM <span style=\"color: green\">sys<span style=\"color: gray\">.<span style=\"color: green\">dm_exec_requests <span style=\"color: blue\">AS r <\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: gray\">JOIN <span style=\"color: green\">sys<span style=\"color: gray\">.<span style=\"color: green\">dm_exec_sessions <span style=\"color: blue\">as s <\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: blue\">on r<span style=\"color: gray\">.session_id <span style=\"color: gray\">= s<span style=\"color: gray\">.session_id <\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: gray\">JOIN <span style=\"color: green\">sys<span style=\"color: gray\">.<span style=\"color: green\">dm_tran_locks <span style=\"color: blue\">as l\u00a0\u00a0 <\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: blue\">on l<span style=\"color: gray\">.request_session_id <span style=\"color: gray\">= s<span style=\"color: gray\">.session_id <\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: gray\">CROSS <span style=\"color: gray\">APPLY <span style=\"color: green\">sys<span style=\"color: gray\">.<span style=\"color: green\">dm_exec_sql_text<span style=\"color: gray\">(r<span style=\"color: gray\">.<span style=\"color: blue\">sql_handle<span style=\"color: gray\">) <span style=\"color: blue\">AS t <\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: blue\">WHERE t<span style=\"color: gray\">.<span style=\"color: blue\">text <span style=\"color: gray\">LIKE <span style=\"color: red\">&#8216;insert bulk % + tb.name + &#8221;%TABLOCK%&#8217; <\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: gray\">AND r<span style=\"color: gray\">.session_id <span style=\"color: gray\"> <span style=\"color: fuchsia\">@@SPID <\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: gray\">AND l<span style=\"color: gray\">.resource_type <span style=\"color: gray\">= <span style=\"color: red\">&#8216;OBJECT&#8217; <\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0 <span style=\"color: gray\">AND l<span style=\"color: gray\">.resource_database_id <span style=\"color: gray\">= r<span style=\"color: gray\">.database_id <\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: gray\">AND l<span style=\"color: gray\">.resource_associated_entity_id <span style=\"color: gray\">= tb<span style=\"color: gray\">.<span style=\"color: fuchsia\">object_id <\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: gray\">)<span style=\"font-size: 9.5pt;font-family: Consolas\"> <span style=\"color: blue\">AS txt <\/span><\/span><\/span><\/div>\n<div style=\"margin-bottom: 0.0001pt;line-height: normal;background: none repeat scroll 0% 0% #e7e6e6\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">WHERE<span style=\"font-size: 9.5pt;font-family: Consolas\"> tb<span style=\"color: gray\">.name <span style=\"color: gray\">= <span style=\"color: red\">&#8216;mytable&#8217;<\/span><\/span><\/span><\/span><\/span><\/div>\n<p>I finally created a stored procedure that fetches each concerned database and\u00a0 execute the above script in the current context of the database. In the context of my customer I implemented an additional step which sends an email on half-day basis. Notice also that I added a custom business rule that detects replication issue if it does not occur before the last 6 hours. You can modify and adjust the script at your convenience.<\/p>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">SET<span style=\"font-size: 9.5pt;font-family: Consolas\"> <span style=\"color: blue\">NOCOUNT <span style=\"color: blue\">ON<span style=\"color: gray\">; <\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">DECLARE<span style=\"font-size: 9.5pt;font-family: Consolas\"> @database_name <span style=\"color: blue\">SYSNAME<span style=\"color: gray\">;<\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">DECLARE<span style=\"font-size: 9.5pt;font-family: Consolas\"> @sql <span style=\"color: blue\">NVARCHAR<span style=\"color: gray\">(<span style=\"color: fuchsia\">MAX<span style=\"color: gray\">);<\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: green\">&#8212; working table : alert_replication_monitoring<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">TRUNCATE<span style=\"font-size: 9.5pt;font-family: Consolas\"> <span style=\"color: blue\">TABLE msdb<span style=\"color: gray\">.dbo<span style=\"color: gray\">.alert_replication_monitoring<span style=\"color: gray\">;<\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: green\">&#8212; for each concered database we will verify if the t_replixxx table is updated<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: green\">&#8212; from snapshot replication<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">DECLARE<span style=\"font-size: 9.5pt;font-family: Consolas\"> C_DB <span style=\"color: blue\">CURSOR <span style=\"color: blue\">FAST_FORWARD <span style=\"color: blue\">FOR<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">SELECT<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 name<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">FROM<span style=\"font-size: 9.5pt;font-family: Consolas\"> <span style=\"color: green\">sys<span style=\"color: gray\">.<span style=\"color: green\">databases<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">WHERE<span style=\"font-size: 9.5pt;font-family: Consolas\"> name <span style=\"color: gray\">LIKE <span style=\"color: red\">&#8216;repli_%&#8217;<span style=\"color: gray\">;<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">OPEN<span style=\"font-size: 9.5pt;font-family: Consolas\"> C_DB<span style=\"color: gray\">;<\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">FETCH<span style=\"font-size: 9.5pt;font-family: Consolas\"> <span style=\"color: blue\">NEXT <span style=\"color: blue\">FROM C_DB <span style=\"color: blue\">INTO @database_name<span style=\"color: gray\">;<\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">WHILE<span style=\"font-size: 9.5pt;font-family: Consolas\"> <span style=\"color: fuchsia\">@@FETCH_STATUS <span style=\"color: gray\">= 0<\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">BEGIN<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: blue\">SET @sql <span style=\"color: gray\">= <span style=\"color: red\">N&#8217;USE &#8216; <span style=\"color: gray\">+ <span style=\"color: fuchsia\">QUOTENAME<span style=\"color: gray\">(@database_name<span style=\"color: gray\">) <span style=\"color: gray\">+ <span style=\"color: red\">&#8216;<\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IF EXISTS (SELECT 1 <\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 FROM sys.tables WHERE name LIKE N&#8221;t_repli%&#8221;)<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BEGIN<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 INSERT INTO msdb.dbo.alert_replication_monitoring<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SELECT <\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DB_NAME() as database_name,<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tb.name as table_name, <\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tb.create_date as last_creation_date,<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 txt.text as current_statement,<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 txt.program_name as interface,<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 txt.request_mode,<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 txt.request_owner_type,<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 txt.request_status\u00a0 <\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0 FROM sys.tables as tb<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0 OUTER APPLY (<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SELECT <\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 db_name(r.database_id) as database_name,<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t.text,<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 s.program_name,<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 l.request_mode,<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 l.request_status,<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 l.request_owner_type<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 FROM sys.dm_exec_requests AS r<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 JOIN sys.dm_exec_sessions as s<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 on r.session_id = s.session_id<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 JOIN sys.dm_tran_locks as l\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 on l.request_session_id = s.session_id<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS t<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 WHERE t.text LIKE &#8221;insert bulk %&#8221; + tb.name + &#8221;%TABLOCK%&#8221;<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AND r.session_id @@SPID<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AND l.resource_type = &#8221;OBJECT&#8221;<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AND l.resource_database_id = r.database_id<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AND l.resource_associated_entity_id = tb.object_id<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ) AS txt<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 WHERE tb.name LIKE &#8221;t_repli%&#8221;<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: red\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 END&#8217;<span style=\"font-size: 9.5pt;font-family: Consolas;color: gray\">;<\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: blue\">EXEC <span style=\"color: maroon\">sp_executesql@sql<span style=\"color: gray\">;<\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: blue\">FETCH <span style=\"color: blue\">NEXT <span style=\"color: blue\">FROM C_DB <span style=\"color: blue\">INTO @database_name<span style=\"color: gray\">;<\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">END<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">CLOSE<span style=\"font-size: 9.5pt;font-family: Consolas\"> C_DB<span style=\"color: gray\">;<\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">DEALLOCATE<span style=\"font-size: 9.5pt;font-family: Consolas\"> C_DB<span style=\"color: gray\">;<\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: green\">&#8212; Check status of each database replication<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">SELECT<span style=\"font-size: 9.5pt;font-family: Consolas\"> <span style=\"color: gray\">*<\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">FROM<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: gray\">(<\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: blue\">SELECT<\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 database_name <span style=\"color: blue\">AS [database]<span style=\"color: gray\">,<\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 table_name <span style=\"color: blue\">AS [table]<span style=\"color: gray\">,<\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 last_creation_date <span style=\"color: blue\">AS [last synchro]<span style=\"color: gray\">,<\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: fuchsia\">DATEDIFF<span style=\"color: gray\">(MI<span style=\"color: gray\">, last_creation_date<span style=\"color: gray\">, <span style=\"color: fuchsia\">CURRENT_TIMESTAMP<span style=\"color: gray\">) <span style=\"color: blue\">AS [time since the last update (minutes)]<span style=\"color: gray\">,<\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 current_statement<span style=\"color: gray\">,<\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: blue\">CASE <\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: blue\">WHEN <span style=\"color: fuchsia\">DATEDIFF<span style=\"color: gray\">(MI<span style=\"color: gray\">, last_creation_date<span style=\"color: gray\">, <span style=\"color: fuchsia\">CURRENT_TIMESTAMP<span style=\"color: gray\">) <\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: gray\">AND current_statement <span style=\"color: gray\">IS <span style=\"color: gray\">NOT <span style=\"color: gray\">NULL <span style=\"color: blue\">THEN <span style=\"color: red\">&#8216;1 &#8211; Replication in progress.&#8217;<\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: blue\">WHEN <span style=\"color: fuchsia\">DATEDIFF<span style=\"color: gray\">(MI<span style=\"color: gray\">, last_creation_date<span style=\"color: gray\">, <span style=\"color: fuchsia\">CURRENT_TIMESTAMP<span style=\"color: gray\">) <\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: gray\">AND current_statement <span style=\"color: gray\">IS <span style=\"color: gray\">NULL <span style=\"color: blue\">THEN <span style=\"color: red\">&#8216;2 &#8211; Replication done.&#8217;<\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: blue\">WHEN <span style=\"color: fuchsia\">DATEDIFF<span style=\"color: gray\">(MI<span style=\"color: gray\">, last_creation_date<span style=\"color: gray\">, <span style=\"color: fuchsia\">CURRENT_TIMESTAMP<span style=\"color: gray\">) <span style=\"color: gray\">&gt; 360<\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: gray\">AND current_statement <span style=\"color: gray\">IS <span style=\"color: gray\">NOT <span style=\"color: gray\">NULL <span style=\"color: blue\">THEN <span style=\"color: red\">&#8216;3 &#8211; Replication in progress and takes longer than expected (6 hours).&#8217;<\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: blue\">ELSE <span style=\"color: red\">&#8216;4 &#8211; No replication has occured during the six last hours.&#8217;<\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: blue\">END replication_status<\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: blue\">FROM msdb<span style=\"color: gray\">.dbo<span style=\"color: gray\">.alert_replication_monitoring<\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: gray\">)<span style=\"font-size: 9.5pt;font-family: Consolas\"> <span style=\"color: blue\">AS repli<\/span><\/span><\/span><\/div>\n<div style=\"background: none repeat scroll 0% 0% gainsboro\"><span style=\"font-size: 9.5pt;font-family: Consolas;color: blue\">ORDER<span style=\"font-size: 9.5pt;font-family: Consolas\"> <span style=\"color: blue\">BY [database]<span style=\"color: gray\">, replication_status <span style=\"color: blue\">DESC<span style=\"color: gray\">;<\/span><\/span><\/span><\/span><\/span><\/span><\/div>\n<p>Here a picture of the script result while the snapshot agent is running&#8230;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_1_replication_status_monitor.jpg\" alt=\"blog_31_1_replication_status_monitor\" width=\"632\" height=\"78\" \/><\/p>\n<p>&#8230; and when there is no activity but we track the last time the table was synchronized.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_2_replication_status_monitor_21.jpg\" alt=\"blog_31_2_replication_status_monitor_21\" width=\"633\" height=\"85\" \/><\/p>\n<p>As I said earlier, this method has a main following caveat:<br \/>\nWe may only claim that a replication process is not running at a given time but we may not know if the replication process is done correctly or with errors.<br \/>\nRemember that this is more a workaround than a perfect solution.<br \/>\nHope it helps! Please feel free to share your comments about this script!<\/p>\n<p><span style=\"float: none;background-color: #ffffff;color: #333333;cursor: text;font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif;font-size: 16px;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;text-align: left;text-decoration: none;text-indent: 0px;text-transform: none\">By David Barbarin<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I don\u2019t work often with SQL Server replication. The main reason is that the number of customers that use replication is pretty low and each time that I have to deal with it, it\u2019s a good opportunity to improve my skills on this area. A couple of months ago I had to face an interesting [&hellip;]<\/p>\n","protected":false},"author":26,"featured_media":4377,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[198],"tags":[],"type_dbi":[],"class_list":["post-4376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-management"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Case of monitoring snapshot replication from the subscriber side - dbi Blog<\/title>\n<meta name=\"description\" content=\"Monitoring snapshot replication from the subscriber side\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Case of monitoring snapshot replication from the subscriber side\" \/>\n<meta property=\"og:description\" content=\"Monitoring snapshot replication from the subscriber side\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-02-17T18:48:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_1_replication_status_monitor.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"849\" \/>\n\t<meta property=\"og:image:height\" content=\"105\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Microsoft Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Microsoft Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/\"},\"author\":{\"name\":\"Microsoft Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4\"},\"headline\":\"Case of monitoring snapshot replication from the subscriber side\",\"datePublished\":\"2015-02-17T18:48:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/\"},\"wordCount\":1061,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_1_replication_status_monitor.jpg\",\"articleSection\":[\"Database management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/\",\"name\":\"Case of monitoring snapshot replication from the subscriber side - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_1_replication_status_monitor.jpg\",\"datePublished\":\"2015-02-17T18:48:43+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4\"},\"description\":\"Monitoring snapshot replication from the subscriber side\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_1_replication_status_monitor.jpg\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_1_replication_status_monitor.jpg\",\"width\":849,\"height\":105},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Case of monitoring snapshot replication from the subscriber side\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4\",\"name\":\"Microsoft Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"caption\":\"Microsoft Team\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/microsoft-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Case of monitoring snapshot replication from the subscriber side - dbi Blog","description":"Monitoring snapshot replication from the subscriber side","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/","og_locale":"en_US","og_type":"article","og_title":"Case of monitoring snapshot replication from the subscriber side","og_description":"Monitoring snapshot replication from the subscriber side","og_url":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/","og_site_name":"dbi Blog","article_published_time":"2015-02-17T18:48:43+00:00","og_image":[{"width":849,"height":105,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_1_replication_status_monitor.jpg","type":"image\/jpeg"}],"author":"Microsoft Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Microsoft Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/"},"author":{"name":"Microsoft Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4"},"headline":"Case of monitoring snapshot replication from the subscriber side","datePublished":"2015-02-17T18:48:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/"},"wordCount":1061,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_1_replication_status_monitor.jpg","articleSection":["Database management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/","url":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/","name":"Case of monitoring snapshot replication from the subscriber side - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_1_replication_status_monitor.jpg","datePublished":"2015-02-17T18:48:43+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4"},"description":"Monitoring snapshot replication from the subscriber side","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_1_replication_status_monitor.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog_31_1_replication_status_monitor.jpg","width":849,"height":105},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/case-of-monitoring-snapshot-replication-from-the-subscriber-side\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Case of monitoring snapshot replication from the subscriber side"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4","name":"Microsoft Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","caption":"Microsoft Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/microsoft-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/4376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=4376"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/4376\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/4377"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=4376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=4376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=4376"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=4376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}