Microsoft SQL Server gets 'clone magic' tool from Redgate

Redgate is a Cambridge UK based software company known for developing tools for Microsoft’s relational database management product SQL Server.

Aren’t there enough tools in the Microsoft SQL Server world anyway? The product itself is essentially a piece of software, after all.

What Redgate aims to bring to the table is the beta of its new ‘database cloning’ tool, SQL Clone.

The firm says that databases can now be cloned in seconds using its software.

Why clone a database? 

“The new technology resolves a long-standing issue in software development, where developers need copies of production databases for use in development and test environments. Typically, this involves database administrators having to provision a copy of the database for each request, which takes up valuable time as well as disk space,” explains the firm.

The result? Teams end up working on outdated versions of the database in a shared environment, rather than having the freedom to work on isolated local versions that can be created – and deleted – in seconds.

Aren’t there database cloning tools from Microsoft?

Well yes, MSDN notes here specify the below functionality.

“By using these steps, you can easily create a development or test database from a production database with identical schema and data. You can then continue to develop the test database in a connected mode, or create a database project for offline development and testing, all without disrupting the operation of the production database,” reads the MSDN intro.

So what does Redgate do differently?

SQL Clone enables developers to have their own local copy of the database and testers to have realistic versions of what the production database actually looks like.

In short, Redgate appears to present a more dynamic means of working with cloned SQL Server database versions (and one that provides more access to original data images) more quickly.

This, in turn, means that these clones can thus be used for more accurate development and testing, or to diagnose issues in production, with developers having a realistic server environment and data set that doesn’t waste disk space.

Instead of spending hours provisioning different copies of the database for development, testing or diagnostics, SQL Clone creates a single data image of a live SQL Server database or backup, which is used as the source data from which the clones are derived.

Instant cloning

Clones can then be created almost instantly, time and again, with each clone taking up only about 40MB, even for databases of 2TB in size. The clones work just like normal SQL Server databases and can be connected to and edited with any program. 

 While SQL Clone is a new approach to replicating databases, it uses the virtualisation technology built into 64-bit Windows, which is already tried, tested and trusted. “That’s probably its biggest advantage, even at beta stage,” said Richard Macaskill, Redgate product manager. “This isn’t new technology, it’s a new way of using the technology already out there.”

The magic: original data image access

The magic comes when developers make changes to the cloned database. Data is accessed from the original data image and changes are saved locally. Nothing actually touches or affects the original database or backup file and the data image is also immutable. Instead, changes made to clones are stored in a local differencing file where the clone is located.

“That’s where SQL Clone comes into its own,” adds Macaskill. “It means that, rather than developers having to share a copy of a database – with all the overhead and friction that entails – they can work with the database as they do with code, free to experiment, reverting changes at will, and sharing work when it’s ready.”

The development team at Redgate is now enhancing the tool so that when it’s fully launched, users will be able to automate jobs using PowerShell.