I am being asked to create database replication definitions for a couple of databases (around 20 databases). I just wanted to clarify is the below-mentioned steps are the correct steps to be carried out?
Let's says 'customer' is one of my database.
- Set ddl in tran to true
sp_dboption customer,"ddl in tran", true
- Mark the primary database using sp_reptostandby
sp_reptostandby customer,'all'
- Set the RepAgent parameter send warm standby xacts to true
sp_config_rep_agent customer,'send warm standby xacts', 'true'
- Create db repdef/subs
create database replication definition db_repdef_customer
with primary at DS.customer
replicate DDL
replicate system procedures
go
create subscription db_sub_customer
for database replication definition db_repdef_customer
with primary at DS.customer
with replicate at DS2.customer1
without materialization
go
(Note: DS.customer and DS2.customer1 are ASE-ASE replication)
After I have followed the above steps to create db repdef/subs, I hit a lot of permission issues on my replication ID to do INSERT/UPDATE/DELETE operators on those tables I did not setup table replication yet. Further check on these tables in my 'customer' database (ex. I tried to do insert/update/delete operations manually on tables without setting table repdef, I realised that the data replication is working for all the tables under the 'customer' database with/without I setup table replication. Is this normal? Any steps I have missed out? Please help.
Best Answer
step 1 not needed and not normally recommended as it can lead to contention issues on system tables
setp 3 is needed if you want to replicate DDL and system procs (which coincides with what you've got in step 4 - replicate DDL/sysprocs)
create sub
should be step 5check sub
should be step 6step 7 would be sending a
rs_ticket
from the PDB and making sure it arrives in RDB'srs_ticket_history
tablemake sure your maintuser (in RDB) is aliased to
dbo
to get around permissions issues