Questions about SQL Clone
I have a few questions that I was hoping could be answered. I'd like to evaluate SQL Clone for use in our enterprise, but need to understand if it can do certain things.
- How does SQL Clone handle cloning a database that has multiple filegroups spread across different drives?
- How large, typically, would the differencing disk need to be if adding a column to a table with 1 million records? (Obviously, I understand this will "depend" on various factors, just trying to figure out what actually gets written to the differencing disk)
- Would it essentially have to rewrite the entire table to the differencing disk?
- When updating a row, does it need to write the entire row to the disk, or just the changed column?
- What kind of performance penalty can we expect from the use of differencing disks? I'm not talking about running production with it, but more how will it affect testing performance.
- Does the "clone" need to be on the same server as the image?
- Is the image typically the same size as the "live" database?
Tagged:
Comments
I can answer a few of the question from my testing of SQL Clone.
Does the "clone" need to be on the same server as the image? - No can be any where you like
Is the image typically the same size as the "live" database? - Yes the image is about the same size of the live database
Neil
The differencing disk contains any pages that SQL Server has written to. If SQL Server has to rewrite the table, or an entire row, then that will be stored in the differencing disk.
I don't think the differencing disks themselves impose any significant performance penalty - the main thing will be the underlying storage & network. If your storage & network setup for the images is similar to production, then I would expect the performance to be similar. If significant changes are made to the clone (such as adding a column to a large table, as you mention above), then the situation will get more complicated.
That's fair - if you're only ever creating a single clone, then you don't save disk space overall. Although, if you have space on a network share for an image, but not on a local machine you want to clone to, then SQL Clone could still be advantageous from a disk space point of view by changing where the data is stored.
Redgate Software
EDIT: Nevermind, I found the Powershell reference in the documentation...
Redgate Software
Erik.HT asked about imaging databases with multiple filegroups and files spread across multiple disks. My followup question is, is there a way to exclude specific filegroups or files before the image is actually created? I have found that any database with a defunct file prevents me from cloning that database.
Thank you.