Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 SQL Server Administration (2005)
 SQL Server replication

Author  Topic 

mahajanakhil1985
Yak Posting Veteran

71 Posts

Posted - 2010-08-19 : 06:33:17
Hello. I want to know if there is a way to replicate only changed data if I am using Snapshot replication in sql server. I cannot use transactional replication because there are certain tables that do not have a primary key, this prhibits me from using transactional replication.

So, I need to know either of the two:
1. A way to take something like incremental snapshot and apply it to the subscriber (cannot take full snapshot everytime as I have to take snapshot every 20-30 minutes and this will use huge bandwidth of the link).
2. A way to include all the tables (even if they don't have primary key) and related data when using transactional replication.

Note: The changes have to propagate from primary to secondary database and not vice versa.

RickD
Slow But Sure Yak Herding Master

3608 Posts

Posted - 2010-08-19 : 06:46:33
Why not create primary keys for the tables? This should only be a problem if your code is using SELECT * or INSERT INTO without field lists, which is bad practice anyway..

The upside is that even with a surrogate key (identity or user defined), you will speed up your queries and inserts..
Go to Top of Page

mahajanakhil1985
Yak Posting Veteran

71 Posts

Posted - 2010-08-19 : 09:04:48
The database comes with the application, cannot add primary key. I want to replicate the database as part of DR plan. The snapshot replication could work but I cannot transfer GBs of data every 30 minutes over the link.

What is a surrogate key? Does it require any changes on the database side?
Go to Top of Page

RickD
Slow But Sure Yak Herding Master

3608 Posts

Posted - 2010-08-19 : 09:27:05
How about log shipping?

Surrogate keys are keys created due to their not being a natural primary key, the problem you face is that this is a third party application and they obviously don't care about design in the database, so I wouldn't add keys without speaking to them first.

Sounds like log-shipping would be the best thing for it.

This may be of soem help:

http://omaralzabir.com/how_to_setup_sql_server_2005_transaction_log_ship_on_large_database_that_really_works/
Go to Top of Page

mahajanakhil1985
Yak Posting Veteran

71 Posts

Posted - 2010-08-23 : 06:28:36
Thanks!!
Go to Top of Page
   

- Advertisement -