Module with DSC Resources for deployment and configuration of Microsoft SQL Server.

Minimum PowerShell version


Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name mlxSQL

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name mlxSQL

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More



(c) 2017 Microsoft Corporation. All rights reserved.

Package Details


  • Microsoft Corporation


DesiredStateConfiguration DSC DSCResourceKit DSCResource


xSQLAGListener xSQLAlias xSQLAlwaysOnAG xSQLAlwaysOnAGDBMembership xSQLAlwaysOnAGReplica xSQLAlwaysOnService xSQLConfiguration xSQLDatabase xSQLDBOwner xSQLDBPermission xSQLDBRecoveryModel xSQLDBRole xSQLEndpoint xSQLEndpointPermission xSQLEndpointState xSQLFirewall xSQLLogin xSQLMaxDop xSQLMemory xSQLNetwork xSQLPermission xSQLReplication xSQLRole xSQLRSConfig xSQLRSSecureConnectionLevel xSQLScript xSQLServiceAccount xSQLSetup xWaitForAvailabilityGroup


This module has no dependencies.

Release Notes

- IMPORTANT This module is a copy of xSQLServer to work around current issues with
Azure Automation. Please see in module or github project for more details

- Changes to xSQLServer
 - Updated appveyor.yml so that integration tests run in order and so that
   the SQLPS module folders are renamed to not disturb the units test, but
   can be renamed back by the integration tests xSQLServerSetup so that the
   integration tests can run successfully
   ([issue 774](
 - Changed so the maximum version to be installed is, when running unit
   tests in AppVeyor. Quick fix until we can resolve the unit tests (see
   [issue 807](
 - Moved the code block, that contains workarounds in appveyor.yml, so it is run
   during the install phase instead of the test phase.
 - Fix problem with tests breaking with Pester 4.0.7 ([issue 807](
- Changes to xSQLServerHelper
 - Changes to Connect-SQL and Import-SQLPSModule
   - Now it correctly loads the correct assemblies when SqlServer module is
     present ([issue 649](
   - Now SQLPS module will be correctly loaded (discovered) after installation
     of SQL Server. Previously resources depending on SQLPS module could fail
     because SQLPS was not found after installation because the PSModulePath
     environment variable in the (LCM) PowerShell session did not contain the new
     module path.
 - Added new helper function "Test-ClusterPermissions" ([issue 446](
- Changes to xSQLServerSetup
 - Fixed an issue with trailing slashes in the "UpdateSource" property
   ([issue 720](
 - Fixed so that the integration test renames back the SQLPS module folders if
   they was renamed by AppVeyor (in the appveyor.yml file)
   ([issue 774](
 - Fixed so integration test does not write warnings when SQLPS module is loaded
   ([issue 798](
 - Changes to integration tests.
   - Moved the configuration block from the MSFT\_xSQLServerSetup.Integration.Tests.ps1
     to the MSFT\_xSQLServerSetup.config.ps1 to align with the other integration
     test. And also get most of the configuration in one place.
   - Changed the tests so that the local SqlInstall account is added as a member
     of the local administrators group.
   - Changed the tests so that the local SqlInstall account is added as a member
     of the system administrators in SQL Server (Database Engine) - needed for the
     xSQLServerAlwaysOnService integration tests.
   - Changed so that only one of the Modules-folder for the SQLPS PowerShell module
     for SQL Server 2016 is renamed back so it can be used with the integration
     tests. There was an issue when more than one SQLPS module was present (see
     more information in [issue 806](
   - Fixed wrong variable name for SQL service credential. It was using the
     integration test variable name instead of the parameter name.
   - Added ErrorAction "Stop" to the cmdlet Start-DscConfiguration
     ([issue 824](
- Changes to xSQLServerAlwaysOnAvailabilityGroup
 - Change the check of the values entered as parameter for
   BasicAvailabilityGroup. It is a boolean, hence it was not possible to
   disable the feature.
 - Add possibility to enable/disable the feature DatabaseHealthTrigger
   (SQL Server 2016 or later only).
 - Add possibility to enable the feature DtcSupportEnabled (SQL Server 2016 or
   later only). The feature currently can"t be altered once the Availability
   Group is created.
 - Use the new helper function "Test-ClusterPermissions".
 - Refactored the unit tests to allow them to be more user friendly.
   Added the following read-only properties to the schema ([issue 476](
   - EndpointPort
   - EndpointURL
   - SQLServerNetName
   - Version
 - Use the Get-PrimaryReplicaServerObject helper function
- Changes to xSQLServerAlwaysOnAvailabilityGroupReplica
 - Fixed the formatting for the AvailabilityGroupNotFound error.
 - Added the following read-only properties to the schema ([issue 477](
   - EndpointPort
   - EndpointURL
 - Use the new helper function "Test-ClusterPermissions".
 - Use the Get-PrimaryReplicaServerObject helper function
- Changes to xSQLServerHelper
 - Fixed Connect-SQL by ensuring the Status property returns "Online" prior to
   returning the SQL Server object ([issue 333](
- Changes to xSQLServerRole
 - Running Get-DscConfiguration no longer throws an error saying property
   Members is not an array ([issue 790](
- Changes to xSQLServerMaxDop
 - Fixed error where Measure-Object cmdlet would fail claiming it could not
   find the specified property ([issue 801](
- Changes to xSQLServerAlwaysOnService
 - Added integration test ([issue 736](
   - Added ErrorAction "Stop" to the cmdlet Start-DscConfiguration
     ([issue 824](
- Changes to SMO.cs
 - Added default properties to the Server class
   - AvailabilityGroups
   - Databases
   - EndpointCollection
 - Added a new overload to the Login class
 - Added default properties to the AvailabilityReplicas class
   - AvailabilityDatabases
   - AvailabilityReplicas
- Added new resource xSQLServerAccount ([issue 706](
 - Added localization support for all strings
 - Added examples for usage
- Changes to xSQLServerRSConfig
 - No longer returns a null value from Test-TargetResource when Reporting
   Services has not been initialized ([issue 822](
 - Fixed so that when two Reporting Services are installed for the same major
   version the resource does not throw an error ([issue 819](
 - Now the resource will restart the Reporting Services service after
   initializing ([issue 592](
   This will enable the Reports site to work.
 - Added integration test ([issue 753](
 - Added support for configuring URL reservations and virtual directory names
   ([issue 570](


Version History

Version Downloads Last updated (current version) 3,695 11/23/2017 217 11/22/2017 216 11/21/2017 106 11/21/2017