Scaling out a New SQL Clone Installation
Published 26 November 2019
If you've started out by testing a SQL Clone single-server installation, it is time to extend it. The simplest technique is to do a new install, but you have the alternative of just extending the trial install. It is easiest if you can keep the SQL Clone Server and configuration database on their original machines, but you can move them if required.
Adding more Image locations
You can leave the original image location in place, but an obvious first extension is to create more. In a full commercial installation, the choice and configuration of each file share server is very important:
- Any file share must have a fast and reliable network connection to every machine that will be hosting clones, all of which should be on the same local area network.
- See How SQL Clone Works for more details
- Check the sustained throughput to be certain that it performs well, ideally by running a few timed file copy operations at various times of day.
- Any file share will need plenty of free space, enough to hold images (exact, full-size copies) of each source database that you want to clone.
- Only SQL Clone Agents should have access to any file share.
Adding more SQL Clone machines
Every machine hosting a SQL Server instance that will be used to either take an image of a database or create a clone from an image needs a Clone Agent Service.
On each of these machines, you'll need to:
- Create a Clone Agent user account with appropriate permissions: See Getting Ready for SQL Clone
- Install the Agent: open the Clone web console, download an Agent and install it using the above credentials
Adding more SQL Clone users
Access rights for all SQL Clone users are managed within the SQL Clone Server by assigning these users to SQL Clone roles and teams. A SQL Clone administrator can use the web UI to create users or grant access to Active Directory users in the domain and assign authenticated users to their required roles and teams.
These users can correspond to Windows domain users or to local users requiring credentials. Each user must then provide theses credential when access the SQL Clone service, via their browser. Credentials can be provided by users whether accessing the system via the browser or by Connect-SqlClone in PowerShell. This can help in tying down permissions so that scheduled processes can run with only the required access rights. It also allows SQL Clone to be used outside a Windows domain.
Move a SQL Clone Server
The 'SQL Clone Server Setup' installation process can be re-run from the Windows start menu if you need to make changes such as changing the clone database location
To move the SQL Clone Server to another machine:
- If necessary, move the configuration database to another instance, and then set up Clone Server to use it.
- open certlm on the new machine to view your machine's locally installed certificates. In Personal, find the new SQL Clone Server Agent Certificate, and copy its hexadecimal thumbprint (deleting any spaces).
On each of your agent machines,
- Find the agent's json file (usually in %ProgramData%\Red Gate\SQL Clone Agent on newer operating systems, or in CommonAppData on older).
- Take a backup of this file in case of any issue.
- Within this file, update the management service's thumbprint to the new thumbprint, and the URL to the new URL (taking care to use HTTPS, and the agent port of 14146). Restart your agent via Services, and it should connect to the new SQL Clone Server.