Search code examples
sql-serversql-server-2005t-sqlreplicationmerge-replication

Will this force a reinitialize in Merge Replication Topology?


I need to add a couple of columns to a table that is a part of a replication set. It is not a constraint column or a part of any article filters and it allows NULL. I have a pretty good idea that I can run this:

ALTER TABLE tblPlanDomain 
    ADD ReportWageES VARCHAR (100) NULL

and NOT force all my clients to reinitialize but I was hoping for some reassurance. Can anyone verify this one way or the other for me?

Thanks,

EDIT:

This is what I am talking about --> http://msdn.microsoft.com/en-us/library/ms151870.aspx

It would seem, based on that, that the answer to my question is NO but I would still like a human confirmation.


Solution

  • I can confirm that you are able to add as many columns as needed in a merge replication without reinitializing the whole replication. Instructions such as

    ALTER TABLE myTable ADD myColumn myDataType Null
    

    Will not force a reinitialisation

    Instructions such as adding indexes or foreign key constraints can also be easily propogated to subscribers without reinitialisation.

    Adding a new table to a merge topology can also be done easily: though it requires the rebuilding of the snapshot, the merge process will not restart from scratch: only , and only the new table's structure and data will be sent to the subscribers on the following replication. This said, be carefull not to replicate tables that implement constraints depending on other non replicated tables ...