I have a set up of Transaction Replication with the Publisher being the distributor. It works on Push mode. While replicating, more frequently for the past few weeks, the data is not being pushed to the Subscriber. I see that the publisher is able to push data to the subscriber and as well, the commands reaching the subscriber. But, it seems like the commands are not being committed at the subscriber. This results in replication running for a long time and then failing. Below is how the error when it fails looks like:
Date 5/12/2016 6:40:01 AM
Log Job History (Publisher_PublisherDB_Subscriber_Subscriberdb)
Step ID 2
Server Publisher
Job Name Publisher_PublisherDB_Subscriber_Subscriberdb
Step Name Publisher_PublisherDB_Subscriber_Subscriberdb
Duration 06:20:59
Sql Severity 0
Sql Message ID 0
Operator Emailed
Operator Net sent
Operator Paged
Retries Attempted 0
Message
2016-05-12 17:22:18.982 Delivering replicated transactions
2016-05-12 17:23:18.993 Delivering replicated transactions
2016-05-12 17:24:19.199 Delivering replicated transactions
2016-05-12 17:25:19.214 Delivering replicated transactions
2016-05-12 17:26:16.894 <stats state="2" fetch="11" wait="20685" cmds="8379" callstogetreplcmds="7"><sincelaststats elapsedtime="300" fetch="0" wait="300" cmds="1021" cmdspersec="3.000000"/></stats>
2016-05-12 17:26:19.390 Delivering replicated transactions
2016-05-12 17:27:19.434 Delivering replicated transactions
2016-05-12 17:28:19.463 Delivering replicated transactionsd
2016-05-12 17:29:19.695 Delivering replicated transactions
2016-05-12 17:30:19.880 Delivering replicated transactions
2016-05-12 17:31:16.898 <stats state="2" fetch="11" wait="20985" cmds="9294" callstogetreplcmds="7"><sincelaststats elapsedtime="300" fetch="0" wait="299" cmds="915" cmdspersec="3.000000"/></stats>
2016-05-12 17:31:19.924 Delivering replicated transactions
2016-05-12 17:32:20.094 Delivering replicated transactions
2016-05-12 17:33:20.403 Delivering replicated transactions
2016-05-12 17:34:20.426 Delivering replicated transactions
2016-05-12 17:35:20.741 Delivering replicated transactions
2016-05-12 17:36:17.071 <stats state="2" fetch="11" wait="21286" cmds="10147" callstogetreplcmds="7"><sincelaststats elapsedtime="300" fetch="0" wait="300" cmds="853" cmdspersec="2.000000"/></stats>
2016-05-12 17:36:20.926 Delivering replicated transactions
2016-05-12 17:37:21.287 Delivering replicated transactions
2016-05-12 17:38:21.481 Delivering replicated transactions
2016-05-12 17:39:21.761 Delivering replicated transactions
2016-05-12 17:40:22.080 Delivering replicated transactions
2016-05-12 17:41:17.264 <stats state="2" fetch="11" wait="21586" cmds="10944" callstogetreplcmds="7"><sincelaststats elapsedtime="300" fetch="0" wait="300" cmds="797" cmdspersec="2.000000"/></stats>
2016-05-12 17:41:22.216 Delivering replicated transactions
2016-05-12 17:42:22.244 Delivering replicated transactions
2016-05-12 17:43:22.382 Delivering replicated transactions
2016-05-12 17:44:22.645 Delivering replicated transactions
2016-05-12 17:45:23.001 Delivering replicated transactions
2016-05-12 17:46:17.445 <stats state="2" fetch="11" wait="21886" cmds="11697" callstogetreplcmds="7"><sincelaststats elapsedtime="300" fetch="0" wait="300" cmds="753" cmdspersec="2.000000"/></stats>
2016-05-12 17:46:23.124 Delivering replicated transactions
2016-05-12 17:47:23.381 Delivering replicated transactions
2016-05-12 17:48:23.654 Delivering replicated transactions
2016-05-12 17:49:23.958 Delivering replicated transactions
2016-05-12 17:50:24.329 Delivering replicated transactions
2016-05-12 17:51:17.782 <stats state="2" fetch="11" wait="22186" cmds="12422" callstogetreplcmds="7"><sincelaststats elapsedtime="300" fetch="0" wait="300" cmds="725" cmdspersec="2.000000"/></stats>
2016-05-12 17:51:24.617 Delivering replicated transactions
2016-05-12 17:52:24.836 Delivering replicated transactions
2016-05-12 17:53:24.845 Delivering replicated transactions
2016-05-12 17:54:24.985 Delivering replicated transactions
2016-05-12 17:55:25.109 Delivering replicated transactions
2016-05-12 17:56:17.807 <stats state="2" fetch="11" wait="22486" cmds="13120" callstogetreplcmds="7"><sincelaststats elapsedtime="300" fetch="0" wait="300" cmds="698" cmdspersec="2.000000"/></stats>
2016-05-12 17:56:25.132 Delivering replicated transactions
2016-05-12 17:57:25.238 Delivering replicated transactions
2016-05-12 17:58:25.551 Delivering replicated transactions
2016-05-12 17:59:25.939 Delivering replicated transactions
2016-05-12 18:00:59.563 Unspecified error
2016-05-12 18:00:59.855 Category:COMMAND
Source: Failed Command
Number:
Message: if @@trancount > 0 rollback tran
2016-05-12 18:00:59.873 Category:NULL
Source: Microsoft SQL Server Native Client 10.0
Number:
Message: Unspecified error
I am able to find out that usually, it is because of transactions on one table. If I remove the transactions of this table and push the rest of the data, it is able to replicate the details. However, this happens quite often. I did some googling and could not find any information. Any kind of information would help.