The Distribution Agent will apply a "batch" of changes in a single transaction. If the Agent fails it will rollback any partial changes that were part of that "batch". If the Agent is scheduled to restart, it will again timeout and again rollback changes. You'll be caught in an endless loop.
When you increase the timeout value, then rerun the Agent those changes will be reapplied to the Subscriber. You can also temporarily decrease the BatchSize to commit a smaller batch of transactions.
You can also add a new profile in the Log Reader Agent Profiles and already in this new profile increase Logintimeout and Querytimeout. In my case it's worked.
Can you explain the impact of a timeout? Are the replicated transactions lost (to the distributor and any subscribers)?
The Distribution Agent will apply a "batch" of changes in a single transaction. If the Agent fails it will rollback any partial changes that were part of that "batch". If the Agent is scheduled to restart, it will again timeout and again rollback changes. You'll be caught in an endless loop.
When you increase the timeout value, then rerun the Agent those changes will be reapplied to the Subscriber. You can also temporarily decrease the BatchSize to commit a smaller batch of transactions.
dbcc opentran and fn_dblog
Hi, I am new to the concept of replication. Can you please tell me how to change the Query timeout parameter?
You can also add a new profile in the Log Reader Agent Profiles and already in this new profile increase Logintimeout and Querytimeout. In my case it's worked.