SqlServerDsc

16.0.0

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

Minimum PowerShell version

5.0

There is a newer prerelease version of this module available.
See the version list below for details.

Installation Options

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

Install-Module -Name SqlServerDsc -RequiredVersion 16.0.0

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

Author(s)

DSC Community

Copyright

Copyright the DSC Community contributors. All rights reserved.

Package Details

Owners

Tags

DesiredStateConfiguration DSC DSCResourceKit DSCResource

Functions

Connect-SqlDscDatabaseEngine ConvertFrom-SqlDscDatabasePermission ConvertFrom-SqlDscServerPermission ConvertTo-SqlDscDatabasePermission ConvertTo-SqlDscServerPermission Disable-SqlDscAudit Enable-SqlDscAudit Get-SqlDscAudit Get-SqlDscDatabasePermission Get-SqlDscServerPermission Invoke-SqlDscQuery New-SqlDscAudit Remove-SqlDscAudit Set-SqlDscAudit Set-SqlDscDatabasePermission Set-SqlDscServerPermission Test-SqlDscIsDatabasePrincipal Test-SqlDscIsLogin

DSCResources

SqlAudit SqlDatabasePermission SqlPermission SqlAG SqlAGDatabase SqlAgentAlert SqlAgentFailsafe SqlAgentOperator SqlAGListener SqlAGReplica SqlAlias SqlAlwaysOnService SqlConfiguration SqlDatabase SqlDatabaseDefaultLocation SqlDatabaseMail SqlDatabaseObjectPermission SqlDatabaseRole SqlDatabaseUser SqlEndpoint SqlEndpointPermission SqlLogin SqlMaxDop SqlMemory SqlProtocol SqlProtocolTcpIp SqlReplication SqlRole SqlRS SqlRSSetup SqlScript SqlScriptQuery SqlSecureConnection SqlServiceAccount SqlSetup SqlTraceFlag SqlWaitForAG SqlWindowsFirewall

Dependencies

This module has no dependencies.

Release Notes

## [16.0.0] - 2022-09-06

### Removed

