Solved

SQL replication locking

Posted on 2014-04-28
4
323 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

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

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

Everyone has problem when going to load data into Data warehouse (EDW). They all need to confirm that data quality is good but they don't no how to proceed. Microsoft has provided new task within SSIS 2008 called "Data Profiler Task". It solve th…
Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

695 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