DBGhost Review

  • Comments posted to this topic are about the content posted at http://www.sqlservercentral.com/columnists/jbrown/dbghostreview.asp

  • Great review Jeremy - thanks!

    I would disagree on one point though - using DB Ghost against the production database.  I would recommend this for the following reasons:

    1. When DB Ghost is actively upgrading a database it can remove "extra" objects as well thus guaranteeing that the target databases schema matches the source code exactly.  Using a delta script would not perform this tidy up function and, over time, the production schema could have all sorts of differences.  Now, I know that no one is EVER supposed to update the live schema but, whether we like it or not, changes can be made by the production DBAs.  Using DB Ghost directly against the schema ensures that this litter is swept up at every release and the staff who make tactical changes will very soon get the message that they need to follow the correct process.

    2. If you use DB Ghost to upgrade development, test and UAT then you should use it for production as well as it is simply good practice to follow the same process all the way through the development/deployment cycle.

    3. You take a backup of the live database before any upgrade so what's the problem?  A script can fail and leave the schema in an unknown state - solution? restore the database.  DB Ghost could fail during the upgrade - solution? restore the database and etc. etc.

    However, having said all that, I do understand that sometimes it is easier to give the production DBAs a script rather than convince them to use a tool.

    Once again - thanks for a great review, it's always good to hear that other people love DB Ghost too!

    Malc

    Malcolm
    DB Ghost - Build, compare and synchronize from source control = Database Change Management for SQL Server
    www.dbghost.com

  • I completely agree with Malc re production upgrades. This is what we do at ntl with our production upgrades. The live databases are safe copied on the SAN, then I use DBGhost to upgrade several months worth of development changes to the live schema. This is a lot easier than continuously maintaining a gigantic set of delta scripts; which I feel are more fragile to hot fixes that have gone live during the development phase. We have been upgrading live using DBGhost over two years and not had any problems. Needless to say I do a few rehearsals in the run up to a go live. To give everyone an idea of the job DBGhost does for us; our production databases are around 700 Gb with over 1000 tables( several with over 10 million rows) and 4000 sprocs. The only downside of DBGhost is I have to pretend to be busy now

  • DBGhost simply makes time consuming database system upgrade jobs simple and reliable.  Its the solution that Microsoft have somehow overlooked.  Best way is to try out on a basic database and you'll see the advantages even then and then imagine the possiblilities on large corporate systems, whenever you need to rollout enhancements.

  • I totally agree that DB Ghost is a terrific product that is filling a void in the SQL source control management area. The only caution I would add is over simplification on the real world scenarios that are rarely found in actuallity. The "Hello World" examples that we most often see from Microsoft and reviews usually do not apply in most cases. This would be no exception.

    You should carefully consider the impact to your current processes. If you have a scenario that does not fall into the "Hello World" examples, what is it going to take to really implement a new product? How does this impact your development team? Your packaging group? Testing? (QA)

    If your production databases are as suspect as most, are their additional steps that you will need to take during the transition period? Are these databases internal or external? If external, you may have to add features to your upgrade process.

    Does your management and development team support the new process 100 percent from the beginning or will the process be implemented in stages? The work required could be much greater initially when trying to integrate new and old processes.

    DB Ghost also has some terrific features that in order to take advantage, you need to allocate the proper resource time. Features such as the Software Development Kit and the scipting tool. What this software will help you accomplish long term is well worth the effort but it is not an overnight transition.

  • Mark is correct.  As with any tool that deals with a critical process such as production code promotion, you have to evaluate and allow for a transition period.

    With that being said,  DBGhost has the flexibility you would need during this time.  Granted, it won't be an instant fix.  However if you can carefully communicate the DBGhost process with other database developers, in time the job of managing and promoting SQL code will become much easier.  Certainly easier and less error-prone than doing it "by hand".

    And to piggy back on Malcolm's comment.  Once you start using the tool, you may decide to allow the tool to update production directly.  One reason I can see right away is due to the way it handles SQL logins.  However, being the paranoid DBA that I am, I want to see exactly what is going to be executed against my production database before I execute it.

    If you decide to go this route, at the very least, you will want to generate this script in QA and look at it just before "go-live".

    Of course, I'm the kind of DBA that looks at ANY tool with caution.  Including Enterprise Manager / SQL-DMO.  Just gimmie the code, the whole code, and nothing but the code... 

  • Excellent review, Jeremy. I would have to agree on attempting to use it on production databases with the other posters (albeit with caution). If source control works the way it should, it transition one completely from development through production. Any time you go to a manual process in that chain you introduce the chance for human error. That's why auditors like source control mechanisms that handle the entire lifecycle.

    K. Brian Kelley
    @kbriankelley

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply