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 xSQLServer -RequiredVersion

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


Microsoft Corporation


(c) 2014 Microsoft Corporation. All rights reserved.



DesiredStateConfiguration DSC DSCResourceKit DSCResource


xSQLAOGroupEnsure xSQLAOGroupJoin xSQLServerAlias xSQLServerAlwaysOnAvailabilityGroup xSQLServerAlwaysOnService xSQLServerAvailabilityGroupListener xSQLServerConfiguration xSQLServerDatabase xSQLServerDatabaseOwner xSQLServerDatabasePermission xSQLServerDatabaseRecoveryModel xSQLServerDatabaseRole xSQLServerEndpoint xSQLServerEndpointPermission xSQLServerEndpointState xSQLServerFailoverClusterSetup xSQLServerFirewall xSQLServerLogin xSQLServerMaxDop xSQLServerMemory xSQLServerNetwork xSQLServerPermission xSQLServerReplication xSQLServerRole xSQLServerRSConfig xSQLServerRSSecureConnectionLevel xSQLServerScript xSQLServerSetup xWaitForAvailabilityGroup


This module has no dependencies.

Release Notes

- Changes to xSQLServerConfiguration
 - BREAKING CHANGE: The parameter SQLInstanceName is now mandatory.
 - Resource can now be used to define the configuration of two or more different DB instances on the same server.
- Changes to xSQLServerRole
 - xSQLServerRole now correctly reports that the desired state is present when the login is already a member of the server roles.
- Added new resources
 - xSQLServerAlwaysOnAvailabilityGroup
- Changes to xSQLServerSetup
 - Properly checks for use of SQLSysAdminAccounts parameter in $PSBoundParameters. The test now also properly evaluates the setup argument for SQLSysAdminAccounts.
 - xSQLServerSetup should now function correctly for the InstallFailoverCluster action, and also supports cluster shared volumes. Note that the AddNode action is not currently working.
 - It now detects that feature Client Connectivity Tools (CONN) and Client Connectivity Backwards Compatibility Tools (BC) is installed.
 - Now it can correctly determine the right cluster when only parameter InstallSQLDataDir is assigned a path (issue 401).
 - Now the only mandatory path parameter is InstallSQLDataDir when installing Database Engine (issue 400).
 - It now can handle mandatory parameters, and are not using wildcards to find the variables containing paths (issue 394).
 - Changed so that instead of connection to localhost it is using $env:COMPUTERNAME as the host name to which it connects. And for cluster installation it uses the parameter FailoverClusterNetworkName as the host name to which it connects (issue 407).
 - When called with Action = "PrepareFailoverCluster", the SQLSysAdminAccounts and FailoverClusterGroup parameters are no longer passed to the setup process (issues 410 and 411).
 - Solved the problem that InstanceDir and InstallSQLDataDir could not be set to just a qualifier, i.e "E:" (issue 418). All paths (except SourcePath) can now be set to just the qualifier.
- Enables CodeCov.io code coverage reporting.
- Added badge for CodeCov.io to README.md.
- Examples
 - xSQLServerMaxDop
   - 1-SetMaxDopToOne.ps1
   - 2-SetMaxDopToAuto.ps1
   - 3-SetMaxDopToDefault.ps1
 - xSQLServerMemory
   - 1-SetMaxMemoryTo12GB.ps1
   - 2-SetMaxMemoryToAuto.ps1
   - 3-SetMinMaxMemoryToAuto.ps1
   - 4-SetMaxMemoryToDefault.ps1
 - xSQLServerDatabase
   - 1-CreateDatabase.ps1
   - 2-DeleteDatabase.ps1
- Added tests for resources
 - xSQLServerMaxDop
 - xSQLServerMemory
- Changes to xSQLServerMemory
 - BREAKING CHANGE: The mandatory parameter now include SQLInstanceName. The DynamicAlloc parameter is no longer mandatory
- Changes to xSQLServerDatabase
 - When the system is not in desired state the Test-TargetResource will now output verbose messages saying so.
- Changes to xSQLServerDatabaseOwner
 - Fixed code style, added updated parameter descriptions to schema.mof and README.md.

Version History

Version Downloads Last updated 147,351 1/24/2018 7,137 11/15/2017 5,290 10/5/2017 5,525 8/23/2017 5,188 7/12/2017 6,239 5/31/2017 8,212 4/19/2017 (current version) 10,736 3/8/2017 2,540 1/26/2017 2,314 12/14/2016 1,872 11/2/2016 7,380 9/21/2016 25,766 8/10/2016 2,183 6/29/2016 1,233 5/18/2016 998 3/31/2016 1,583 2/3/2016 2,159 5/2/2015 480 2/19/2015 65 12/18/2014 73 10/24/2014
Show less