Delivering the complete database change management solution is made possible with DB Ghost from Innovartis. You can now package your SQL Server source database to produce an installer that will dynamically and seamlessly account for any differences in the target schema.
Asad Mahmood shows us that he’s not afraid of ghosts.
The DB Ghost Database Change Management solution has recently been supplemented with a new solution delivery module - DB Ghost Packager Plus.
DB Ghost Packager and DB Ghost Packager Plus enable you to “package” version upgrades of your SQL Server 2000 and 2005 database into an executable file or C# project. The executable can then be distributed and run on multiple servers.
In order to fully appreciate the value offered by DB Ghost Packager Plus it is important to understand DB Ghost Packager and perhaps even before this the DB Ghost Database Change Manager.
What is DB Ghost?
The DB Ghost Database Change Manager allows the build, compare and synchronisation of SQL Server databases. DB Ghost introduces a unique set of tools and a process designed to manage and automate database change management.
Any database administrator will understand that managing database change is a challenge at the best of times and can often be a complete nightmare. The familiar wizard driven approach of DB Ghost allows the scripting of a database and facilitates the managing of changes by interfacing with any Source Control System (SCS). Database scripts generated by the Data and Schema Scripter can be stored in your organisation’s SCS and subsequently made available in the development domain.
Developments to the database scripts can be used to create new databases, diff against existing databases or even used to synchronise changes with an existing database. All this is achieved whilst maintaining a complete audit trail of versions and changes in the SCS. Build errors are identified during this process and upgrade scripts can be automatically generated. The upgrade delta scripts can then be executed against other similar versions of the database to ensure that changes are applied in a managed and controlled environment. DB Ghost’s ability to automate these builds encourages the good practice of regular database builds.
Simplifying database upgrades for the user
The arrival of DB Ghost Packager and DB Ghost Packager Plus has reformulated the management of database changes into a deliverable solution. The database change management solution now extends beyond the internal workings of the organisation and can be delivered directly to the customer in the form of a single-click executable. Both DB Ghost Packager and DB Ghost Packager Plus offer this new capability and at its simplest, are able to upgrade an existing database instance through the execution of a single delta script via an executable file.
The source database has to be in a known state, which is assumed by the fixed upgrade delta script. In the case where the source database deviates from this expectancy, the upgrade could fail. The difference between the DB Ghost Packager and Packager Plus lies in their ability to identify and handle the state of the source database.
DB Ghost Packager is able to upgrade a database from one specific version to a newer version as referenced by the delta script underpinning the executable generated by the Packager. This upgrade is delivered in the form of an executable and can be included in an application upgrade or a one-click install.
DB Ghost Packager Plus extends this concept by allowing an upgrade from any previous version of the database. The target database may vary in its version and state and yet will be handled by a generic upgrade executable, which is derived from the Packager Plus process, as illustrated below. This streamlines significantly the database management efforts required for situations where the target database has been altered since its creation or last upgrade.
It can also preserve any previous customisations of the database and seamlessly handle these differences through its synchronisation process. The Packager Plus product goes beyond the application of a simple upgrade delta script and allows the controlled upgrade of different versions of source databases.
DB Ghost Packager Plus produces a one-click installation executable or a C# project which can be used for any version of a target database. This is to ensure that in situations where previous databases have been modified, the upgrade is effectively handled. The irregularities in database versions may simply be the result of clients making custom changes to the database objects, or perhaps a different set of patches have been applied by different customers. Ultimately the resulting situation is that varied versions of the database exist and must be accommodated by the proposed upgrade process. Traditionally this would call for the need of multiple delta scripts, each handling different states of the target database.
DB Ghost Packager Plus makes the delivery of database changes effective and manageable. It removes the need to directly programme SQL code and is instead able to identify the required database changes by stepping the user through a wizard. The ability to add custom SQL scripts at various points has also been provided to ensure that any special conditions can be met. This can be useful in a situation where certain changes or checks need to be made pre- or post-compilation of the upgrade script.
We will now guide you through the various steps in using Packager Plus.