Skip to content

Releases: dsccommunity/SqlServerDsc

v15.1.0-preview0001

31 Jan 18:57
db3c76f
Compare
Choose a tag to compare
v15.1.0-preview0001 Pre-release
Pre-release

[v15.1.0-preview0001]

Added

  • SqlServerDsc
    • Added a new script analyzer rule to verify that Import-SQLPSModule or Connect-SQL
      (that implicitly calls Import-SQLPSModule) is present in each Get-, Test-,
      and Set-TargetResource function. If neither command is not needed then the
      analyzer rule should be overridden (issue #1683).
    • Added a new pipeline job that runs Script Analyzer on all PowerShell scripts
      in the source folder. The rules are defined by the Script Analyzer settings
      file .vscode\analyzersettings.psd1 (which also the Visual Studio Code
      PowerShell extension uses).
    • Added unit tests and integration tests for SQL Server 2019
      (issue #1310).

Changed

  • SqlServerDsc
    • Suppressed new custom Script Analyzer rule SqlServerDsc.AnalyzerRules\Measure-CommandsNeededToLoadSMO
      for Get-, Test-, and Set-TargetResource functions in the resources.
  • SqlLogin
    • Added functionality to throw exception if an update to the LoginMustChangePassword
      value on an existing SQL Login is attempted. This functionality is not supported
      by referenced, SQL Server Management Object (SMO), libraries and cannot be
      supported directly by this module.
    • Added integration tests to ensure that an added (or updated) SqlLogin can
      connect into a SQL instance once added (or updated).
    • Added integration tests to ensure that the default database connected to by
      a SqlLogin is the same as specified in the resource's DefaultDatabase
      property/parameter.
    • Amended how the interdependent, PasswordExpirationEnabled and PasswordPolicyEnforced
      properties/parameters are updated within the SqlLogin resource - Both values
      are now updated together if either one or both are not currently in the desired
      state. This change avoids exceptions thrown by transitions to valid, combinations
      of these properties that have to transition through an invalid combination (e.g.
      where PasswordExpirationEnabled is $true but PasswordPolicyEnforced is
      $false).
  • SqlSetup
    • Minor refactor due to source code lint errors. The loop what evaluates
      the configuration parameters *FailoverCluster was change to a foreach().

Fixed

  • SqlServerDsc
    • The component gitversion that is used in the pipeline was wrongly
      configured when the repository moved to the new default branch main.
      It no longer throws an error when using newer versions of GitVersion
      (issue #1674).
    • Minor lint errors throughout the repository.
  • SqlLogin
    • Added integration tests to assert LoginPasswordExpirationEnabled,
      LoginPasswordPolicyEnforced and LoginMustChangePassword properties/parameters
      are applied and updated correctly. Similar integration tests also added to ensure
      the password of the SqlLogin is updated if the password within the SqlCredential
      value/object is changed (issue #361,
      issue #1032 and
      issue #1050).
    • Updated SqlLogin, integration tests to make use of amended Wait-ForIdleLcm,
      helper function, -Clear switch usage to remove intermittent, integration
      test failures (issue #1634).
  • SqlRSSetup
    • If parameter SuppressRestart is set to $false the /norestart
      argument is no longer wrongly added (issue #1401).
  • SqlSetup
    • Added/corrected InstallSharedDir, property output when using SQL Server 2019.
  • SqlTraceFlag

v15.0.2-preview0004

30 Jan 17:21
511b365
Compare
Choose a tag to compare
v15.0.2-preview0004 Pre-release
Pre-release

[v15.0.2-preview0004]

  • SqlTraceFlag

Changed

  • SqlLogin

    • Added functionality to throw exception if an update to the LoginMustChangePassword
      value on an existing SQL Login is attempted. This functionality is not supported
      by referenced, SQL Server Management Object (SMO), libraries and cannot be
      supported directly by this module.
    • Added integration tests to ensure that an added (or updated) SqlLogin can
      connect into a SQL instance once added (or updated).
    • Added integration tests to ensure that the default database connected to by
      a SqlLogin is the same as specified in the resource's DefaultDatabase
      property/parameter.
    • Amended how the interdependent, PasswordExpirationEnabled and PasswordPolicyEnforced
      properties/parameters are updated within the SqlLogin resource - Both values
      are now updated together if either one or both are not currently in the desired
      state. This change avoids exceptions thrown by transitions to valid, combinations
      of these properties that have to transition through an invalid combination (e.g.
      where PasswordExpirationEnabled is $true but PasswordPolicyEnforced is
      $false).
  • SqlServerDsc

    • Added unit tests and integration tests for SQL Server 2019
      (issue #1310).

Fixed

  • SqlServerDsc
    • The component gitversion that is used in the pipeline was wrongly
      configured when the repository moved to the new default branch main.
      It no longer throws an error when using newer versions of GitVersion
      (issue #1674).
  • SqlLogin
    • Added integration tests to assert LoginPasswordExpirationEnabled,
      LoginPasswordPolicyEnforced and LoginMustChangePassword properties/parameters
      are applied and updated correctly. Similar integration tests also added to ensure
      the password of the SqlLogin is updated if the password within the SqlCredential
      value/object is changed (issue #361,
      issue #1032 and
      issue #1050).
    • Updated SqlLogin, integration tests to make use of amended Wait-ForIdleLcm,
      helper function, -Clear switch usage to remove intermittent, integration
      test failures (issue #1634).
  • SqlRSSetup
    • If parameter SuppressRestart is set to $false the /norestart
      argument is no longer wrongly added (issue #1401).
  • SqlSetup
    • Added/corrected InstallSharedDir, property output when using SQL Server 2019.

v15.0.2-preview0003

24 Jan 20:27
8a040bf
Compare
Choose a tag to compare
v15.0.2-preview0003 Pre-release
Pre-release

[v15.0.2-preview0003]

Changed

  • SqlLogin

    • Added functionality to throw exception if an update to the LoginMustChangePassword
      value on an existing SQL Login is attempted. This functionality is not supported
      by referenced, SQL Server Management Object (SMO), libraries and cannot be
      supported directly by this module.
    • Added integration tests to ensure that an added (or updated) SqlLogin can
      connect into a SQL instance once added (or updated).
    • Added integration tests to ensure that the default database connected to by
      a SqlLogin is the same as specified in the resource's DefaultDatabase
      property/parameter.
    • Amended how the interdependent, PasswordExpirationEnabled and PasswordPolicyEnforced
      properties/parameters are updated within the SqlLogin resource - Both values
      are now updated together if either one or both are not currently in the desired
      state. This change avoids exceptions thrown by transitions to valid, combinations
      of these properties that have to transition through an invalid combination (e.g.
      where PasswordExpirationEnabled is $true but PasswordPolicyEnforced is
      $false).
  • SqlServerDsc

    • Added unit tests and integration tests for SQL Server 2019
      (issue #1310).

Fixed

  • SqlServerDsc
    • The component gitversion that is used in the pipeline was wrongly
      configured when the repository moved to the new default branch main.
      It no longer throws an error when using newer versions of GitVersion
      (issue #1674).
  • SqlLogin
    • Added integration tests to assert LoginPasswordExpirationEnabled,
      LoginPasswordPolicyEnforced and LoginMustChangePassword properties/parameters
      are applied and updated correctly. Similar integration tests also added to ensure
      the password of the SqlLogin is updated if the password within the SqlCredential
      value/object is changed (issue #361,
      issue #1032 and
      issue #1050).
    • Updated SqlLogin, integration tests to make use of amended Wait-ForIdleLcm,
      helper function, -Clear switch usage to remove intermittent, integration
      test failures (issue #1634).
  • SqlRSSetup
    • If parameter SuppressRestart is set to $false the /norestart
      argument is no longer wrongly added (issue #1401).
  • SqlSetup
    • Added/corrected InstallSharedDir, property output when using SQL Server 2019.

v15.0.2-preview0002

21 Jan 19:57
c392042
Compare
Choose a tag to compare
v15.0.2-preview0002 Pre-release
Pre-release

[v15.0.2-preview0002]

Changed

  • SqlLogin
    • Added functionality to throw exception if an update to the LoginMustChangePassword
      value on an existing SQL Login is attempted. This functionality is not supported
      by referenced, SQL Server Management Object (SMO), libraries and cannot be
      supported directly by this module.
    • Added integration tests to ensure that an added (or updated) SqlLogin can
      connect into a SQL instance once added (or updated).
    • Added integration tests to ensure that the default database connected to by
      a SqlLogin is the same as specified in the resource's DefaultDatabase
      property/parameter.
    • Amended how the interdependent, PasswordExpirationEnabled and PasswordPolicyEnforced
      properties/parameters are updated within the SqlLogin resource - Both values
      are now updated together if either one or both are not currently in the desired
      state. This change avoids exceptions thrown by transitions to valid, combinations
      of these properties that have to transition through an invalid combination (e.g.
      where PasswordExpirationEnabled is $true but PasswordPolicyEnforced is
      $false).

Fixed

  • SqlServerDsc
    • The component gitversion that is used in the pipeline was wrongly
      configured when the repository moved to the new default branch main.
      It no longer throws an error when using newer versions of GitVersion
      (issue #1674,
  • SqlLogin
    • Added integration tests to assert LoginPasswordExpirationEnabled,
      LoginPasswordPolicyEnforced and LoginMustChangePassword properties/parameters
      are applied and updated correctly. Similar integration tests also added to ensure
      the password of the SqlLogin is updated if the password within the SqlCredential
      value/object is changed (issue #361,
      issue #1032 and
      issue #1050).
    • Updated SqlLogin, integration tests to make use of amended Wait-ForIdleLcm,
      helper function, -Clear switch usage to remove intermittent, integration
      test failures (issue #1634).
  • SqlRSSetup
    • If parameter SuppressRestart is set to $false the /norestart
      argument is no longer wrongly added (issue #1401).

v15.0.2-preview0001

12 Jan 13:54
9130c05
Compare
Choose a tag to compare
v15.0.2-preview0001 Pre-release
Pre-release

[v15.0.2-preview0001]

Changed

  • SqlLogin
    • Added functionality to throw exception if an update to the LoginMustChangePassword
      value on an existing SQL Login is attempted. This functionality is not supported
      by referenced, SQL Server Management Object (SMO), libraries and cannot be
      supported directly by this module.
    • Added integration tests to ensure that an added (or updated) SqlLogin can
      connect into a SQL instance once added (or updated).
    • Added integration tests to ensure that the default database connected to by
      a SqlLogin is the same as specified in the resource's DefaultDatabase
      property/parameter.
    • Reversed order in which PasswordExpirationEnabled and PasswordPolicyEnforced
      are updated within SqlLogin resource. PasswordPolicyEnforced is now updated
      first.

Fixed

  • SqlLogin
    • Added integration tests to assert LoginPasswordExpirationEnabled,
      LoginPasswordPolicyEnforced and LoginMustChangePassword properties/parameters
      are applied and updated correctly. Similar integration tests also added to ensure
      the password of the SqlLogin is updated if the password within the SqlCredential
      value/object is changed (issue #361,
      issue #1032 and
      issue #1050).
    • Updated SqlLogin, integration tests to make use of amended Wait-ForIdleLcm,
      helper function, -Clear switch usage to remove intermittent, integration
      test failures (issue #1634).

v15.0.1

09 Jan 21:23
23b977c
Compare
Choose a tag to compare

[v15.0.1]

Changed

  • SqlServerDsc
    • Renamed master branch to main (issue #1660).
    • The module manifest property DscResourcesToExport now updates automatically
      using the pipeline.
    • Removed Export-ModuleMember from DSC resource that still had it.
    • The variable $env:COMPUTERNAME does not exist cross-platform which
      hinders development and testing on macOS and Linux. Instead the
      resources have been update to use the helper function Get-ComputerName
      which returns the current computer name cross-plattform.

Fixed

  • SqlAGDatabase
    • Fix for issue (issue #1492)
      added AutomaticSeeding for this resource. In Set-TargetResource added logic that looks
      at all replicas of an availability group. When automatic seeding is found, it will use that.
    • Lots of extra tests to check AutomaticSeeding.
    • The parameter BackupPath is still needed just in case a database never has been backuped before.
    • Fixed a typo.
  • SqlMaxDop
    • Fixes (issue #396).
      Added three return values in Get-Target resource.
  • SqlProtocol
    • Changed KeepAlive Type from UInt16 to Int32 to reflect the actual WMI.ManagementObject
      Fixes #1645 (issue #1645).
    • The verbose messages now correctly show that $env:COMPUTERNAME is used
      to get or set the configuration, while parameter ServerName is used
      to restart the instance.
  • SqlProtocolTcpIp
    • The verbose messages now correctly show that $env:COMPUTERNAME is used
      to get or set the configuration, while parameter ServerName is used
      to restart the instance.
  • SqlDatabaseMail
    • Now if a non-mandatory property is not part of the configuration it will
      not be enforced (issue #1661).
  • SqlSetup
    • When the SqlSetup detects that the expected components was not installed
      and consequently throws an exception, that exception message now presents
      a link to an article on how to find the SQL Server setup logs (issue #1420).
  • SqlRSSetup
    • If parameter EditionUpgrade is set to $false the /EditionUpgrade
      argument is no longer wrongly added (issue #1398).
  • SqlServerDsc.Common
    • Updated Get-ServerProtocolObject, helper function to ensure an exception is
      thrown if the specified instance cannot be obtained (issue #1628).

v15.0.1-preview0010

09 Jan 16:06
23b977c
Compare
Choose a tag to compare
v15.0.1-preview0010 Pre-release
Pre-release

[v15.0.1-preview0010]

Changed

  • SqlServerDsc
    • Renamed master branch to main (issue #1660).
    • The module manifest property DscResourcesToExport now updates automatically
      using the pipeline.
    • Removed Export-ModuleMember from DSC resource that still had it.
    • The variable $env:COMPUTERNAME does not exist cross-platform which
      hinders development and testing on macOS and Linux. Instead the
      resources have been update to use the helper function Get-ComputerName
      which returns the current computer name cross-plattform.

Fixed

  • SqlAGDatabase
    • Fix for issue (issue #1492)
      added AutomaticSeeding for this resource. In Set-TargetResource added logic that looks
      at all replicas of an availability group. When automatic seeding is found, it will use that.
    • Lots of extra tests to check AutomaticSeeding.
    • The parameter BackupPath is still needed just in case a database never has been backuped before.
    • Fixed a typo.
  • SqlMaxDop
    • Fixes (issue #396).
      Added three return values in Get-Target resource.
  • SqlProtocol
    • Changed KeepAlive Type from UInt16 to Int32 to reflect the actual WMI.ManagementObject
      Fixes #1645 (issue #1645).
    • The verbose messages now correctly show that $env:COMPUTERNAME is used
      to get or set the configuration, while parameter ServerName is used
      to restart the instance.
  • SqlProtocolTcpIp
    • The verbose messages now correctly show that $env:COMPUTERNAME is used
      to get or set the configuration, while parameter ServerName is used
      to restart the instance.
  • SqlDatabaseMail
    • Now if a non-mandatory property is not part of the configuration it will
      not be enforced (issue #1661).
  • SqlSetup
    • When the SqlSetup detects that the expected components was not installed
      and consequently throws an exception, that exception message now presents
      a link to an article on how to find the SQL Server setup logs (issue #1420).
  • SqlRSSetup
    • If parameter EditionUpgrade is set to $false the /EditionUpgrade
      argument is no longer wrongly added (issue #1398).
  • SqlServerDsc.Common
    • Updated Get-ServerProtocolObject, helper function to ensure an exception is
      thrown if the specified instance cannot be obtained (issue #1628).

v15.0.1-preview0009

06 Jan 15:03
be1f7ce
Compare
Choose a tag to compare
v15.0.1-preview0009 Pre-release
Pre-release

[v15.0.1-preview0009]

Changed

  • SqlServerDsc
    • The module manifest property DscResourcesToExport now updates automatically
      using the pipeline.
    • Removed Export-ModuleMember from DSC resource that still had it.
    • The variable $env:COMPUTERNAME does not exist cross-platform which
      hinders development and testing on macOS and Linux. Instead the
      resources have been update to use the helper function Get-ComputerName
      which returns the current computer name cross-plattform.

Fixed

  • SqlAGDatabase
    • Fix for issue (issue #1492)
      added AutomaticSeeding for this resource. In Set-TargetResource added logic that looks
      at all replicas of an availability group. When automatic seeding is found, it will use that.
    • Lots of extra tests to check AutomaticSeeding.
    • The parameter BackupPath is still needed just in case a database never has been backuped before.
  • SqlMaxDop
    • Fixes (issue #396).
      Added three return values in Get-Target resource.
  • SqlProtocol
    • Changed KeepAlive Type from UInt16 to Int32 to reflect the actual WMI.ManagementObject
      Fixes #1645 (issue #1645).
    • The verbose messages now correctly show that $env:COMPUTERNAME is used
      to get or set the configuration, while parameter ServerName is used
      to restart the instance.
  • SqlProtocolTcpIp
    • The verbose messages now correctly show that $env:COMPUTERNAME is used
      to get or set the configuration, while parameter ServerName is used
      to restart the instance.
  • SqlDatabaseMail
    • Now if a non-mandatory property is not part of the configuration it will
      not be enforced (issue #1661).
  • SqlSetup
    • When the SqlSetup detects that the expected components was not installed
      and consequently throws an exception, that exception message now presents
      a link to an article on how to find the SQL Server setup logs (issue #1420).
  • SqlRSSetup
    • If parameter EditionUpgrade is set to $false the /EditionUpgrade
      argument is no longer wrongly added (issue #1398).
  • SqlServerDsc.Common
    • Updated Get-ServerProtocolObject, helper function to ensure an exception is
      thrown if the specified instance cannot be obtained (issue #1628).

v15.0.1-preview0008

06 Jan 10:23
5758153
Compare
Choose a tag to compare
v15.0.1-preview0008 Pre-release
Pre-release

[v15.0.1-preview0008]

Changed

  • SqlServerDsc
    • The module manifest property DscResourcesToExport now updates automatically
      using the pipeline.
    • Removed Export-ModuleMember from DSC resource that still had it.
    • The variable $env:COMPUTERNAME does not exist cross-platform which
      hinders development and testing on macOS and Linux. Instead the
      resources have been update to use the helper function Get-ComputerName
      which returns the current computer name cross-plattform.

Fixed

  • SqlAGDatabase
    • Fix for issue (issue #1492)
      added AutomaticSeeding for this resource. In Set-TargetResource added logic that looks
      at all replicas of an availability group. When automatic seeding is found, it will use that.
    • Lots of extra tests to check AutomaticSeeding.
    • The parameter BackupPath is still needed just in case a database never has been backuped before.
  • SqlMaxDop
    • Fixes (issue #396).
      Added three return values in Get-Target resource.
  • SqlProtocol
    • Changed KeepAlive Type from UInt16 to Int32 to reflect the actual WMI.ManagementObject
      Fixes #1645 (issue #1645).
    • The verbose messages now correctly show that $env:COMPUTERNAME is used
      to get or set the configuration, while parameter ServerName is used
      to restart the instance.
  • SqlProtocolTcpIp
    • The verbose messages now correctly show that $env:COMPUTERNAME is used
      to get or set the configuration, while parameter ServerName is used
      to restart the instance.
  • SqlDatabaseMail
    • Now if a non-mandatory property is not part of the configuration it will
      not be enforced (issue #1661).
  • SqlSetup
    • When the SqlSetup detects that the expected components was not installed
      and consequently throws an exception, that exception message now presents
      a link to an article on how to find the SQL Server setup logs (issue #1420).
  • SqlServerDsc.Common
    • Updated Get-ServerProtocolObject, helper function to ensure an exception is
      thrown if the specified instance cannot be obtained (issue #1628).

v15.0.1-preview0007

27 Dec 14:44
05b3c8e
Compare
Choose a tag to compare
v15.0.1-preview0007 Pre-release
Pre-release

[v15.0.1-preview0007]

Changed

  • SqlServerDsc
    • The module manifest property DscResourcesToExport now updates automatically
      using the pipeline.
    • Removed Export-ModuleMember from DSC resource that still had it.
    • The variable $env:COMPUTERNAME does not exist cross-platform which
      hinders development and testing on macOS and Linux. Instead the
      resources have been update to use the helper function Get-ComputerName
      which returns the current computer name cross-plattform.

Fixed

  • SqlAGDatabase
    • Fix for issue (issue #1492)
      added AutomaticSeeding for this resource. In Set-TargetResource added logic that looks
      at all replicas of an availability group. When automatic seeding is found, it will use that.
    • Lots of extra tests to check AutomaticSeeding.
    • The parameter BackupPath is still needed just in case a database never has been backuped before.
  • SqlMaxDop
    • Fixes (issue #396).
      Added three return values in Get-Target resource.
  • SqlProtocol
    • Changed KeepAlive Type from UInt16 to Int32 to reflect the actual WMI.ManagementObject
      Fixes #1645 (issue #1645).
    • The verbose messages now correctly show that $env:COMPUTERNAME is used
      to get or set the configuration, while parameter ServerName is used
      to restart the instance.
  • SqlProtocolTcpIp
    • The verbose messages now correctly show that $env:COMPUTERNAME is used
      to get or set the configuration, while parameter ServerName is used
      to restart the instance.
  • SqlServerDsc.Common
    • Updated Get-ServerProtocolObject, helper function to ensure an exception is
      thrown if the specified instance cannot be obtained (issue #1628).