I want to sysprep a Windows Server 2008 R2 SP1 machine that has SQL Server 2008 R2 SP1 installed (for reference, SQL Server 2008 R2 has a new sysprep feature that allows the instance to be sysprepped).
On the server is a SQL Server client alias that points to the default SQL Server database engine instance. For reference, the alias is called Alias-SQLServer and has been configured in both 32-bit and 64-bit cliconfig versions (that is, both registry keys exist)
The alias points to the local instance as the image will be used to create development VMs and the installation script for the application that is being developed will use the SQL Server client alias in order to generalize the installation scripts.
I can't seem to find information about whether the sysprep tool will update the SQL Server client alias's registry keys with the server's new name once it's unsealed. My guess is that it is not; how is sysprep to know that the server name the alias points to will be different for each image? Right?
Perhaps if the alias points to localhost instead of the server name this will work?
I tested it out.
I created a new VM and prepped SQL Server for sysprepping. I created two aliases:
.
Then I sealed the image with sysprep.exe. After unsealing, the aliases remained as entered:
(I swear I didn't reuse the screen shots)
You'll notice that A-SQL2 still points to the hostname, that is, it wasn't updated with the new server name.
I completed setting up SQL Server and then attempted to connect using both aliases.
A-SQL1:
and
A-SQL2:
A-SQL1 works as it points to localhost and A-SQL2 doesn't as it now points to the old hostname and was not updated as part of the sysprep.