I've been using the Red Gate SQL Comparison API in a project that's getting long in the tooth. We use a fraction of its abilities and I am evaluating other options.
Our scenario is basically this:
- We have two SQL Server 2008 databases that can be assumed to have identical schemas.
- The databases are tiny. Most tables have less than 10K rows; some have less than 100.
- DB1 can be considered "primary." We only make changes to DB1 directly, and those changes are propagated to DB2.
- A small set of five tables, when modified in DB1, must be replicated to DB2 immediately.
- Occasionally the entire database — less a set of exclusion tables (e.g. logs) — must be replicated at once, again from DB1 to DB2. This is triggered from a web form.
At the moment all of this is handled in code using Red Gate's SDK to do the dirty work.
How else might I go about this? I'm open to pure SQL Server solutions (replication?) if you think it's the right choice, though a pure C# solution would require a bit less interaction with my IT department, if you catch my drift.