October 27, 2006 at 9:56 am
One of our internal applications currently uses SQL 2000 Std and does not have primary keys, but does use indexes (My first thought...get a new vendor). From what I have seen, a PK must be in place for replication to work. Unfortunately, I cannot modify any of the table structures or we will no longer have support from the vendor. 2000 Std does not come with the full blown log shipping tool I believe, but should not be a problem putting a simple one together. I think my only option in this case is to use log shipping or does anyone know how I can do replication?
October 30, 2006 at 8:00 am
This was removed by the editor as SPAM
October 30, 2006 at 11:50 am
With SQL Server you must have a primary key. A unique index does not substtitute, basically because nulls are allowed in a unique index. Most DBs (SQL included) automatically build unique index for PKs. I just went through creating a script to drop all UI and creating all PKs for a proprietary DB.
As for "get another vendor"... well, most DBs require PKs to replicate. Oracle does... Sybase sort of does... there are certain types of rows that will replicate without one, and Sybase lets you do it... but it's not really smart.
I just saw a reference in my "2000 tables system map" help file that said enterprise edition was required for log shipping... yet, I believe the check box to log ship exists in standard edition. Prior to my arrival here people had tried log-shipping unsuccessfully, and I initially thought it was becasue "3rd party backup software...and/or maintenance plan backups" had not been removed - as is a requirement for log shipping. Now I am inclined to believe that the feature does not exist in std edition.
Maybe the reason the check box is there is because you can ship FROM a standard edition, just not to one.... dunno. I'd be interested to hear, Rudy?????
okay, maybe your application vendor should (could) be replaced... or maybe you could convince them to allow you to replicate their DB... then again, maybe they charge more for the replicated version.
You still might try it in a test environment... and just see what the problems are... the only other thing that sticks in my mind is the identity columns. There are also certain data types that don't replicate (text, and image, I believe, to name two).
Keep us posted.
Thank-you,
David Russell
Any Cloud, Any Database, Oracle since 1982
November 1, 2006 at 12:36 pm
Just to clarify .... Transactional replication requires a primary key, so that it can find the records to update. Snapshot replication does not require a key because it imports the entire table each time. Snapshot is best for small, infrequently changing tables, while transactional is best for large, frequently updated tables.
November 2, 2006 at 7:59 am
In replication, we can choose data to replicate.
In log shipping, we have no choice but all data.
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply