Releases: dsccommunity/SqlServerDsc
Releases · dsccommunity/SqlServerDsc
v16.1.0-preview0005
[v16.1.0-preview0005]
Removed
- SqlServerDsc
- Removed
Assert-ElevatedUser
from private functions - Issue #1797Assert-ElevatedUser
added to DscResource.Common public functions - Issue #82
- Removed
Added
- SqlServerDsc
- The following private functions were added to the module (see comment-based
help for more information):Assert-ElevatedUser
Assert-RequiredCommandParameter
Test-IsNumericType
Assert-SetupActionProperties
Invoke-SetupAction
- The following public functions were added to the module (see comment-based
help for more information):Install-SqlDscServer
Uninstall-SqlDscServer
Add-SqlDscNode
Remove-SqlDscNode
Repair-SqlDscServer
Complete-SqlDscImage
Complete-SqlDscFailoverCluster
Initialize-SqlDscRebuildDatabase
- New GitHub issue templates for proposing new public commands, proposing
an enhancement to an existing command, or having a problem with an existing
command. - Integration tests are now also run on SQL Server 2022 and SQL Server
Reporting Services 2022. - Integration tests now wait for LCM after each It-block, not just at the
end of a Context-block. Hopefully this will mitigate some of the intermittent
errors we have seen when running the integration tests in the pipeline. - Use preview version of Pester to support the development of Pester as
this is a code base with a diverse set of tests thar can help catch
issues in Pester. If preview release of Pester prevents release we
should temporary shift back to stable.
- The following private functions were added to the module (see comment-based
- SqlDatabase
- Added compatibility levels for SQL Server 2022 (major version 16).
- SqlSetup
- Paths for SQL Server 2022 are correctly returned by Get.
Changed
- SqlServerDsc
- Update Stale GitHub Action to v6.
- Update to build module in separate folder under
output
. - Moved the build step of the pipeline to a Windows build worker when
running in Azure DevOps.
Install-SqlServerDsc
- No longer throws an exception when parameter
AgtSvcAccount
is not specified.
- No longer throws an exception when parameter
- SqlAgReplica
- Converted unit test to Pester 5.
Fixed
- SqlServerDsc
- Localized strings file
en-US/SqlServerDsc.strings.psd1
no longer
referencing the wrong module in a comment.
- Localized strings file
- SqlAGReplica
- No longer tries to enforce EndpointHostName when it is not part of the
configuration (issue #1821). - Now
Get-TargetResource
always returns values for the propertiesName
andAvailabilityGroupName
(issue #1822). - Now
Test-TargetResource
no longer test properties that cannot
be enforced (issue #1822).
- No longer tries to enforce EndpointHostName when it is not part of the
v16.1.0-preview0004
[v16.1.0-preview0004]
Removed
- SqlServerDsc
- Removed
Assert-ElevatedUser
from private functions - Issue #1797Assert-ElevatedUser
added to DscResource.Common public functions - Issue #82
- Removed
Added
- SqlServerDsc
- The following private functions were added to the module (see comment-based
help for more information):Assert-ElevatedUser
Assert-RequiredCommandParameter
Test-IsNumericType
Assert-SetupActionProperties
Invoke-SetupAction
- The following public functions were added to the module (see comment-based
help for more information):Install-SqlDscServer
Uninstall-SqlDscServer
Add-SqlDscNode
Remove-SqlDscNode
Repair-SqlDscServer
Complete-SqlDscImage
Complete-SqlDscFailoverCluster
Initialize-SqlDscRebuildDatabase
- New GitHub issue templates for proposing new public commands, proposing
an enhancement to an existing command, or having a problem with an existing
command. - Integration tests are now also run on SQL Server 2022 and SQL Server
Reporting Services 2022. - Integration tests now wait for LCM after each It-block, not just at the
end of a Context-block. Hopefully this will mitigate some of the intermittent
errors we have seen when running the integration tests in the pipeline. - Use preview version of Pester to support the development of Pester as
this is a code base with a diverse set of tests thar can help catch
issues in Pester. If preview release of Pester prevents release we
should temporary shift back to stable.
- The following private functions were added to the module (see comment-based
- SqlDatabase
- Added compatibility levels for SQL Server 2022 (major version 16).
- SqlSetup
- Paths for SQL Server 2022 are correctly returned by Get.
Changed
- SqlServerDsc
- Update Stale GitHub Action to v6.
- Update to build module in separate folder under
output
. - Moved the build step of the pipeline to a Windows build worker when
running in Azure DevOps.
Install-SqlServerDsc
- No longer throws an exception when parameter
AgtSvcAccount
is not specified.
- No longer throws an exception when parameter
Fixed
- SqlServerDsc
- Localized strings file
en-US/SqlServerDsc.strings.psd1
no longer
referencing the wrong module in a comment.
- Localized strings file
v16.1.0-preview0003
[v16.1.0-preview0003]
Added
- SqlServerDsc
- The following private functions were added to the module (see comment-based
help for more information):Assert-ElevatedUser
Assert-RequiredCommandParameter
Test-IsNumericType
Assert-SetupActionProperties
Invoke-SetupAction
- The following public functions were added to the module (see comment-based
help for more information):Install-SqlDscServer
Uninstall-SqlDscServer
Add-SqlDscNode
Remove-SqlDscNode
Repair-SqlDscServer
Complete-SqlDscImage
Complete-SqlDscFailoverCluster
Initialize-SqlDscRebuildDatabase
- New GitHub issue templates for proposing new public commands, proposing
an enhancement to an existing command, or having a problem with an existing
command. - Integration tests are now also run on SQL Server 2022 and SQL Server
Reporting Services 2022. - Integration tests now wait for LCM after each It-block, not just at the
end of a Context-block. Hopefully this will mitigate some of the intermittent
errors we have seen when running the integration tests in the pipeline. - Use preview version of Pester to support the development of Pester as
this is a code base with a diverse set of tests thar can help catch
issues in Pester. If preview release of Pester prevents release we
should temporary shift back to stable.
- The following private functions were added to the module (see comment-based
- SqlDatabase
- Added compatibility levels for SQL Server 2022 (major version 16).
- SqlSetup
- Paths for SQL Server 2022 are correctly returned by Get.
Changed
- SqlServerDsc
- Update Stale GitHub Action to v6.
- Update to build module in separate folder under
output
. Install-SqlServerDsc
- No longer throws an exception when parameter
AgtSvcAccount
is not specified.
- No longer throws an exception when parameter
Fixed
- SqlServerDsc
- Localized strings file
en-US/SqlServerDsc.strings.psd1
no longer
referencing the wrong module in a comment.
- Localized strings file
v16.1.0-preview0002
[v16.1.0-preview0002]
Added
- SqlServerDsc
- The following private functions were added to the module (see comment-based
help for more information):Assert-ElevatedUser
Assert-RequiredCommandParameter
Test-IsNumericType
Assert-SetupActionProperties
Invoke-SetupAction
- The following public functions were added to the module (see comment-based
help for more information):Install-SqlDscServer
Uninstall-SqlDscServer
Add-SqlDscNode
Remove-SqlDscNode
Repair-SqlDscServer
Complete-SqlDscImage
Complete-SqlDscFailoverCluster
Initialize-SqlDscRebuildDatabase
- New GitHub issue templates for proposing new public commands, proposing
an enhancement to an existing command, or having a problem with an existing
command. - Integration tests are now also run on SQL Server 2022.
- The following private functions were added to the module (see comment-based
- SqlDatabase
- Added compatibility levels for SQL Server 2022 (major version 16).
- SqlSetup
- Paths for SQL Server 2022 are correctly returned by Get.
Changed
- SqlServerDsc
- Update Stale GitHub Action to v6.
- Update to build module in separate folder under
output
.
Fixed
- SqlServerDsc
- Localized strings file
en-US/SqlServerDsc.strings.psd1
no longer
referencing the wrong module in a comment.
- Localized strings file
v16.1.0-preview0001
[v16.1.0-preview0001]
Added
- SqlServerDsc
- The following private functions were added to the module (see comment-based
help for more information):Assert-ElevatedUser
Assert-RequiredCommandParameter
Test-IsNumericType
Assert-SetupActionProperties
Invoke-SetupAction
- The following public functions were added to the module (see comment-based
help for more information):Install-SqlDscServer
Uninstall-SqlDscServer
Add-SqlDscNode
Remove-SqlDscNode
Repair-SqlDscServer
Complete-SqlDscImage
Complete-SqlDscFailoverCluster
Initialize-SqlDscRebuildDatabase
- The following private functions were added to the module (see comment-based
Changed
- SqlServerDsc
- Update Stale GitHub Action to v6.
- Update to build module in separate folder under
output
.
Fixed
- SqlServerDsc
- Localized strings file
en-US/SqlServerDsc.strings.psd1
no longer
referencing the wrong module in a comment.
- Localized strings file
v16.0.1-preview0001
[v16.0.1-preview0001]
Changed
- SqlServerDsc
- Update Stale GitHub Action to v6.
- Update to build module in separate folder under
output
.
Fixed
- SqlServerDsc
- Localized strings file
en-US/SqlServerDsc.strings.psd1
no longer
referencing the wrong module in a comment.
- Localized strings file
v16.0.0
[v16.0.0]
Removed
- The deprecated DSC resource SqlDatabaseOwner have been removed (and replaced
by a property in SqlDatabase)
(issue #1725). - The deprecated DSC resource SqlDatabaseRecoveryModel have been removed (and
replaced by a property in SqlDatabase)
(issue #1725). - The deprecated DSC resource SqlServerEndpointState have been removed (and
replaced by a property in SqlEndpoint)
(issue #1725). - The deprecated DSC resource SqlServerNetwork have been removed (and replaced by
SqlProtocol
and SqlProtocolTcpIp)
(issue #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.
- Remove the helper function
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 propertyEnsure
in class-based
resources.Reason
- Used by methodGet()
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.
- Added recommended VS Code extensions.
- 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 usesGet-Module -All
to look for previously loaded
stub modules.
- Added the optional parameter PasThru that, if used, will return the
Remove-SqlModuleStub
- Added a new helper function
Remove-SqlModuleStub
for tests to remove
the PowerShell SqlServer stub module when a test has run.
- Added a new helper function
- SqlWindowsFirewall
- Added integration tests for SqlWindowsFirewall (issue #747).
Get-DscProperty
- Added parameter
ExcludeName
to exclude property names from being returned.
- Added parameter
Changed
- SqlServerDsc
- Updated pipeline to use the build worker image 'ubuntu-latest'.
- Switch to installing GitVersion using 'dotnet tool install' (issue #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 typeDatabasePermissionSet
.
The stubs suggested that the propertyPermissionType
(of typeDatabasePermissionSet
)
inDatabasePermissionInfo
should have been a arrayDatabasePermissionSet[]
.
This conflicted with real SMO as it does not pass an array, but instead
a singleDatabasePermissionSet
. 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 typeServerPermissionSet
. The stubs suggested that
the propertyPermissionType
(of typeServerPermissionSet
)
inServerPermissionInfo
should have been a arrayServerPermissionSet[]
.
This conflicted with real SMO as it does not pass an array, but instead
a singleServerPermissionSet
. 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
- 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 functionConnect-SQL
was renamed
toCredential
and the parameter nameSetupCredential
was made a
parameter alias.
- The parameter
- SqlLogin
- BREAKING CHANGE: The parameters
LoginMustChangePassword
,LoginPasswordExpirationEnabled
,
andLoginPasswordPolicyEnforced
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
,
andLoginPasswordPolicyEnforced
parameters no longer enforce default
values (issue #1669).
- BREAKING CHANGE: The parameters
- SqlServerDsc
- All tests have been converted to run in Pester 5 (Pester 4 can no
longer be supported) (issue #1654). - Pipeline build and deploy now runs on Ubuntu 18.04, see more information
in actions/runner-images#3287. - Update the pipeline file azure-pipelines.yml to use the latest version
from the Sampler project.
- All tests have been converted to run in Pester 5 (Pester 4 can no
- SqlRs
- BREAKING CHANGE: Now the Reporting Services is always restarted after
the call to CIM methodSetDatabaseConnection
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). - 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.
- BREAKING CHANGE: Now the Reporting Services is always restarted after
- 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.
- Only enforces optional parameter
- SqlSecureConnection
- BREAKING CHANGE: Now
Get-TargetResource
returns the value'Empty'
for the p...
- BREAKING CHANGE: Now
v16.0.0-preview0013
[v16.0.0-preview0013]
Removed
- The deprecated DSC resource SqlDatabaseOwner have been removed (and replaced
by a property in SqlDatabase)
(issue #1725). - The deprecated DSC resource SqlDatabaseRecoveryModel have been removed (and
replaced by a property in SqlDatabase)
(issue #1725). - The deprecated DSC resource SqlServerEndpointState have been removed (and
replaced by a property in SqlEndpoint)
(issue #1725). - The deprecated DSC resource SqlServerNetwork have been removed (and replaced by
SqlProtocol
and SqlProtocolTcpIp)
(issue #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.
- Remove the helper function
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 propertyEnsure
in class-based
resources.Reason
- Used by methodGet()
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.
- Added recommended VS Code extensions.
- 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 usesGet-Module -All
to look for previously loaded
stub modules.
- Added the optional parameter PasThru that, if used, will return the
Remove-SqlModuleStub
- Added a new helper function
Remove-SqlModuleStub
for tests to remove
the PowerShell SqlServer stub module when a test has run.
- Added a new helper function
- SqlWindowsFirewall
- Added integration tests for SqlWindowsFirewall (issue #747).
Get-DscProperty
- Added parameter
ExcludeName
to exclude property names from being returned.
- Added parameter
Changed
- SqlServerDsc
- Updated pipeline to use the build worker image 'ubuntu-latest'.
- Switch to installing GitVersion using 'dotnet tool install' (issue #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 typeDatabasePermissionSet
.
The stubs suggested that the propertyPermissionType
(of typeDatabasePermissionSet
)
inDatabasePermissionInfo
should have been a arrayDatabasePermissionSet[]
.
This conflicted with real SMO as it does not pass an array, but instead
a singleDatabasePermissionSet
. 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 typeServerPermissionSet
. The stubs suggested that
the propertyPermissionType
(of typeServerPermissionSet
)
inServerPermissionInfo
should have been a arrayServerPermissionSet[]
.
This conflicted with real SMO as it does not pass an array, but instead
a singleServerPermissionSet
. 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
- 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 functionConnect-SQL
was renamed
toCredential
and the parameter nameSetupCredential
was made a
parameter alias.
- The parameter
- SqlLogin
- BREAKING CHANGE: The parameters
LoginMustChangePassword
,LoginPasswordExpirationEnabled
,
andLoginPasswordPolicyEnforced
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
,
andLoginPasswordPolicyEnforced
parameters no longer enforce default
values (issue #1669).
- BREAKING CHANGE: The parameters
- SqlServerDsc
- All tests have been converted to run in Pester 5 (Pester 4 can no
longer be supported) (issue #1654). - Pipeline build and deploy now runs on Ubuntu 18.04, see more information
in actions/runner-images#3287. - Update the pipeline file azure-pipelines.yml to use the latest version
from the Sampler project.
- All tests have been converted to run in Pester 5 (Pester 4 can no
- SqlRs
- BREAKING CHANGE: Now the Reporting Services is always restarted after
the call to CIM methodSetDatabaseConnection
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). - 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.
- BREAKING CHANGE: Now the Reporting Services is always restarted after
- 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.
- Only enforces optional parameter
- SqlSecureConnection
- BREAKING CHANGE: Now
Get-TargetResource
returns the value'Empty'
...
- BREAKING CHANGE: Now
v16.0.0-preview0012
[v16.0.0-preview0012]
Removed
- The deprecated DSC resource SqlDatabaseOwner have been removed (and replaced
by a property in SqlDatabase)
(issue #1725). - The deprecated DSC resource SqlDatabaseRecoveryModel have been removed (and
replaced by a property in SqlDatabase)
(issue #1725). - The deprecated DSC resource SqlServerEndpointState have been removed (and
replaced by a property in SqlEndpoint)
(issue #1725). - The deprecated DSC resource SqlServerNetwork have been removed (and replaced by
SqlProtocol
and SqlProtocolTcpIp)
(issue #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.
- Remove the helper function
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 propertyEnsure
in class-based
resources.Reason
- Used by methodGet()
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.
- Added recommended VS Code extensions.
- 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 usesGet-Module -All
to look for previously loaded
stub modules.
- Added the optional parameter PasThru that, if used, will return the
Remove-SqlModuleStub
- Added a new helper function
Remove-SqlModuleStub
for tests to remove
the PowerShell SqlServer stub module when a test has run.
- Added a new helper function
- SqlWindowsFirewall
- Added integration tests for SqlWindowsFirewall (issue #747).
Get-DscProperty
- Added parameter
ExcludeName
to exclude property names from being returned.
- Added parameter
Changed
- SqlServerDsc
- Updated pipeline to use the build worker image 'ubuntu-latest'.
- Switch to installing GitVersion using 'dotnet tool install' (issue #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 typeDatabasePermissionSet
.
The stubs suggested that the propertyPermissionType
(of typeDatabasePermissionSet
)
inDatabasePermissionInfo
should have been a arrayDatabasePermissionSet[]
.
This conflicted with real SMO as it does not pass an array, but instead
a singleDatabasePermissionSet
. 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 typeServerPermissionSet
. The stubs suggested that
the propertyPermissionType
(of typeServerPermissionSet
)
inServerPermissionInfo
should have been a arrayServerPermissionSet[]
.
This conflicted with real SMO as it does not pass an array, but instead
a singleServerPermissionSet
. 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
- 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 functionConnect-SQL
was renamed
toCredential
and the parameter nameSetupCredential
was made a
parameter alias.
- The parameter
- SqlLogin
- BREAKING CHANGE: The parameters
LoginMustChangePassword
,LoginPasswordExpirationEnabled
,
andLoginPasswordPolicyEnforced
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
,
andLoginPasswordPolicyEnforced
parameters no longer enforce default
values (issue #1669).
- BREAKING CHANGE: The parameters
- SqlServerDsc
- All tests have been converted to run in Pester 5 (Pester 4 can no
longer be supported) (issue #1654). - Pipeline build and deploy now runs on Ubuntu 18.04, see more information
in actions/runner-images#3287. - Update the pipeline file azure-pipelines.yml to use the latest version
from the Sampler project.
- All tests have been converted to run in Pester 5 (Pester 4 can no
- SqlRs
- BREAKING CHANGE: Now the Reporting Services is always restarted after
the call to CIM methodSetDatabaseConnection
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). - 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.
- BREAKING CHANGE: Now the Reporting Services is always restarted after
- 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.
- Only enforces optional parameter
- SqlSecureConnection
- BREAKING CHANGE: Now
Get-TargetResource
returns the value'Empty'
...
- BREAKING CHANGE: Now
v16.0.0-preview0011
[v16.0.0-preview0011]
Removed
- The deprecated DSC resource SqlDatabaseOwner have been removed (and replaced
by a property in SqlDatabase)
(issue #1725). - The deprecated DSC resource SqlDatabaseRecoveryModel have been removed (and
replaced by a property in SqlDatabase)
(issue #1725). - The deprecated DSC resource SqlServerEndpointState have been removed (and
replaced by a property in SqlEndpoint)
(issue #1725). - The deprecated DSC resource SqlServerNetwork have been removed (and replaced by
SqlProtocol
and SqlProtocolTcpIp)
(issue #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.
- Remove the helper function
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 propertyEnsure
in class-based
resources.Reason
- Used by methodGet()
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.
- Added recommended VS Code extensions.
- 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 usesGet-Module -All
to look for previously loaded
stub modules.
- Added the optional parameter PasThru that, if used, will return the
Remove-SqlModuleStub
- Added a new helper function
Remove-SqlModuleStub
for tests to remove
the PowerShell SqlServer stub module when a test has run.
- Added a new helper function
- SqlWindowsFirewall
- Added integration tests for SqlWindowsFirewall (issue #747).
Get-DscProperty
- Added parameter
ExcludeName
to exclude property names from being returned.
- Added parameter
Changed
- SqlServerDsc
- Updated pipeline to use the build worker image 'ubuntu-latest'.
- Switch to installing GitVersion using 'dotnet tool install' (issue #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 typeDatabasePermissionSet
.
The stubs suggested that the propertyPermissionType
(of typeDatabasePermissionSet
)
inDatabasePermissionInfo
should have been a arrayDatabasePermissionSet[]
.
This conflicted with real SMO as it does not pass an array, but instead
a singleDatabasePermissionSet
. 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 typeServerPermissionSet
. The stubs suggested that
the propertyPermissionType
(of typeServerPermissionSet
)
inServerPermissionInfo
should have been a arrayServerPermissionSet[]
.
This conflicted with real SMO as it does not pass an array, but instead
a singleServerPermissionSet
. 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
- 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 functionConnect-SQL
was renamed
toCredential
and the parameter nameSetupCredential
was made a
parameter alias.
- The parameter
- SqlLogin
- BREAKING CHANGE: The parameters
LoginMustChangePassword
,LoginPasswordExpirationEnabled
,
andLoginPasswordPolicyEnforced
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
,
andLoginPasswordPolicyEnforced
parameters no longer enforce default
values (issue #1669).
- BREAKING CHANGE: The parameters
- SqlServerDsc
- All tests have been converted to run in Pester 5 (Pester 4 can no
longer be supported) (issue #1654). - Pipeline build and deploy now runs on Ubuntu 18.04, see more information
in actions/runner-images#3287. - Update the pipeline file azure-pipelines.yml to use the latest version
from the Sampler project.
- All tests have been converted to run in Pester 5 (Pester 4 can no
- SqlRs
- BREAKING CHANGE: Now the Reporting Services is always restarted after
the call to CIM methodSetDatabaseConnection
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). - 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.
- BREAKING CHANGE: Now the Reporting Services is always restarted after
- 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.
- Only enforces optional parameter
- SqlSecureConnection
- BREAKING CHANGE: Now
Get-TargetResource
returns the value'Empty'
...
- BREAKING CHANGE: Now