v16.1.0-preview0020
Pre-release
Pre-release
[v16.1.0-preview0020]
Removed
- SqlServerDsc
- Removed
Assert-ElevatedUser
from private functions (issue #1797).Assert-ElevatedUser
added to DscResource.Common public functions
(issue #82).
- Removed
Test-IsNumericType
from private functions (issue #1795).Test-IsNumericType
added to DscResource.Common public functions
(issue #87).
- Removed
Test-ServiceAccountRequirePassword
from private functions (issue #1794- Replaced by
Test-AccountRequirePassword
that was added to DscResource.Common
public functions (issue #93).
- Replaced by
- Removed
Assert-RequiredCommandParameter
from private functions (issue #1796).- Replaced by
Assert-BoundParameter
(part of DscResource.Common)
that had a new parameter set added (issue #92).
- Replaced by
- Removed private function
Test-ResourceDscPropertyIsAssigned
and
Test-ResourceHasDscProperty
. Both are replaced byTest-DscProperty
which is now part of the module DscResource.Common. - Removed private function
Get-DscProperty
. It is replaced byGet-DscProperty
which is now part of the module DscResource.Common. - The class
ResourceBase
andReason
has been removed, they are now
part of the module DscResource.Base. - The enum
Ensure
has been removed, is is now part of the module
DscResource.Base. - The private functions that the class
ResourceBase
depended on has been
moved to the module DscResource.Base.ConvertFrom-CompareResult
ConvertTo-Reason
Get-ClassName
Get-LocalizedDataRecursive
- Added documentation how to generate stub modules for the unit tests.
The documentation can be found in 'tests/Unit/Stubs`. - SqlRSSetup and SqlRS
- Removed the integration test when running against SQL Server 2019,
due to the URL to download the Reporting Services 2019 executable
no longer works.
- Removed the integration test when running against SQL Server 2019,
- Removed
Added
- SqlServerDsc
- The following private functions were added to the module (see comment-based
help for more information):Assert-SetupActionProperties
Invoke-SetupAction
ConvertTo-ManagedServiceType
ConvertFrom-ManagedServiceType
Assert-ManagedServiceType
- 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
Import-SqlDscPreferredModule
Get-SqlDscManagedComputer
Get-SqlDscManagedComputerService
Get-SqlDscTraceFlag
Add-SqlDscTraceFlag
Remove-SqlDscTraceFlag
Set-SqlDscTraceFlag
Get-SqlDscStartupParameter
Set-SqlDscStartupParameter
- Added class
StartupParameters
which can parse the startup parameters
of a manged computer service object. - Added class
SqlReason
to be used as the type of the DSC propertyReasons
for class-based resources. - 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. - New QA tests for public commands and private functions.
- 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.
- SqlRS
- Added optional parameter
Encrypt
. ParameterEncrypt
controls whether
the connection used by `Invoke-SqlCmd should enforce encryption. This
parameter can only be used together with the module SqlServer v22.x
(minimum v22.0.49-preview). The parameter will be ignored if an older
major versions of the module SqlServer is used.
- Added optional parameter
- SqlScript
- Added optional parameter
Encrypt
. ParameterEncrypt
controls whether
the connection used by `Invoke-SqlCmd should enforce encryption. This
parameter can only be used together with the module SqlServer v22.x
(minimum v22.0.49-preview). The parameter will be ignored if an older
major versions of the module SqlServer is used.
- Added optional parameter
- SqlScriptQuery
- Added optional parameter
Encrypt
. ParameterEncrypt
controls whether
the connection used by `Invoke-SqlCmd should enforce encryption. This
parameter can only be used together with the module SqlServer v22.x
(minimum v22.0.49-preview). The parameter will be ignored if an older
major versions of the module SqlServer is used.
- Added optional parameter
- SqlTraceFlag
- The resource is now tested with an integration tests (issue #1835).
- A new parameter
ClearAllTraceFlags
was added so a configuration
can enforce that there should be no trace flags.
- The public commands
Add-SqlDscNode
,Complete-SqlDscFailoverCluster
,
Complete-SqlDscImage
,Install-SqlDscServer
, andRepair-SqlDscServer
now support the setup argumentProductCoveredBySA
(issue #1798).
Changed
- SqlServerDsc
- Update Stale GitHub Action to v7.
- 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. - Class-based resources now uses the parent class
ResourceBase
from the
module DscResource.Base (issue #1790). - Settings for the Visual Studio Code extension Pester Tests was changed
to be able to run all unit tests, and all tests run by the extension
are now run in a separate process to be able to handle changes in
class-based resources. - The AppVeyor configuration file was updated to include the possibility
to run integration tests for SQL Server 2022. - The AppVeyor configuration file was updated to include the possibility
to run skip installing one or more SQL Server instances when debugging
in AppVeyor to help maximize the time alloted be run. - The stubs in
SqlServerStub.psm1
are now based on the commands from the
module SqlServer v22.0.49-preview. - The module will now call
Import-SqlDscPreferredModule
when the module
is imported to make sure SqlServer (default preferred module) or SQLPS
is loaded into the session. This will make it possible for classes and
commands to use and return SQL types. If no module is found it will
output a warning to install any of the dependent modules. - Add empty constructor to classes to be able to use Pester's new code
coverage method. See more information can be found in pester/Pester#2306. - The type of the property
Reasons
was changed in the class-based resources.
This resolves a problem when using two DSC resource modules that was
using the same class-type for the propertyReasons
. Resolves the issues
issue #1831,
issue #1832,
and issue #1833.
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.
Update-AvailabilityGroupReplica
to trigger once withinSet-TargetResource
for all AvailabilityReplica changes.
- Private function
Invoke-SetupAction
(issue #1798).- Was changed to support the SQL Server 2022 GA feature
AzureExtension
(that replaced the feature nameARC
). - Support the setup argument
ProductCoveredBySA
. - No longer supports the argument
OnBoardSQLToARC
as it was removed in
SQL Server 2022 GA.
- Was changed to support the SQL Server 2022 GA feature
Install-SqlDscServer
- Was changed to support the SQL Server 2022 GA feature
AzureExtension
(that replaced the feature nameARC
) (issue #1798).
- Was changed to support the SQL Server 2022 GA feature
Uninstall-SqlDscServer
- Was changed to support the SQL Server 2022 GA feature
AzureExtension
(that replaced the feature nameARC
) (issue #1798). - Now support the argument
SuppressPrivacyStatementNotice
(issue #1809).
- Was changed to support the SQL Server 2022 GA feature
Import-SqlDscPreferredModule
- No longer tries to get the environment variables from the machine state
when run on Linux or macOS. This will allow the unit tests to run
cross-plattform.
- No longer tries to get the environment variables from the machine state
- SqlReplication
- The resource now supports SQL Server 2022. The resource will require
the module SqlServer v22.0.49-preview or newer when used against an
SQL Server 2022 instance (issue #1801).
- The resource now supports SQL Server 2022. The resource will require
- SqlProtocol
- The resource now supports SQL Server 2022. The resource will require
the module SqlServer v22.0.49-preview or newer when used against an
SQL Server 2022 instance (issue #1802).
- The resource now supports SQL Server 2022. The resource will require
- SqlProtocolTcpIp
- The resource now supports SQL Server 2022. The resource will require
the module SqlServer v22.0.49-preview or newer when used against an
SQL Server 2022 instance (issue #1805).
- The resource now supports SQL Server 2022. The resource will require
- SqlServiceAccount
- The resource now supports SQL Server 2022. The resource will require
the module SqlServer v22.0.49-preview or newer when used against an
SQL Server 2022 instance (issue #1800).
- The resource now supports SQL Server 2022. The resource will require
- SqlSetup
- Integration tests now used SqlServer module version 22.0.49-preview
when running against SQL Server 2022, when testing SQL Server 2016,
SQL Server 2017, and SQL Server 2019 the module version 21.1.18256
is used. - Integration tests now supports installing preview versions of the module
SqlServer.
- Integration tests now used SqlServer module version 22.0.49-preview
- SqlServerDsc.Common
Import-SQLPSModule
- Small changed to the localized string verbose message when the preferred
module (SqlServer) is not found.
- Small changed to the localized string verbose message when the preferred
Invoke-SqlScript
- Added the optional parameter
Encrypt
which controls whether the connection
used byInvoke-SqlCmd
should enforce encryption. This parameter can
only be used together with the module SqlServer v22.x (minimum
v22.0.49-preview). The parameter will be ignored if an older major
versions of the module SqlServer is used.
- Added the optional parameter
Connect-SQL
- Was updated to handle both
-ErrorAction 'Stop'
and-ErrorAction 'SilentlyContinue'
when passed to the command (issue #1837). - Now returns a more clear error message when the status of a database
instance is notOnline
.
- Was updated to handle both
Import-SQLPSModule
- The function was changed to call public command
Import-SqlDscPreferredModule
.
- The function was changed to call public command
- SqlTraceFlag
- The examples was updated to show that values should be passed as an array,
even when there is only one value. Get-TargetResource
was updated to always return an array for parameter
TraceFlags
,TraceFlagsToInclude
, andTraceFlagsToInclude
. The last
two properties will always return an empty array.
- The examples was updated to show that values should be passed as an array,
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
- SqlTraceFlag
Set-TargetResource
was updated to handle a single trace flag in the
current state (issue #1834).Set-TargetResource
was updated to correctly include or exclude a single
flag (issue #1834).
- SqlAudit
- Return the correct type for parameter
LogType
when calling methodGet()
.
- Return the correct type for parameter