We use transactional push replication where muliple publisher (publication) replicate to on subscriber db. Sometimes have deadlocks during 2 Subscriber updation system table MSreplication_subscriptions. Both updates are as follows : update MSreplication_subscriptions set transaction_timestamp = cast(@P1 as binary(15)) + cast(substring(transaction_timestamp, 16, 1) as binary(1)), "time" = @P2 where UPPER(publisher) = UPPER(@P3) and publisher_db = @P4 and publication = @P5 and subscription_type = 0 and (substring(transaction_timestamp, 16, 1) = 0 or datalength(transaction_timestamp) < 16)Examine the table scheme shows that transaction_timestamp is part of the unique clustered index. So it seems to be logic that deadlocks might happen.But for what reasons transaction_timestamp is part of the unique index ?Isn't publication, publisher_db and publisher unique for itself ?
Product Language
Version
Category
Operating System
Operating System Language
Steps to Reproduce
Actual Results
Expected Results
Platform