Releases: dsccommunity/SqlServerDsc
Releases · dsccommunity/SqlServerDsc
v15.1.0-preview0001
[v15.1.0-preview0001]
Added
- SqlServerDsc
- Added a new script analyzer rule to verify that
Import-SQLPSModule
orConnect-SQL
(that implicitly callsImport-SQLPSModule
) is present in eachGet-
,Test-
,
andSet-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).
- Added a new script analyzer rule to verify that
Changed
- SqlServerDsc
- Suppressed new custom Script Analyzer rule
SqlServerDsc.AnalyzerRules\Measure-CommandsNeededToLoadSMO
forGet-
,Test-
, andSet-TargetResource
functions in the resources.
- Suppressed new custom Script Analyzer rule
- 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
aSqlLogin
is the same as specified in the resource'sDefaultDatabase
property/parameter. - Amended how the interdependent,
PasswordExpirationEnabled
andPasswordPolicyEnforced
properties/parameters are updated within theSqlLogin
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.
wherePasswordExpirationEnabled
is$true
butPasswordPolicyEnforced
is
$false
).
- Added functionality to throw exception if an update to the
- SqlSetup
- Minor refactor due to source code lint errors. The loop what evaluates
the configuration parameters*FailoverCluster
was change to aforeach()
.
- Minor refactor due to source code lint errors. The loop what evaluates
Fixed
- SqlServerDsc
- The component
gitversion
that is used in the pipeline was wrongly
configured when the repository moved to the new default branchmain
.
It no longer throws an error when using newer versions of GitVersion
(issue #1674). - Minor lint errors throughout the repository.
- The component
- SqlLogin
- Added integration tests to assert
LoginPasswordExpirationEnabled
,
LoginPasswordPolicyEnforced
andLoginMustChangePassword
properties/parameters
are applied and updated correctly. Similar integration tests also added to ensure
the password of theSqlLogin
is updated if the password within theSqlCredential
value/object is changed (issue #361,
issue #1032 and
issue #1050). - Updated
SqlLogin
, integration tests to make use of amendedWait-ForIdleLcm
,
helper function,-Clear
switch usage to remove intermittent, integration
test failures (issue #1634).
- Added integration tests to assert
- SqlRSSetup
- If parameter
SuppressRestart
is set to$false
the/norestart
argument is no longer wrongly added (issue #1401).
- If parameter
- SqlSetup
- Added/corrected
InstallSharedDir
, property output when using SQL Server 2019.
- Added/corrected
- SqlTraceFlag
- Fixed Assembly not loaded error (issue #1680).
v15.0.2-preview0004
[v15.0.2-preview0004]
- SqlTraceFlag
- Fixed Assembly not loaded error
(issue #1680).
- Fixed Assembly not loaded error
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
aSqlLogin
is the same as specified in the resource'sDefaultDatabase
property/parameter. - Amended how the interdependent,
PasswordExpirationEnabled
andPasswordPolicyEnforced
properties/parameters are updated within theSqlLogin
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.
wherePasswordExpirationEnabled
is$true
butPasswordPolicyEnforced
is
$false
).
- Added functionality to throw exception if an update to the
-
SqlServerDsc
- Added unit tests and integration tests for SQL Server 2019
(issue #1310).
- Added unit tests and integration tests for SQL Server 2019
Fixed
- SqlServerDsc
- The component
gitversion
that is used in the pipeline was wrongly
configured when the repository moved to the new default branchmain
.
It no longer throws an error when using newer versions of GitVersion
(issue #1674).
- The component
- SqlLogin
- Added integration tests to assert
LoginPasswordExpirationEnabled
,
LoginPasswordPolicyEnforced
andLoginMustChangePassword
properties/parameters
are applied and updated correctly. Similar integration tests also added to ensure
the password of theSqlLogin
is updated if the password within theSqlCredential
value/object is changed (issue #361,
issue #1032 and
issue #1050). - Updated
SqlLogin
, integration tests to make use of amendedWait-ForIdleLcm
,
helper function,-Clear
switch usage to remove intermittent, integration
test failures (issue #1634).
- Added integration tests to assert
- SqlRSSetup
- If parameter
SuppressRestart
is set to$false
the/norestart
argument is no longer wrongly added (issue #1401).
- If parameter
- SqlSetup
- Added/corrected
InstallSharedDir
, property output when using SQL Server 2019.
- Added/corrected
v15.0.2-preview0003
[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
aSqlLogin
is the same as specified in the resource'sDefaultDatabase
property/parameter. - Amended how the interdependent,
PasswordExpirationEnabled
andPasswordPolicyEnforced
properties/parameters are updated within theSqlLogin
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.
wherePasswordExpirationEnabled
is$true
butPasswordPolicyEnforced
is
$false
).
- Added functionality to throw exception if an update to the
-
SqlServerDsc
- Added unit tests and integration tests for SQL Server 2019
(issue #1310).
- Added unit tests and integration tests for SQL Server 2019
Fixed
- SqlServerDsc
- The component
gitversion
that is used in the pipeline was wrongly
configured when the repository moved to the new default branchmain
.
It no longer throws an error when using newer versions of GitVersion
(issue #1674).
- The component
- SqlLogin
- Added integration tests to assert
LoginPasswordExpirationEnabled
,
LoginPasswordPolicyEnforced
andLoginMustChangePassword
properties/parameters
are applied and updated correctly. Similar integration tests also added to ensure
the password of theSqlLogin
is updated if the password within theSqlCredential
value/object is changed (issue #361,
issue #1032 and
issue #1050). - Updated
SqlLogin
, integration tests to make use of amendedWait-ForIdleLcm
,
helper function,-Clear
switch usage to remove intermittent, integration
test failures (issue #1634).
- Added integration tests to assert
- SqlRSSetup
- If parameter
SuppressRestart
is set to$false
the/norestart
argument is no longer wrongly added (issue #1401).
- If parameter
- SqlSetup
- Added/corrected
InstallSharedDir
, property output when using SQL Server 2019.
- Added/corrected
v15.0.2-preview0002
[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
aSqlLogin
is the same as specified in the resource'sDefaultDatabase
property/parameter. - Amended how the interdependent,
PasswordExpirationEnabled
andPasswordPolicyEnforced
properties/parameters are updated within theSqlLogin
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.
wherePasswordExpirationEnabled
is$true
butPasswordPolicyEnforced
is
$false
).
- Added functionality to throw exception if an update to the
Fixed
- SqlServerDsc
- The component
gitversion
that is used in the pipeline was wrongly
configured when the repository moved to the new default branchmain
.
It no longer throws an error when using newer versions of GitVersion
(issue #1674,
- The component
- SqlLogin
- Added integration tests to assert
LoginPasswordExpirationEnabled
,
LoginPasswordPolicyEnforced
andLoginMustChangePassword
properties/parameters
are applied and updated correctly. Similar integration tests also added to ensure
the password of theSqlLogin
is updated if the password within theSqlCredential
value/object is changed (issue #361,
issue #1032 and
issue #1050). - Updated
SqlLogin
, integration tests to make use of amendedWait-ForIdleLcm
,
helper function,-Clear
switch usage to remove intermittent, integration
test failures (issue #1634).
- Added integration tests to assert
- SqlRSSetup
- If parameter
SuppressRestart
is set to$false
the/norestart
argument is no longer wrongly added (issue #1401).
- If parameter
v15.0.2-preview0001
[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
aSqlLogin
is the same as specified in the resource'sDefaultDatabase
property/parameter. - Reversed order in which
PasswordExpirationEnabled
andPasswordPolicyEnforced
are updated withinSqlLogin
resource.PasswordPolicyEnforced
is now updated
first.
- Added functionality to throw exception if an update to the
Fixed
- SqlLogin
- Added integration tests to assert
LoginPasswordExpirationEnabled
,
LoginPasswordPolicyEnforced
andLoginMustChangePassword
properties/parameters
are applied and updated correctly. Similar integration tests also added to ensure
the password of theSqlLogin
is updated if the password within theSqlCredential
value/object is changed (issue #361,
issue #1032 and
issue #1050). - Updated
SqlLogin
, integration tests to make use of amendedWait-ForIdleLcm
,
helper function,-Clear
switch usage to remove intermittent, integration
test failures (issue #1634).
- Added integration tests to assert
v15.0.1
[v15.0.1]
Changed
- SqlServerDsc
- Renamed
master
branch tomain
(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 functionGet-ComputerName
which returns the current computer name cross-plattform.
- Renamed
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.
- Fix for issue (issue #1492)
- SqlMaxDop
- Fixes (issue #396).
Added three return values in Get-Target resource.
- Fixes (issue #396).
- 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.
- Changed KeepAlive Type from UInt16 to Int32 to reflect the actual WMI.ManagementObject
- 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.
- The verbose messages now correctly show that
- SqlDatabaseMail
- Now if a non-mandatory property is not part of the configuration it will
not be enforced (issue #1661).
- Now if a non-mandatory property is not part of the configuration it will
- 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).
- When the SqlSetup detects that the expected components was not installed
- SqlRSSetup
- If parameter
EditionUpgrade
is set to$false
the/EditionUpgrade
argument is no longer wrongly added (issue #1398).
- If parameter
- SqlServerDsc.Common
- Updated
Get-ServerProtocolObject
, helper function to ensure an exception is
thrown if the specified instance cannot be obtained (issue #1628).
- Updated
v15.0.1-preview0010
[v15.0.1-preview0010]
Changed
- SqlServerDsc
- Renamed
master
branch tomain
(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 functionGet-ComputerName
which returns the current computer name cross-plattform.
- Renamed
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.
- Fix for issue (issue #1492)
- SqlMaxDop
- Fixes (issue #396).
Added three return values in Get-Target resource.
- Fixes (issue #396).
- 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.
- Changed KeepAlive Type from UInt16 to Int32 to reflect the actual WMI.ManagementObject
- 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.
- The verbose messages now correctly show that
- SqlDatabaseMail
- Now if a non-mandatory property is not part of the configuration it will
not be enforced (issue #1661).
- Now if a non-mandatory property is not part of the configuration it will
- 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).
- When the SqlSetup detects that the expected components was not installed
- SqlRSSetup
- If parameter
EditionUpgrade
is set to$false
the/EditionUpgrade
argument is no longer wrongly added (issue #1398).
- If parameter
- SqlServerDsc.Common
- Updated
Get-ServerProtocolObject
, helper function to ensure an exception is
thrown if the specified instance cannot be obtained (issue #1628).
- Updated
v15.0.1-preview0009
[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 functionGet-ComputerName
which returns the current computer name cross-plattform.
- The module manifest property
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.
- Fix for issue (issue #1492)
- SqlMaxDop
- Fixes (issue #396).
Added three return values in Get-Target resource.
- Fixes (issue #396).
- 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.
- Changed KeepAlive Type from UInt16 to Int32 to reflect the actual WMI.ManagementObject
- 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.
- The verbose messages now correctly show that
- SqlDatabaseMail
- Now if a non-mandatory property is not part of the configuration it will
not be enforced (issue #1661).
- Now if a non-mandatory property is not part of the configuration it will
- 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).
- When the SqlSetup detects that the expected components was not installed
- SqlRSSetup
- If parameter
EditionUpgrade
is set to$false
the/EditionUpgrade
argument is no longer wrongly added (issue #1398).
- If parameter
- SqlServerDsc.Common
- Updated
Get-ServerProtocolObject
, helper function to ensure an exception is
thrown if the specified instance cannot be obtained (issue #1628).
- Updated
v15.0.1-preview0008
[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 functionGet-ComputerName
which returns the current computer name cross-plattform.
- The module manifest property
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.
- Fix for issue (issue #1492)
- SqlMaxDop
- Fixes (issue #396).
Added three return values in Get-Target resource.
- Fixes (issue #396).
- 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.
- Changed KeepAlive Type from UInt16 to Int32 to reflect the actual WMI.ManagementObject
- 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.
- The verbose messages now correctly show that
- SqlDatabaseMail
- Now if a non-mandatory property is not part of the configuration it will
not be enforced (issue #1661).
- Now if a non-mandatory property is not part of the configuration it will
- 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).
- When the SqlSetup detects that the expected components was not installed
- SqlServerDsc.Common
- Updated
Get-ServerProtocolObject
, helper function to ensure an exception is
thrown if the specified instance cannot be obtained (issue #1628).
- Updated
v15.0.1-preview0007
[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 functionGet-ComputerName
which returns the current computer name cross-plattform.
- The module manifest property
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.
- Fix for issue (issue #1492)
- SqlMaxDop
- Fixes (issue #396).
Added three return values in Get-Target resource.
- Fixes (issue #396).
- 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.
- Changed KeepAlive Type from UInt16 to Int32 to reflect the actual WMI.ManagementObject
- 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.
- The verbose messages now correctly show that
- SqlServerDsc.Common
- Updated
Get-ServerProtocolObject
, helper function to ensure an exception is
thrown if the specified instance cannot be obtained (issue #1628).
- Updated