16. March 2009 09:55
I had to get merge replication going on a bigish database the other day and wanted to confirm the sequence of steps to do a manual initialisation of a subscriber database. The subscriber database was in Perth and it took over 4 hours to do an initialisation in the normal way.
Try and I might I couldn't find the exact sequence of steps so I'll list them here. Replication under SQL2008 is much improved over SQL2005 as well which is nice.
- Create the publication in the normal way. Make sure you create the initial snapshot because as part of this process the replication articles are preopared for replication ie guid columns added, triggers created etc.
- Backup your publisher database and transfer to your subscriber server.
- Restore the database at the subscriber database ticking "Preserve with replication settings" on the options tab.
- Create the subscription but on the "Initialize Subscriptions" step untick the "Initialize" cjeck box.
When the subscription is created the tables at the subscriber will be "prepared" but importantly no data will be transferred down to the subscriber.
I had about 100 tables in my DB and it took about 20 minutes for the "prepartion" to complete.
15. March 2009 11:17
Just a small gotcha with updateable transaction replication which I only found out the hard way, which is, Text columns are not updateable at the subscriber! Tar and feather me if everyone but me knew this but it's a pretty big gotcha if you ask me.
Luckily varchar(MAX) to the rescue and row sizes about 8092! All good after that.