Deployment–Using existing SQL instances with PDT

Deployment–Using existing SQL instances with PDT

  • Comments 6
  • Likes

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.

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • Does 'Existing="True"'also work for all other roles? I have an existing VMM installation and now I want to deploy all other components of System Center.

  • saebel - Existing = "True" is only intended for SQL roles, the reason being that many organizations only allow a DBA team to install SQL so PDT can't assume it has admin access to those servers. Having said that, it may work for other roles although that is not something I test. For other roles, if the role is already installed PDT will just skip it since it checks before it does any installation - but it will need admin access to those servers to check.

  • i am trying to build the Cloud LAB by using PDT2.5.2509.zip validation for SQL Variables giving error. Role: System Center 2012 R2 Virtual Machine Manager Database Server Instance... Passed. SQL Server Version for Instance ... Failed SQL Server Version not specified. pls give me a hint to overcome from this issue

  • Rob, Thanks for this amazing kit! [1] If 'Existing=True' is used for SQL roles, are the instance parameters in the SQL section from the variable.xml still being used as a reference? If so, it would make sense if the SQL section represent the existing SQL instances configuration for a correct installation/configuration of the SQL-depending roles. [2] I have an existing SQL 2012 SP1 cluster which I'd like to use for a SC2012R2 POC. Can the amount of SQL server instances, as currently defined in variables.xml, be reduced further by combining them? Is there a PDT supported combination with less SQL servers then currently specified in the variable.xml?

  • Orinoco - The only parameters used from the SQL section when using Existing="True" are the SQL Version, because the supporting prerequisites for System Center can be dependent on the version of SQL being used - specifically with Service Manager. Everything else is ignored. As for SQL combinations, PDT restricts you to supported configurations. You can skip validation and try other combinations, but it will almost certainly at least result in performance issues, if not installation or operational failures.

  • @Kaliyan: I had the same issue you had. I ran the validation through Powershell ISE (avoiding the don't run this in ISE section) and while debugging noticed that I had specified the SQL server FQDN incorrectly. Once I fixed this the issue disappeared. The error described didn't actually help troubleshooting so just check your SQL server settings.