Skip to content

v16.1.0-preview0020

Pre-release
Pre-release
Compare
Choose a tag to compare
@dscbot dscbot released this 28 Feb 16:42
b24df85

[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).
    • 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).
    • Removed private function Test-ResourceDscPropertyIsAssigned and
      Test-ResourceHasDscProperty. Both are replaced by Test-DscProperty
      which is now part of the module DscResource.Common.
    • Removed private function Get-DscProperty. It is replaced by Get-DscProperty
      which is now part of the module DscResource.Common.
    • The class ResourceBase and Reason 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.

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 property Reasons
      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.
  • 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. Parameter Encrypt 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.
  • SqlScript
    • Added optional parameter Encrypt. Parameter Encrypt 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.
  • SqlScriptQuery
    • Added optional parameter Encrypt. Parameter Encrypt 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.
  • 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, and Repair-SqlDscServer
    now support the setup argument ProductCoveredBySA (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 property Reasons. Resolves the issues
      issue #1831,
      issue #1832,
      and issue #1833.
  • Install-SqlServerDsc
    • No longer throws an exception when parameter AgtSvcAccount is not specified.
  • SqlAgReplica
    • Converted unit test to Pester 5.
    • Update-AvailabilityGroupReplica to trigger once within Set-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 name ARC).
    • Support the setup argument ProductCoveredBySA.
    • No longer supports the argument OnBoardSQLToARC as it was removed in
      SQL Server 2022 GA.
  • Install-SqlDscServer
    • Was changed to support the SQL Server 2022 GA feature AzureExtension
      (that replaced the feature name ARC) (issue #1798).
  • Uninstall-SqlDscServer
    • Was changed to support the SQL Server 2022 GA feature AzureExtension
      (that replaced the feature name ARC) (issue #1798).
    • Now support the argument SuppressPrivacyStatementNotice (issue #1809).
  • 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.
  • 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).
  • 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).
  • 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).
  • 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).
  • 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.
  • SqlServerDsc.Common
    • Import-SQLPSModule
      • Small changed to the localized string verbose message when the preferred
        module (SqlServer) is not found.
    • Invoke-SqlScript
      • Added the optional parameter Encrypt which 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.
    • 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 not Online.
    • Import-SQLPSModule
      • The function was changed to call public command Import-SqlDscPreferredModule.
  • 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, and TraceFlagsToInclude. The last
      two properties will always return an empty array.

Fixed

  • SqlServerDsc
    • Localized strings file en-US/SqlServerDsc.strings.psd1 no longer
      referencing the wrong module in a comment.
  • 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 properties Name
      and AvailabilityGroupName (issue #1822).
    • Now Test-TargetResource no longer test properties that cannot
      be enforced (issue #1822).
  • 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 method Get().