Sync One DB to Many

appwrightappwright Posts: 62
edited February 9, 2006 6:13AM in SQL Compare Previous Versions
I have a need to compare just one DB against another, then run the Sync process against 300 other DB's. All DB's should be exactly the same.

As you can imagine, this is a pretty tedious process even now using SQL Compare. It would be nice to have a listing of all DB's that I could just put a checkmark by to run the Sync Script against and a summary output of all pass/fail reports.

Any ideas if this can be done with SQL Compare, or if it could be an added feature. Seems like it would be pretty easy to add.

Also - I know about the toolkit, however I don't have it or the time at the moment to build it. I would like to see this in SQL Compare and not suggested to the toolkit. :wink:

SQL Compare is a great product and I think this would be a logical step in it's evolution and upgrades!

Comments

  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hello Todd,

    It's something we can look into. In the end, though, it would still mean a separate script for each database to bring it in line with the 'master' unless the schemata of each database is exactly the same. But in that case it should suffice to do the comparison once and apply it to each subsequent database.

    I wouldn't insult anyone by recommending Toolkit because the restriction to only be able to compare one database to another is enforced by SQL Compare's underlying engine. It would make it a bit easier to automate using toolkit; to compare database a to b, then a to c, etc.

    If multi database comparisons found their way into the engine then they would most likely find their way into the UI.
  • Well I looked at the packager as the website says it's for this scenerio but it doesn't look like it really fits my needs. I noticed that the Toolkit only uses .NET languages, that's a bummer - I would have to use the commandline on that I guess.
  • Hi Todd,

    What was it about SQL Packager that wasn't right for your needs? Is it that the target databases are all different from each other? Or is there some other functionality that you needed to do this job that isn't provided?

    Simon Galbraith
  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hi Todd,
    You can use SQL Compare to synchronize a multitude of databases -- although technically you can only do two at a time. What you can also do is use SQL Compare to create a script, save it to disk, and use something like osql, the command-line SQL query utility that comes with SQL Server, to run the script. Then you don't need .NET, except to run SQL Compare to create the baseline schema script.
  • Yes - I think I might be able to come up with a solution like that. I can code VB6 so I could write a program that would build the list I could check-off and the run the same script over and and over against each DB.

    After looking over the Toolkit more it looks like this other solution would work better for me given the .NET requirement.
  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hello Todd,

    Toolkit also includes a pre-build command-line executable. You would simply need to write a batch file, which may be easier for you.

    The SQL Toolkit assemblies are all .NET anyway, so you'd need Visual Studio .NET to program against them. VB6 can't reference the assemblies. This may also be a good reason to look into using the command line versions instead!
Sign In or Register to comment.