<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SQL Server Desired State Configuration on SQLDSC Documentation</title><link>https://docs.sqldsc.com/</link><description>Recent content in SQL Server Desired State Configuration on SQLDSC Documentation</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://docs.sqldsc.com/index.xml" rel="self" type="application/rss+xml"/><item><title>What's New</title><link>https://docs.sqldsc.com/docs/whats-new/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/whats-new/</guid><description>What&amp;rsquo;s New # Starting in 1.31, the application can update itself by running sqldsc update.
1.48 (7 September 2026) # FIX: For SQL Server Agent Jobs, don&amp;rsquo;t compare the database unless it is a TSQL step The binary is now digitally signed 1.46 (17 May 2026) # PRO: Contained Availability Groups are now supported using the ag_apply_mode attribute The sql_script block now uses -C to trust the server certificate and eliminate errors related to encrypted connections 1.</description></item><item><title>Installation</title><link>https://docs.sqldsc.com/docs/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/installation/</guid><description>Installation # SQLDSC is designed to be used with Visual Studio Code. It provides a great file editor and log file viewer.
Install Visual Studio Code # Install Visual Studio Code. By default, it installs for the current user which is usually what you want.
Install SQLDSC # Download the lastest version from scaleSQL.com and extract the contents of the ZIP file.
The application is a command-line executable.
Initialize the repository # In VSCode, open up the directory where sqldsc.</description></item><item><title>Basic Usage</title><link>https://docs.sqldsc.com/docs/basic-usage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/basic-usage/</guid><description>Basic Usage # Edit targets.hcl # These are the servers we&amp;rsquo;ll be testing and applying configuration to. targets.hcl should already look like this:
target &amp;#34;localhost&amp;#34; {} /* target &amp;#34;computer_name&amp;#34; {} target &amp;#34;computer\instance&amp;#34; {} target &amp;#34;fqdn.domain.tld&amp;#34; {} */ This will use locahost for testing. The commented out targets are samples to connect to named instances and a fully.qualfied.server.tld. For each targt, sqldsc will try to connect to the name inside the quotes.</description></item><item><title>Getting Started</title><link>https://docs.sqldsc.com/docs/getting-started/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/getting-started/</guid><description>Getting Started # This page walks through a process to build a good defaults.hcl file.
Baseline # The bare minimum change I make to every SQL Server are for security and fixing up the model database.
The sa login should be disabled by default xp_cmdshell is disabled by default and should stay that way. It provides a mechanism to get from SQL Server out to the operating system. The model database should be in SIMPLE recovery.</description></item><item><title>Targets</title><link>https://docs.sqldsc.com/docs/targets/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/targets/</guid><description>Targets # A sample targets.hcl looks like this:
target &amp;#34;D40\SQL2014&amp;#34; {} target &amp;#34;server.domain.com&amp;#34; {} The text in quotes is what it will try to connect to. The full layout of a targets file might look like this:
target_defaults { dial_timeout = 10 connect_timeout = 15 } target &amp;#34;my-target&amp;#34; { fqdn = &amp;#34;host:port&amp;#34; dial_timeout = 90 } The target_defaults block sets the defaults for all targets. The dial_timeout is the timeout to resolve the name and talk to the port.</description></item><item><title>Resource Blocks</title><link>https://docs.sqldsc.com/docs/resource-blocks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/resource-blocks/</guid><description>Resource Blocks # Everything you can set is defined as a Resource Block. Resource blocks have the following format.
resource &amp;#34;resource_type&amp;#34; &amp;#34;resource_name&amp;#34; { ensure = &amp;#34;present&amp;#34; ... other key = value entries ... } For resources that are identified using a single string (Logins, Agent Operators, Databases, etc.), the resource_name is often used to identify the resource. It can be overridden using the appropriate attribute. Please see the Resource Block Schema section.</description></item><item><title>Resource Block Schema</title><link>https://docs.sqldsc.com/docs/schema/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/schema/</guid><description>Resource Block Schema # Each resource block MAY have an ensure attribute. The possible values are:
present - If the resource doesn&amp;rsquo;t exist, create it. If it exists, alter it to match the resource block. absent - If the resource exists, remove it alter - If the resource exists, alter it. If it doesn&amp;rsquo;t exist, do nothing. If no ensure attribute is found, it defaults to present
Server Resource Blocks # The following resource block types are supported</description></item><item><title>File Layout</title><link>https://docs.sqldsc.com/docs/file-layout/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/file-layout/</guid><description>File Layout # By default, the configuration files are stored in the config directory.
config\ nodes\ ServerA.hcl ServerA__instance1.hcl serverB.hcl ServerB\ defaults.hcl Instance1.hcl Instance2.hcl defaults.hcl targets.hcl targets.hcl lists the targets that will be configured The configurations in defaults.hcl will be applied to all targets. The configurations stored in nodes\ServerA.hcl will override the defaults for all instances on ServerA. AND they will be applied to the default instance on ServerA. Configuring Named Instances # Prior to 1.</description></item><item><title>Resource Block Precedence</title><link>https://docs.sqldsc.com/docs/precedence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/precedence/</guid><description>Resource Block Precedence # A given resource can be defined in multiple places. The resources will be merged together to create the final configuration for the resource.
Each of these files can define the same configuration. For example, to configure the txn instance on node2 in this example, the following files would be used. Each lower file overrides the values in the higher file. The more specific file overrides the more general file.</description></item><item><title>SQL Server Logins</title><link>https://docs.sqldsc.com/docs/sql-server-logins/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/sql-server-logins/</guid><description>Managing SQL Server Logins # This section only applies to SQL Server logins. It doesn&amp;rsquo;t apply to domain users, domain groups, certificate-based logins, etc.
SQLDSC provides multiple mechanisms to make managing SQL Server logins simpler. These are focused on the SID and the password (hash).
SQL Server matches SQL Server logins to database users using the SID and not the name. A SID is a binary string whose hex representation looks like this: 0x79C4A6315F6A1942AAD4A386D816BAAC.</description></item><item><title>Linked Servers</title><link>https://docs.sqldsc.com/docs/linked-servers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/linked-servers/</guid><description>Linked Servers (BETA) # Linked Server support was added in 1.43.16. It supports the linked_server and linked_login Resource Blocks.
Resource Block Schema # linked_server - Some settings cannot be changed on existing servers. All values are optional. name (string - optional. If not provided, it defaults to the resource name) product (string) provider (string) data_source (string) catalog|database (string) You can use either catalog or database for this field. data_access (boolean) This can be altered connect_timeout (int) This can be altered query_timeout (int) This can be altered rpc (boolean) Enables RPC from the remote server and can be altered rpc_out (boolean) Enables RPC to the remote server and can be altered msdtc (boolean) This maps remote proc transaction promotion and can be altered.</description></item><item><title>sp_configure Settings</title><link>https://docs.sqldsc.com/docs/sp_configure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/sp_configure/</guid><description>sp_configure Settings # The application can set two configurations for you automatically.
# -1 sets a value based on each server&amp;#39;s memory # Please see the documentation resource &amp;#34;configuration&amp;#34; &amp;#34;max_memory&amp;#34; { name = &amp;#34;max server memory (MB)&amp;#34; value = -1 ensure = &amp;#34;alter&amp;#34; } # -1 sets a value based on each server&amp;#39;s core count # Please see the documentation resource &amp;#34;configuration&amp;#34; &amp;#34;maxdop&amp;#34; { name = &amp;#34;max degree of parallelism&amp;#34; value = -1 ensure = &amp;#34;alter&amp;#34; } Maximum Memory # By default, SQL Server will request all the memory it thinks it needs.</description></item><item><title>Azure Support</title><link>https://docs.sqldsc.com/docs/azure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/azure/</guid><description>Azure # SQLDSC provides limited support for Azure&amp;rsquo;s various SQL Server offerings.
SQL Server installed on Virtual Machines - This should work normally. Managed Instances - This is untested. SQL Database # SQLDSC can connect to an Azure SQL Database by setting the database in the target and creating a SQLDSC credential for the user name and password.
target &amp;#34;your-server.database.windows.net&amp;#34; { sqldsc_credential = &amp;#34;azure_credential&amp;#34; database = &amp;#34;your_database&amp;#34; } The following resources have been tested against Azure SQL Databases:</description></item><item><title>Permissions</title><link>https://docs.sqldsc.com/docs/permissions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/permissions/</guid><description>Permissions # The application itself doesn&amp;rsquo;t need any special permissions for itself. It does require the user running to be in the sysadmin role. If you connect using a SQL Server login, that login needs to be in the sysadmin role. If you connect to a target and aren&amp;rsquo;t in the sysadmin role, the target is skipped. Multiple Accounts # If you use multiple accounts, with different permissions on different instances, consider the following scenarios:</description></item><item><title>Command Line</title><link>https://docs.sqldsc.com/docs/command-line/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/command-line/</guid><description>Command Line # Running sqldsc help will bring up the current command line options. Running sqldsc help command_name will bring up help for a particular command.
Common commands include:
init - creates directories and sample files test - see what changes it would make apply - make changes to the targets version - display the version information vault - controls stored logins and passwords. See Credential Vault. update - checks for updates and allows you to apply them list - lists targets and their tags after applying any filters (starting in 1.</description></item><item><title>Application Settings</title><link>https://docs.sqldsc.com/docs/app-settings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/app-settings/</guid><description>Application Settings # Certain settings can be configured via a settings file so they are always applied. These settings are:
parallel threads http_proxy The following files are searched for in order. If a file is found, it doesn&amp;rsquo;t search further for files. Command-line flags override settings in this file.
%LOCALAPPDATA%\sqldsc\sqldsc.settings.hcl %HOMEDIR%\sqldsc.settings.hcl .\sqldsc.settings.hcl Using the --debug flag will tell you which configuration file is used.
A typical settings file might look like this:</description></item><item><title>Credential Vault</title><link>https://docs.sqldsc.com/docs/vault/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/vault/</guid><description>Credential Vault # SQLSDC provides a simple vault to store credentials (passwords). It operates in one of two modes: Local mode or Repository mode.
The most common use case is creating identical logins across multiple servers with the same password. Examples include monitoring tools that require SQL Server logins or Availability Groups that need identical logins.
In the login resource, you can specify the sqldsc_credential and it will use the password from that credential for the login.</description></item><item><title>Application Logging</title><link>https://docs.sqldsc.com/docs/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/logging/</guid><description>Application Logging # SQLDSC writes a log file of every change it makes. A typical directory structure with log files looks like this:
├───config │ ├───nodes │ ├───tags │ ├───scripts │ └───state └───logs └───2020 └───sqldsc_2020_06_domain_user.ndjson It generates one file per month per user. The file name is sqldsc_YYYYY_MM_domain_user.ndjson. This simplifies keeping log files in a source code repository.
The log files are formatted as NDJSON (Newline Delimited JSON). NDJSON means each file holds multiple JSON objects delimited by newline.</description></item><item><title>Using a Repository</title><link>https://docs.sqldsc.com/docs/repository/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/repository/</guid><description>Using SQLDSC in a Repository # SQLDSC is designed to be used in a GIT repository by multiple users across multiple domains. Consider a sample directory tree. Many of these folders are created by sqldsc init.
│ .gitignore │ key.txt │ README.md │ sqldsc.exe │ ├───.vscode │ extensions.json │ settings.json │ ├───config │ │ PROD.defaults.hcl │ │ PROD.targets.hcl │ │ defaults.hcl │ │ OFFICE.defaults.hcl │ │ OFFICE.targets.hcl │ │ │ ├───nodes │ │ ├───PROD │ │ │ USKC-MON01P.</description></item><item><title>Reporting</title><link>https://docs.sqldsc.com/docs/reporting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/reporting/</guid><description>Reporting # The application contains a few simple reports
Usage # sqldsc report usage provides a simple report of how many changes SQLDSC has made
First Change: 2020-06-24T08:30:57 -05:00 Total Instances: 9 Total Changes: 1,202 Last Change: 2022-10-08T09:00:49 -05:00 Domain: OFFICE Changes: 1,192 Domain: PROD Changes: 10 Servers # sqldsc report servers provides a simple list of servers a summary of changes.
The goal of this report is to help identify servers that could be retired.</description></item><item><title>Proxy Server Support</title><link>https://docs.sqldsc.com/docs/proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/proxy/</guid><description>Proxy Server Support # The PRO Edition needs to communicate with the application portal to validate licenses. It often needs to do this from inside restricted networks. A proxy server can be configured in a number of different ways.
Setting the HTTPS_PROXY (or HTTP_PROXY) environment variable before the application is started Setting the http_proxy property in the application setting file Using --http_proxy on the command-line Proxy Use # The proxy is used for the following actions</description></item><item><title>Privacy</title><link>https://docs.sqldsc.com/docs/privacy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/privacy/</guid><description>Privacy # This section documents what information is required and uploaded to use the application.
PRO Edition: See below Standard Editon: No information is required or usage sent back. There are plans to send raw telemtry information from the Standard Edition. Required Information # To create an account and license on the portal requires:
A valid email address An optional company name Uploaded Data # Today # The Free Edition does not upload data.</description></item><item><title>PRO Edition: Features</title><link>https://docs.sqldsc.com/docs/pro-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-features/</guid><description> PRO Edition: Features # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
Features # The Professional Edition supports a number of additional features:
Multi-threaded &amp;ndash; Run tests in parallel Multiple domains &amp;ndash; Easily support multiple domains Tags &amp;ndash; Assign multiple servers to tags and set configuration for each tag Filtering &amp;ndash; Limit Test and Apply to tags, targets, and/or domains Version-based filtering &amp;ndash; Resources (such as scripts) only run against certain versions Variables &amp;ndash; Targets and tags can override values in Resource Blocks User Database Blocks &amp;ndash; Apply resources across multiple databases on a server Login Blocks &amp;ndash; Assign permissions to logins in a single block SQL Script Blocks &amp;ndash; Run SQL scripts against targets Queries &amp;ndash; Run queries against multiple servers SQL Server Agent Jobs &amp;ndash; Create and update SQL Server Agent jobs</description></item><item><title>PRO Edition: Licensing</title><link>https://docs.sqldsc.com/docs/pro-licensing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-licensing/</guid><description>PRO Edition: Licensing # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
Purchasing Licenses # Today, the Professional edition requires each tested SQL Server instance to have a one-time purchase of a license through the Portal.
The Professional Edition requires one license per server configured. Licenses aren&amp;rsquo;t assigned to specific computers. As servers are retired, that license can move to a new server.</description></item><item><title>PRO: Availability Groups</title><link>https://docs.sqldsc.com/docs/pro-ag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-ag/</guid><description>PRO: Availability Groups # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
Handling Availability Groups # SQLDSC supports Availability Groups in a number of way. For normal (non-contained) Availability Groups
Only put the individual nodes in as targets &amp;ndash; not the Listener Put all those nodes in a tag named for the Availability Group Use that tag for the AG settings.</description></item><item><title>PRO: Domains</title><link>https://docs.sqldsc.com/docs/pro-domains/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-domains/</guid><description>PRO: Domains # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
Handling Domains # SQLDSC supports configuring machines in diffrent domains. This is done by filtering machines based on domain and assiging different defaults based on the domain. These are handled very differently. Pleaes read carefully.
Domain Targets # The PRO version can use domain specific target files.</description></item><item><title>PRO: Tags</title><link>https://docs.sqldsc.com/docs/pro-tags/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-tags/</guid><description>PRO: Tags # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
Tags # Each target can be assigned multiple tags. Instances in tags can be given identical configuration. Good uses of tags include:
Identical configuration of an AG Separate DEV from PROD Group servers together for processing Group servers in different data centers together Targets # A targets.</description></item><item><title>PRO: Login Blocks</title><link>https://docs.sqldsc.com/docs/pro-logins/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-logins/</guid><description>PRO: Login Blocks # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
Starting in 1.37, login blocks provide a simple way for the PRO Edition to configure permissions for a login. A sample looks like this:
login &amp;#34;PROD\read-only&amp;#34; { permissions = [&amp;#34;view server state&amp;#34;] user_databases { roles = [&amp;#34;db_datareader&amp;#34;] } database &amp;#34;msdb&amp;#34; { roles = [&amp;#34;db_datareader&amp;#34;, &amp;#34;SQLAgentReaderRole&amp;#34;] } } This block takes takes the following actions:</description></item><item><title>PRO: sql_script Blocks</title><link>https://docs.sqldsc.com/docs/pro-sql-script/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-sql-script/</guid><description>All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
SQL Script Usage # SQL Scripts are run using SQLCMD.EXE. That must be present on your system and in your path.
Test Query # The simplest form of the test query is:
resource &amp;#34;sql_script&amp;#34; &amp;#34;objects.sql&amp;#34; { script_file = &amp;#34;objects.sql&amp;#34; test_query = &amp;#34;SELECT * FROM sys.objects WHERE [name] = &amp;#39;new_object&amp;#39;&amp;#34; } This expects the query to return one row.</description></item><item><title>PRO: Precendence</title><link>https://docs.sqldsc.com/docs/pro-precendence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-precendence/</guid><description>PRO: Precedence Rules # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
Precedence Rules # Adding domains and tags makes the precedence more complex.
Each of these files can define the same configuration. For example, to configure node2 in this example, the following files would be used. Each lower file overrides the values in the higher file.</description></item><item><title>PRO: User Databases Block</title><link>https://docs.sqldsc.com/docs/pro-user-databases/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-user-databases/</guid><description>PRO: User Databases Block # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
User Databases Block # Starting in 1.36, the PRO Edition provides a mechanism to make identical changes across all user databases. This example creates a &amp;ldquo;ro&amp;rdquo; schema and a &amp;ldquo;ReadOnlyRole&amp;rdquo; in each user database. Then it grant the &amp;ldquo;ReadOnlyRole&amp;rdquo; EXEC permission on the schema and adds &amp;ldquo;ReadOnlyRole&amp;rdquo; to the db_datareader role in each database.</description></item><item><title>PRO: Filtering</title><link>https://docs.sqldsc.com/docs/pro-filtering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-filtering/</guid><description>PRO: Filtering # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
Filtering # The sqldsc.exe command has a filter for tag. When specified, it will only process nodes in that tag. This parameter is available for test and apply. Some sample command lines are:
sqldsc.exe test --tag ag-one - Test the configuration on all servers assigned the ag-one tag.</description></item><item><title>PRO: Filter for Versions</title><link>https://docs.sqldsc.com/docs/pro-for-versions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-for-versions/</guid><description>PRO: Filter for Versions # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
Filter for Versions # Starting with 1.40.1, Resource Blocks support a for_versions attribute that allows resources to only apply to specific versions. That looks like this:
resource &amp;#34;configuration&amp;#34; &amp;#34;cost_threshold&amp;#34; { name = &amp;#34;cost threshold for parallelism&amp;#34; value = 50 for_versions = [&amp;#34;2016&amp;#34;, &amp;#34;2017&amp;#34;, &amp;#34;2019&amp;#34;] } This configuration setting will only be applied if the target is one of the three listed versions.</description></item><item><title>PRO: Queries (BETA)</title><link>https://docs.sqldsc.com/docs/pro-queries/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-queries/</guid><description>All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
Queries (BETA) # This is a BETA feature I am evaluating to see if it is useful
You can run a simple query against your targets with the following syntax:
sqldsc query dbcount.sql assuming dbcount.sql contains the following
SELECT @@SERVERNAME AS [Server] ,COUNT(*) AS [Databases] FROM sys.</description></item><item><title>PRO: Variables</title><link>https://docs.sqldsc.com/docs/pro-variables/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-variables/</guid><description>PRO: Variables # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
Starting in 1.37, the PRO Edition allows variables to set attribute values.
# tags/read-only.hcl login &amp;#34;placeholder&amp;#34; { login = &amp;#34;${read-only-account}&amp;#34; permissions = [&amp;#34;view server state&amp;#34;] user_databases { roles = [&amp;#34;db_datareader&amp;#34;] } } # tags/txn-ag.hcl # configure the nodes the txn-ag Availability Group variable &amp;#34;read-only-account&amp;#34; { value = &amp;#34;PROD\txn-ag-read-only&amp;#34; } # targets.</description></item><item><title>PRO: Jobs (BETA)</title><link>https://docs.sqldsc.com/docs/pro-jobs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-jobs/</guid><description>All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
SQL Server Agent Jobs (BETA) # These can be created using a job block. A simple job might look like this:
job &amp;#34;TestJob&amp;#34; { step &amp;#34;update table&amp;#34; { database = &amp;#34;Reporting&amp;#34; command = &amp;lt;&amp;lt;EOF UPDATE dbo.HeartBeat SET LastProcessed = SYSDATETIMEOFFSET(); EOF } schedule &amp;#34;every minute&amp;#34; { frequency = &amp;#34;daily&amp;#34; interval = &amp;#34;1m&amp;#34; } } This creates a job named &amp;ldquo;TestJob&amp;rdquo; that runs every minute and updates the HeartBeat table in the Reporting database.</description></item><item><title>PRO: Best Practices</title><link>https://docs.sqldsc.com/docs/pro-best-practices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.sqldsc.com/docs/pro-best-practices/</guid><description>PRO: Best Practices # All features described on this page are part of the Professional Edition.
You can purchase licenses for the Professional Edition on the Portal: https://portal.sqldsc.com.
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 Tags # Common uses for Tags include:</description></item></channel></rss>