Peer-to-peer replication and identity columns

  • All of the articles regarding identity columns for peer-to-peer replication talk about setting identity ranges when writing to multiple members at the same time. In my case, It's going to be configured as a DR solution so only the primary site will receive updates unless there is a need to fail over to the secondary site which will be rare. Only one member will ever be making updates at any given time. In my implementation I would think that it would be desirable to have no identity ranges configured and to have replicated commands update the identity values so that the primary and secondary sites are in sync. Does this sound like a reasonable configuration?

  • jchamiak (1/21/2013)


    In my implementation I would think that it would be desirable to have no identity ranges configured and to have replicated commands update the identity values so that the primary and secondary sites are in sync.

    In transactional replication every article (table ) should have PK (in this case identity column as PK), So in P2p replication both side's table will have same schema (same identity column..same PK). so i dont think you can implement that , but better TEST what you think.

    -------Bhuvnesh----------
    I work only to learn Sql Server...though my company pays me for getting their stuff done;-)

  • What you want to do sounds similar to what we have done.

    We use P2P but send all our updates to a single node, which is identified using a DNS vanity name. At failover time we update the vanity name and our apps then connect to the new master node.

    There one problem we have had to overcome. P2P does not update the identity seed value on receiving nodes. This means that after failover the new master node will want to insert records using an identity value that is already in use.

    We have overcome this by writing some code that keeps track of identity value high-water mark, and automatically applying appropriate CHECKIDENT RESEED commands to the new master node at failover.

    Original author: https://github.com/SQL-FineBuild/Common/wiki/ 1-click install and best practice configuration of SQL Server 2019, 2017 2016, 2014, 2012, 2008 R2, 2008 and 2005.

    When I give food to the poor they call me a saint. When I ask why they are poor they call me a communist - Archbishop Hélder Câmara

  • EdVassie (1/28/2013)


    What you want to do sounds similar to what we have done.

    We use P2P but send all our updates to a single node, which is identified using a DNS vanity name. At failover time we update the vanity name and our apps then connect to the new master node.

    There one problem we have had to overcome. P2P does not update the identity seed value on receiving nodes. This means that after failover the new master node will want to insert records using an identity value that is already in use.

    We have overcome this by writing some code that keeps track of identity value high-water mark, and automatically applying appropriate CHECKIDENT RESEED commands to the new master node at failover.

    This is something that I will likely need to do as well. Now at least I have an idea to start with. Thanks for the feeback.

Viewing 4 posts - 1 through 3 (of 3 total)

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