Deployment–Using existing SQL instances with PDT

During a discussion with some Microsoft consultants using PDT today for some more advanced deployment scenarios, I was reminded that there is a very useful feature of PDT that I have never blogged about – the ability to use existing SQL instances, instead of having PDT install SQL.  This feature has been part of PDT from day 1 – the reason being that we find a lot of organizations have strict rules about who is allowed to deploy SQL.  So, if your organization requires that a DBA control all SQL instances you can have them install SQL to your requirements, but still use PDT to deploy System Center.

Using existing SQL instances is easy – you just add Existing=”True” to the role line in Variable.xml:

<Role Name=”System Center 2012 R2 Virtual Machine Manager Database Server” Server=”VMMDB.contoso.com” Instance=”MSSQLSERVER” Existing=”True”>

This tells PDT not to attempt to install anything against that server, but to use it for the database role.

PDT does not assume that the installer service account has any permissions to Windows Server on this role – but it does assume that the installer service account has permissions to the SQL instance, the SQL instance has the appropriate SQL features enabled, and the SQL collation is correct.  None of these are validated – so if they are incorrect, it is likely that the role installation that uses that SQL instance will fail.