?
Solved

SQL replication locking

Posted on 2014-04-28
4
Medium Priority
?
388 Views
Last Modified: 2014-05-11
We have transactional replication in place that only replicates changes and not entire sets of tables every time.  Furthermore, we are specifically pushing data from the Publisher every 1 hour.  My subscriber seems to be holding onto tables, please see attached, and as a result – SQL job drags out a long time (it reads from replicated tables and does data tabulation.)  All documentation on this states that replication doesn’t lock replication tables, however, it seems to be creating connections to updates and not closing those efficiently.   We are publishing from 2012 and to 2008 subscriber over a WAN.

I cannot find any concrete information of replication blocks, so I’m thinking it is something that is manageable/configurable.  In attached png my process is 60 and process 62 suspended it.  I read about transactional replication and that Snapshot Agent only locks tables on initial snapshot replication, not any concurrent ones.  Should this be happening?

Should I put in place an implementation of read committed isolation that uses row versioning when the READ_COMMITTED_SNAPSHOT database option is ON? Or do Snapshot that is enabled when the ALLOW_SNAPSHOT_ISOLATION database option is ON?
rep.png
0
Comment
Question by:menreeq
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 8

Expert Comment

by:ProjectChampion
ID: 40029096
Transactoinal replication in SQL Server is pretty clever and since 2008 (or perhaps even 2005) reliability and resiliency has been improved significantly.

Based on what you've described, I'd suggest you to check to see if there is a heavy job, such as a bulky report, ETL operation or perhaps maintenance plan (index rebuild, backup, database integrity check etc.) which might be clashing with your replication.

Having said that I've had no problem with replication going on simultaneously with the maintenance jobs, but in my case replications where continuous not scheduled. Is there a reason why you don't allow continuous replication instead of every hour? If you let the transactions replicate in smaller chunks the probability of the above mentioned clashes will be much lower.
0
 
LVL 40

Expert Comment

by:lcohan
ID: 40038169
" My subscriber seems to be holding onto tables, "

You should check Locks/Blocks on the subscriber side and I recommend using SQL own Performance Dashboard for that or sp_locks on the Subscriber SQL.

The fact that you replicate over a WAN can also be the reason why "SQL job drags out a long time ..."
0
 

Accepted Solution

by:
menreeq earned 0 total points
ID: 40044727
We solved the issue by moving the DB from 2012 to 2008, once we were replicating from 2008 to 2008 it worked like a champ.  Thanks for the help.
0
 

Author Closing Comment

by:menreeq
ID: 40057065
Figured it out
0

Featured Post

Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article we will learn how to fix  “Cannot install SQL Server 2014 Service Pack 2: Unable to install windows installer msi file” error ?
A Stored Procedure in Microsoft SQL Server is a powerful feature that it can be used to execute the Data Manipulation Language (DML) or Data Definition Language (DDL). Depending on business requirements, a single Stored Procedure can return differe…
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question