- The deprecated DSC resource SqlDatabaseOwner have been removed _(and replaced_
 _by a property in [**SqlDatabase**](https://github.com/dsccommunity/SqlServerDsc/wiki/sqldatabase))_
 ([issue #1725](https://github.com/dsccommunity/SqlServerDsc/issues/1725)).
- The deprecated DSC resource SqlDatabaseRecoveryModel have been removed _(and_
 _replaced by a property in [**SqlDatabase**](https://github.com/dsccommunity/SqlServerDsc/wiki/sqldatabase))_
 ([issue #1725](https://github.com/dsccommunity/SqlServerDsc/issues/1725)).
- The deprecated DSC resource SqlServerEndpointState have been removed _(and_
 _replaced by a property in [**SqlEndpoint**](https://github.com/dsccommunity/SqlServerDsc/wiki/sqlendpoint))_
 ([issue #1725](https://github.com/dsccommunity/SqlServerDsc/issues/1725)).
- The deprecated DSC resource SqlServerNetwork have been removed _(and replaced by_
 _[**SqlProtocol**](https://github.com/dsccommunity/SqlServerDsc/wiki/sqlprotocol)_
 _and [**SqlProtocolTcpIp**](https://github.com/dsccommunity/SqlServerDsc/wiki/sqlprotocoltcpip))_
 ([issue #1725](https://github.com/dsccommunity/SqlServerDsc/issues/1725)).
- CommonTestHelper
 - Remove the helper function `Wait-ForIdleLcm` since it has been moved
   to the module _DscResource.Test_.
 - Remove the helper function `Get-InvalidOperationRecord` since it has
   been moved to the module _DscResource.Test_.
 - Remove the helper function `Get-InvalidResultRecord` since it has been
   moved to the module _DscResource.Test_.

### Added

- SqlServerDsc
 - Added recommended VS Code extensions.
   - Added settings for VS Code extension _Pester Test Adapter_.
 - Added new Script Analyzer rules from the module _Indented.ScriptAnalyzerRules_
   to help development and review process. The rules that did not contradict
   the existing DSC Community rules and style guideline were added.
 - Added the Visual Studio Code extension _Code Spell Checker_ to the list
   of recommended Visual Studio Code extensions.
 - Added a file `prefix.ps1` which content is placed first in the built module
   (.psm1). This file imports dependent modules, and imports localized strings
   used by private and public commands.
 - The following classes were added to the module:
   - `DatabasePermission` - complex type for the DSC resource SqlDatabasePermission.
   - `Ensure` - Enum to be used for the property `Ensure` in class-based
     resources.
   - `Reason` - Used by method `Get()` to return the reason a property is not
     in desired state.
   - `ResourceBase` - class that can be inherited by class-based resource and
     provides functionality meant simplify the creating of class-based resource.
   - `SqlResourceBase` - class that can be inherited by class-based resource and
     provides default DSC properties and method for get a `[Server]`-object.
   - `ServerPermission` - complex type for the DSC resource SqlPermission.
 - The following private functions were added to the module (see comment-based
   help for more information):
   - `ConvertFrom-CompareResult`
   - `ConvertTo-Reason`
   - `Get-ClassName`
   - `Get-DscProperty`
   - `Get-LocalizedDataRecursive`
   - `Test-ResourceHasDscProperty`
   - `Test-ResourceDscPropertyIsAssigned`
 - The following public functions were added to the module (see comment-based
   help for more information):
   - `Connect-SqlDscDatabaseEngine`
   - `ConvertFrom-SqlDscDatabasePermission`
   - `ConvertTo-SqlDscDatabasePermission`
   - `Get-SqlDscDatabasePermission`
   - `Set-SqlDscDatabasePermission`
   - `Test-SqlDscIsDatabasePrincipal`
   - `Test-SqlDscIsLogin`
   - `ConvertFrom-SqlDscServerPermission`
   - `ConvertTo-SqlDscServerPermission`
   - `Get-SqlDscServerPermission`
   - `Set-SqlDscServerPermission`
   - `Invoke-SqlDscQuery`
   - `Get-SqlDscAudit`
   - `New-SqlDscAudit`
   - `Set-SqlDscAudit`
   - `Remove-SqlDscAudit`
   - `Enable-SqlDscAudit`
   - `Disable-SqlDscAudit`
 - Support for debugging of integration tests in AppVeyor.
   - Only run for pull requests
 - Add new resource SqlAudit.
- CommonTestHelper
 - `Import-SqlModuleStub`
   - Added the optional parameter **PasThru** that, if used, will return the
     name of the stub module.
   - When removing stub modules from the session that is not supposed to
     be loaded, it uses `Get-Module -All` to look for previously loaded
     stub modules.
 - `Remove-SqlModuleStub`
   - Added a new helper function `Remove-SqlModuleStub` for tests to remove
     the PowerShell SqlServer stub module when a test has run.
- SqlWindowsFirewall
 - Added integration tests for SqlWindowsFirewall ([issue #747](https://github.com/dsccommunity/SqlServerDsc/issues/747)).
- `Get-DscProperty`
 - Added parameter `ExcludeName` to exclude property names from being returned.

### Changed

- SqlServerDsc
 - Updated pipeline to use the build worker image 'ubuntu-latest'.
 - Switch to installing GitVersion using 'dotnet tool install' ([issue #1732](https://github.com/dsccommunity/SqlServerDsc/issues/1732)).
 - Bumped Stale task to v5 in the GitHub workflow.
 - Make it possible to publish code coverage on failed test runs, and
   when re-run a fail job.
 - Exclude Script Analyzer rule **TypeNotFound** in the file `.vscode/analyzersettings.psd1`.
 - Update CONTRIBUTING.md describing error handling in commands and class-based
   resources.
 - The QA tests are now run in Windows PowerShell due to a bug in PowerShell 7
   that makes class-based resource using inheritance to not work.
 - The QA test are excluding the rule **TypeNotFound** because it cannot
   run on the source files (there is a new issue that is tracking so this
   rule is only run on the built module).
 - The Pester code coverage has been switched to use the older functionality
   that uses breakpoints to calculate coverage. Newer functionality sometimes
   throw an exception when used in conjunction with class-based resources.¨
 - SMO stubs (used in the unit tests)
   - Was updated to remove a bug related to the type `DatabasePermissionInfo`
     when used with the type `DatabasePermissionSet`.
     The stubs suggested that the property `PermissionType` (of type `DatabasePermissionSet`)
     in `DatabasePermissionInfo` should have been a array `DatabasePermissionSet[]`.
     This conflicted with real SMO as it does not pass an array, but instead
     a single `DatabasePermissionSet`. The stubs was modified to mimic the
     real SMO. At the same time some old mock code in the SMO stubs was removed
     as it was no longer in use.
   - Was updated to remove a bug related to the type `ServerPermissionInfo`
     when used with the type `ServerPermissionSet`. The stubs suggested that
     the property `PermissionType` (of type `ServerPermissionSet`)
     in `ServerPermissionInfo` should have been a array `ServerPermissionSet[]`.
     This conflicted with real SMO as it does not pass an array, but instead
     a single `ServerPermissionSet`. The stubs was modified to mimic the
     real SMO. At the same time some old mock code in the SMO stubs was removed
     as it was no longer in use.
 - Updated integration tests README.md to describe how to use Appveyor to
   debug integration tests.
- Wiki
 - add introduction and links to DSC technology
- SqlServerDsc.Common
 - The parameter `SetupCredential` of the function `Connect-SQL` was renamed
   to `Credential` and the parameter name `SetupCredential` was made a
   parameter alias.
- SqlLogin
 - BREAKING CHANGE: The parameters `LoginMustChangePassword`, `LoginPasswordExpirationEnabled`,
   and `LoginPasswordPolicyEnforced` no longer have a default value of `$true`.
   This means that when creating a new login, and not specifically setting
   these parameters to `$true` in the configuration, the login that is created
   will have these properties set to `$false`.
 - BREAKING CHANGE: `LoginMustChangePassword`, `LoginPasswordExpirationEnabled`,
   and `LoginPasswordPolicyEnforced` parameters no longer enforce default
   values ([issue #1669](https://github.com/dsccommunity/SqlServerDsc/issues/1669)).
- SqlServerDsc
 - All tests have been converted to run in Pester 5 (Pester 4 can no
   longer be supported) ([issue #1654](https://github.com/dsccommunity/SqlServerDsc/issues/1654)).
 - Pipeline build and deploy now runs on Ubuntu 18.04, see more information
   in https://github.com/actions/virtual-environments/issues/3287.
 - Update the pipeline file _azure-pipelines.yml_ to use the latest version
   from the Sampler project.
- SqlRs
 - BREAKING CHANGE: Now the Reporting Services is always restarted after
   the call to CIM method `SetDatabaseConnection` when setting up the
   Reporting Services. This so to try to finish the initialization of
   Reporting Services. This was prior only done for _SQL Server Reporting_
   _Services 2019_ ([issue #1721](https://github.com/dsccommunity/SqlServerDsc/issues/1721)).
 - Added some verbose messages to better indicate which CIM methods are run
   and when they are run.
 - Minor refactor to support running unit test with strict mode enabled.
- SqlLogin
 - Only enforces optional parameter `LoginType` when it is specified in the
   configuration.
 - Only enforces optional parameters `LoginPasswordExpirationEnabled` and
   `LoginPasswordPolicyEnforced` for a SQL login when the parameters are
   specified in the configuration.
 - A localized string for an error message was updated to correctly reflect
   the code that says that to use a SQL login the authentication mode must
   be either Mixed or Normal, prio it just stated Mixed.
- SqlSecureConnection
 - BREAKING CHANGE: Now `Get-TargetResource` returns the value `'Empty'`
   f

FileList

Version History

Version Downloads Last updated
16.1.0-previ... 8 2/1/2023
16.1.0-previ... 26 1/25/2023
16.1.0-previ... 5 1/24/2023
16.1.0-previ... 2 1/24/2023
16.1.0-previ... 9 1/22/2023
16.1.0-previ... 71 1/4/2023
16.1.0-previ... 3 1/3/2023
16.1.0-previ... 12 12/26/2022
16.1.0-previ... 47 12/19/2022
16.1.0-previ... 10 12/17/2022
16.1.0-previ... 111 12/11/2022
16.1.0-previ... 10 12/4/2022
16.1.0-previ... 33 11/26/2022
16.1.0-previ... 8 11/24/2022
16.0.1-previ... 28 11/11/2022
16.0.0 (current version) 736,251 9/9/2022
16.0.0-previ... 27 8/21/2022
16.0.0-previ... 21 8/13/2022
16.0.0-previ... 12 8/13/2022
16.0.0-previ... 23 8/1/2022
16.0.0-previ... 78 6/14/2022
16.0.0-previ... 22 6/8/2022
16.0.0-previ... 15 6/6/2022
16.0.0-previ... 12 6/6/2022
16.0.0-previ... 62 4/26/2022
16.0.0-previ... 42 3/28/2022
16.0.0-previ... 63 2/12/2022
15.2.0 2,676,825 9/1/2021
15.2.0-previ... 13 9/1/2021
15.2.0-previ... 42 7/23/2021
15.2.0-previ... 73 6/6/2021
15.2.0-previ... 63 4/18/2021
15.2.0-previ... 83 3/12/2021
15.1.1 1,362,064 2/12/2021
15.1.1-previ... 15 2/12/2021
15.1.0 61,583 2/2/2021
15.1.0-previ... 22 2/1/2021
15.1.0-previ... 17 1/31/2021
15.0.2-previ... 16 1/30/2021
15.0.2-previ... 22 1/24/2021
15.0.2-previ... 60 1/21/2021
15.0.2-previ... 59 1/12/2021
15.0.1 142,831 1/9/2021
15.0.1-previ... 56 1/9/2021
15.0.1-previ... 61 1/6/2021
15.0.1-previ... 57 1/6/2021
15.0.1-previ... 66 12/27/2020
15.0.1-previ... 57 12/26/2020
15.0.1-previ... 60 12/23/2020
15.0.1-previ... 68 12/14/2020
15.0.1-previ... 59 12/13/2020
15.0.1-previ... 57 12/12/2020
15.0.1-previ... 57 12/10/2020
15.0.0 212,414 12/6/2020
15.0.0-previ... 58 12/6/2020
15.0.0-previ... 63 11/25/2020
15.0.0-previ... 55 11/22/2020
15.0.0-previ... 59 11/21/2020
14.3.0-previ... 95 10/5/2020
14.3.0-previ... 51 10/3/2020
14.3.0-previ... 57 10/2/2020
14.2.2-previ... 102 8/19/2020
14.2.2-previ... 58 8/16/2020
14.2.1 634,562 8/14/2020
14.2.1-previ... 56 8/13/2020
14.2.1-previ... 58 8/11/2020
14.2.1-previ... 54 8/11/2020
14.2.1-previ... 69 7/31/2020
14.2.1-previ... 57 7/28/2020
14.2.0 72,344 7/23/2020
14.2.0-previ... 60 7/23/2020
14.2.0-previ... 62 7/19/2020
14.2.0-previ... 71 7/13/2020
14.2.0-previ... 62 7/10/2020
14.2.0-previ... 59 7/9/2020
14.1.1-previ... 61 7/9/2020
14.1.0 150,119 7/6/2020
14.1.0-previ... 259 7/5/2020
14.1.0-previ... 58 7/4/2020
14.1.0-previ... 59 7/4/2020
14.1.0-previ... 61 7/3/2020
14.1.0-previ... 63 7/1/2020
14.0.1-previ... 69 6/28/2020
14.0.1-previ... 58 6/26/2020
14.0.0 10,805 6/12/2020
14.0.0-previ... 59 6/12/2020
14.0.0-previ... 65 6/11/2020
14.0.0-previ... 67 6/10/2020
14.0.0-previ... 66 6/10/2020
14.0.0-previ... 100 5/28/2020
14.0.0-previ... 75 5/25/2020
14.0.0-previ... 65 5/25/2020
14.0.0-previ... 77 5/19/2020
14.0.0-previ... 73 5/19/2020
14.0.0-previ... 79 5/17/2020
14.0.0-previ... 68 5/17/2020
14.0.0-previ... 66 5/16/2020
14.0.0-previ... 67 5/14/2020
14.0.0-previ... 69 5/13/2020
14.0.0-previ... 77 5/12/2020
14.0.0-previ... 67 5/12/2020
14.0.0-previ... 67 5/12/2020
14.0.0-previ... 80 5/8/2020
14.0.0-previ... 66 5/6/2020
14.0.0-previ... 70 5/5/2020
14.0.0-previ... 68 5/4/2020
14.0.0-previ... 67 5/3/2020
14.0.0-previ... 66 5/3/2020
14.0.0-previ... 81 4/27/2020
14.0.0-previ... 76 4/26/2020
13.5.0 27,832 4/12/2020
13.5.0-previ... 72 4/11/2020
13.5.0-previ... 75 4/11/2020
13.4.1-previ... 102 3/31/2020
13.4.0 122,333 3/18/2020
13.4.0-previ... 68 3/18/2020
13.3.1-previ... 114 1/18/2020
13.3.0 479,250 1/17/2020
13.3.0-previ... 71 1/17/2020
13.3.0-previ... 76 1/12/2020
13.3.0-previ... 70 1/8/2020
13.3.0-previ... 73 1/7/2020
13.3.0-previ... 70 1/3/2020
13.3.0-previ... 71 1/2/2020
13.3.0-previ... 72 1/2/2020
13.2.0.0 828,355 9/19/2019
13.1.0.0 34,778 8/8/2019
13.0.0.0 26,008 6/26/2019
12.5.0.0 16,816 5/15/2019
12.4.0.0 21,602 4/3/2019
12.3.0.0 40,186 2/20/2019
12.2.0.0 8,830 1/10/2019
12.1.0.0 22,953 10/25/2018
12.0.0.0 21,391 9/5/2018
11.4.0.0 16,142 7/25/2018
11.3.0.0 7,329 6/13/2018
11.2.0.0 4,615 5/2/2018
11.1.0.0 6,145 3/22/2018
11.0.0.0 11,296 2/8/2018
10.0.0.0 3,637 12/14/2017
Show less