PRO: Best Practices

PRO: Best Practices #

All features described on this page are part of the Professional Edition.

While in beta, you can enable the Professional Edition by creating an account and downloading a license from

The PRO edition will become a paid version. Until then, PRO features expire 60 days after the build date. Please see for updated builds or run sqldsc update.

Domains #

If you work with multiple domains, go all in on that.

  • Have multiple DOMAIN.targets.hcl and NO targets.hcl
  • Have domain specific directories under nodes and NO .hcl files under the root of nodes

Roles #

Common uses for Roles include:

  • Seperate DEV from PROD
  • Group all nodes of an AG together
  • Group servers that are of specific versions
  • Group servers by language or time zone
  • Group servers by business unit

Roles can be used to group servers even if there aren’t settings in that role – however it still needs an empty .hcl file. This can be used to stage large changes.

  • This can be done by using the --role filter to only process certain servers. For example, you could edit defaults.hcl but then run with --role alpha and it would only process for those servers assigned to role alpha.
  • Or it could be done by changing the role specific setting file. For example, you could update alpha.hcl and run for all servers. Then you could put those settings in defaults.hcl and remove them from alpha.hcl and run again.