Snapshot replication

  • What is the process to make DDL changes on the subscriber database?

  • If you change the tables that are published, then the replication will fail, but if you use sp to replicate the changes, then you can modify them and add the new column or what ever change you made.

  • Sorry, I though it was transacctional replication. With snapshot replication you can't change the table. Or it will depende of the changes.

    But be carefull because depending of how you configure your publication, the snapshot agent can drop and recreate the table each time in runs. So you should change the property.

    To be sure check the files that the snapshot agents prepares to generate the snapshot in your snapshot working folder.

    Also remember that you can run scripts before and after the snapshot agents runs.

    So you could alter the table, just after the snapshot is applied to the subscriber.

  • Snapshot repl:

    I just want to make a column data type change.

    How?

  • Wich column data type in the subscriber and in the publisher?

  • change a decimal data type in both.

    18,2 to 18,4

  • If you change them in both then you won't have any problems. The next time the snapshot agents runs, it will create a snapshot with the new data types and apply them to the subscribers.

    you should change both data types in both serves before the agent runs.

  • I was told that you cannot make changes to the publisher without stopping replciation for snapshot.

    Is this true?

  • That is true. But reinitializing snapshot replication is just like running the replication agent, so you want have any problem. A different thing would be with transactional or merge replication in wich reinitializing the publication can be very hard.

    You could, drop the publication, make the changes, and then create the publication againg, and finally run the agents.

    The best way to drop and create the publication is using scripts. You can script the publication with EM.

  • problem: (two possibly)

    alter table property alter column building_size_ext decimal(18,2)

    Server: Msg 4929, Level 16, State 1, Line 1

    Cannot alter the table 'property' because it is being published for replication.

    Warning: The table 'property' has been created but its maximum row size (14769) exceeds the maximum number of bytes per row (8060). INSERT or UPDATE of a row in this table will fail if the resulting row length exceeds 8060 bytes.

  • You should drop the publication before alter the table.

  • wouldn't dropping just the article work?

    exec sp_droparticle @publication = ...

    exec sp_addarticle @publication = ...

    (as you can tell from my questions I have no way to test this...just in prod.)

Viewing 12 posts - 1 through 11 (of 11 total)

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