Serious Help with Deadlocks

  • We are running SQL Server 2012 - SP2 CU3. About five days ago, almost all of our users (140 - all remote) stopped syncing. We are using merge replication. We have been in production since 2008 without any difficulty. I have not changed anything I can remember. Upon research, we are dumping deadlocks faster than I can count. Our conflict tables are filling up by the minute.

    I am not too familiar with SQL but I was able to go into the Entended Events and copied one of the following rows. Does this show anything that can get all of this functioning again?

    select case when (cont.generation is NULL and tomb.generation is null) then 0 else isnull(cont.generation, tomb.generation) end as generation,

    case when t.[rowguid] is null then (case when tomb.rowguid is NULL then 0 else tomb.type end) else (case when cont.rowguid is null then 3 else 2 end) end as type,

    case when tomb.rowguid is null then cont.lineage else tomb.lineage end as lineage,

    cont.colv1 as colv,

    @maxversion as maxversion,

    rows.rowguid as rowguid

    from

    (

    select @rowguid1 as rowguid, 1 as sortcol union all

    select @rowguid2 as rowguid, 2 as sortcol union all

    select @rowguid3 as rowguid, 3 as sortcol union all

    select @rowguid4 as rowguid, 4 as sortcol union all

    select @rowguid5 as rowguid, 5 as sortcol union all

    select @rowguid6 as rowguid, 6 as sortcol union all

    select @rowguid7 as rowguid, 7 as sortcol union all

    select @rowg

    exec @retcode = @procname

    @rowguid1,

    @rowguid2,

    @rowguid3,

    @rowguid4,

    @rowguid5,

    @rowguid6,

    @rowguid7,

    @rowguid8,

    @rowguid9,

    @rowguid10,

    @rowguid11,

    @rowguid12,

    @rowguid13,

    @rowguid14,

    @rowguid15,

    @rowguid16,

    @rowguid17,

    @rowguid18,

    @rowguid19,

    @rowguid20,

    @rowguid21,

    @rowguid22,

    @rowguid23,

    @rowguid24,

    @rowguid25,

    @rowguid26,

    Proc [Database Id = 32767 Object Id = -944098142]

    select

    c.tablenick,

    c.rowguid,

    c.generation,

    case @enumentirerowmetadata

    when 0 then null

    else c.lineage

    end as lineage,

    case @enumentirerowmetadata

    when 0 then null

    else c.colv1

    end as colv1,

    t.[DisabilityComment] ,

    t.[ID] ,

    t.[Claim Number] ,

    t.[Social Security Number] ,

    t.[EE#] ,

    t.[Last Name] ,

    t.[First Name] ,

    t.[Address] ,

    t.[City] ,

    t.[Telephone] ,

    t.[CountryCode] ,

    t.[HomePager] ,

    t.[HomeCellular] ,

    t.[HomeE-Mail] ,

    t.[State] ,

    t.[Zip] ,

    t.[DOB] ,

    t.[Pager] ,

    t.[PagerPIN] ,

    t.[Cellular] ,

    t.[Company] ,

    t.[WorkPhone] ,

    t.[WorkExtension] ,

    t.[WorkE-Mail] ,

    t.[JobTitle] ,

    exec @retcode = @procname

    @maxschemaguidforarticle = @maxschemaguidforarticle,

    @type= 2,

    @enumentirerowmetadata= @enumentirerowmetadata, --??

    @blob_cols_at_the_end=@blob_cols_at_the_end

    Proc [Database Id = 32767 Object Id = -499764261]

    update [dbo].[tblDataEntry] set [Concurrent Medical] = @p65

    from [dbo].[tblDataEntry] t

    where t.[rowguid] = @rowguid and

    exists (select 1 from dbo.MSmerge_contents c with (rowlock)

    where c.rowguid = @rowguid and

    c.tablenick = 9016105 and

    c.lineage = @lineage_old)

    Proc [Database Id = 7 Object Id = 162893189]

Viewing 0 posts

You must be logged in to reply to this topic. Login to reply