GitHub / dsccommunity / SqlServerDsc
This module contains commands and DSC resources for deployment and configuration of Microsoft SQL Server, SQL Server Reporting Services and Power BI Report Server.
JSON API: http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsccommunity%2FSqlServerDsc
PURL: pkg:github/dsccommunity/SqlServerDsc
Stars: 377
Forks: 227
Open issues: 305
License: mit
Language: PowerShell
Size: 17.3 MB
Dependencies parsed at: Pending
Created at: over 10 years ago
Updated at: 5 days ago
Pushed at: 5 days ago
Last synced at: 5 days ago
Commit Stats
Commits: 986
Authors: 108
Mean commits per author: 9.13
Development Distribution Score: 0.562
More commit stats: https://commits.ecosyste.ms/hosts/GitHub/repositories/dsccommunity/SqlServerDsc
Topics: dsc, dsc-resources, hacktoberfest, powerbi, powerbireportserver, report-server, reporting-services, reportserver, sql-server, sqlserver
v17.2.0-preview0011
v17.2.0-preview0011 Pre-release
[v17.2.0-preview0011]
Fixed
- Make sure tests forcibly imports the module being tested to avoid AI failing
when testing changes. - Fixed Azure DevOps pipeline conditions that were preventing DSC resource
integration tests from running when they should by removing incorrect quotes
around boolean values. - Refactored error handling by removing global
$ErrorActionPreference = 'Stop'
from 64 PowerShell files and implementing targeted error control for specific
command calls that use-ErrorAction 'Stop'
. SqlAgentAlert
- Minor fix in
source/Classes/020.SqlAgentAlert.ps1
to correctExcludeDscProperties
formatting (added missing delimiter).
- Minor fix in
SqlRSSetup
- Re-added
ReportServerEdition
enum and updated class to use enum instead of
ValidateSet for the Edition property.
- Re-added
- Fixed commands continuing execution after
Assert-ElevatedUser
elevation
errors by setting$ErrorActionPreference = 'Stop'
issue #2070
Added
- Added setup workflow for GitHub Copilot.
- Switch the workflow to use Linux.
- Attempt to unshallow the Copilot branch
SqlAgentAlert
- Added new DSC resource to manage SQL Server Agent alerts.
- Improved AI instructions.
- Enhanced workflow with proper environment variable configuration and DSCv3 verification.
- Fixed environment variable persistence by using $GITHUB_ENV instead of
job-level env declaration.
Grant-SqlDscServerPermission
- Added new public command to grant server permissions to a principal (Login or ServerRole) on a SQL Server Database Engine instance.
Deny-SqlDscServerPermission
- Added new public command to deny server permissions to a principal (Login or ServerRole).
Revoke-SqlDscServerPermission
- Added new public command to revoke server permissions from a principal (Login or ServerRole).
Test-SqlDscServerPermission
- Added new public command with Grant/Deny parameter sets (and
-WithGrant
) to test server permissions for a principal.
- Added new public command with Grant/Deny parameter sets (and
Assert-SqlDscLogin
- Added new public command to validate that a specified SQL Server principal
is a login.
- Added new public command to validate that a specified SQL Server principal
Enable-SqlDscLogin
- Added new public command to enable a SQL Server login.
Disable-SqlDscLogin
- Added new public command to disable a SQL Server login.
Test-SqlDscIsLoginEnabled
- Added new public command to test whether a SQL Server login is enabled.
Throws a terminating error if the specified principal does not exist as a login. - Supports pipeline input and provides detailed error messages with localization.
- Uses
Test-SqlDscIsLogin
command for login validation following module patterns.
- Added new public command to test whether a SQL Server login is enabled.
- Added
Get-SqlDscLogin
,Get-SqlDscRole
,New-SqlDscLogin
,New-SqlDscRole
,
Remove-SqlDscRole
, andRemove-SqlDscLogin
commands for retrieving and managing
SQL Server logins and roles with support for refresh, pipeline input, and ShouldProcess. - Added
Get-SqlDscAgentAlert
,New-SqlDscAgentAlert
,
Set-SqlDscAgentAlert
,Remove-SqlDscAgentAlert
, andTest-SqlDscAgentAlert
to manage SQL Agent alerts on a Database Engine instance. - Added new public commands for database management:
Get-SqlDscDatabase
- Get databases from a SQL Server Database Engine instanceNew-SqlDscDatabase
- Create a new database with specified propertiesSet-SqlDscDatabase
- Modify properties of an existing databaseRemove-SqlDscDatabase
- Remove a database from SQL Server instanceTest-SqlDscDatabase
- Test if a database is in the desired state- All commands support pipeline input with ServerObject and follow established patterns
- Database objects can also be used as pipeline input for Set and Remove operations
- Commands include comprehensive validation, localization, and ShouldProcess support
Changed
- Refactored GitHub Copilot workflow setup to be module-agnostic via MODULE_NAME
environment variable, includes full-history detection, uses idempotent .NET
tool install, and adds Linux dependency handling (issue #2127). SqlAgentAlert
- Added additional unit tests covering MessageId-based alerts, the hidden
Modify()
method behavior, andAssertProperties()
validation scenarios.
- Added additional unit tests covering MessageId-based alerts, the hidden
- Module now outputs a verbose message instead of a warning when the SMO
dependency module is missing during import to work around a DSC v3 issue. - VS Code tasks configuration was improved to support AI.
Prerequisites
tests- Added creation of
SqlIntegrationTest
local Windows user for integration testing.
- Added creation of
tests/Integration/Commands/README.md
- Added documentation for
SqlIntegrationTest
user and
IntegrationTestSqlLogin
login. - Added run order information for
New-SqlDscLogin
integration test.
- Added documentation for
azure-pipelines.yml
- Remove
windows-2019
images fixes #2106. - Move individual tasks to
windows-latest
. - Added integration tests for
Assert-SqlDscLogin
command in Group 2. - Added conditional logic to skip DSC resource integration tests when
changes don’t affect DSC resources, improving CI/CD performance for
non-DSC changes.
- Remove
SqlServerDsc.psd1
- Set
CmdletsToExport
to*
in module manifest to fix issue #2109.
- Set
- Added optimization for DSC resource integration tests
- Created
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
to analyze
git changes and decide when DSC resource integration tests are needed. - DSC resource integration test stages now run only when changes affect DSC
resources, public commands used by resources, or related components. - Unit tests, QA tests, and command integration tests continue to run for
all changes.
- Created
- Bump actions/checkout task to v5.
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
- Improved performance by adding an early optimization to check for changes
under the configured SourcePath before expensive analysis. - Moved public command discovery to only run when source changes are detected.
- Improved performance by adding an early optimization to check for changes
.build/README.md
- Added flow diagram showing decision process for DSC resource integration tests.
- Improved documentation with optimized analysis workflow description.
- DSC community style guidelines
- Added requirement to follow guidelines over existing code patterns.
- Improved markdown, pester, powershell, and changelog instructions.
- Fixed
Ignore
that seems in edge-cases fail. - Improved markdown and changelog instructions.
- Fixed
Download
v17.2.0-preview0010
v17.2.0-preview0010 Pre-release
[v17.2.0-preview0010]
Fixed
- Make sure tests forcibly imports the module being tested to avoid AI failing
when testing changes. - Fixed Azure DevOps pipeline conditions that were preventing DSC resource
integration tests from running when they should by removing incorrect quotes
around boolean values. - Refactored error handling by removing global
$ErrorActionPreference = 'Stop'
from 64 PowerShell files and implementing targeted error control for specific
command calls that use-ErrorAction 'Stop'
. SqlAgentAlert
- Minor fix in
source/Classes/020.SqlAgentAlert.ps1
to correctExcludeDscProperties
formatting (added missing delimiter).
- Minor fix in
SqlRSSetup
- Re-added
ReportServerEdition
enum and updated class to use enum instead of
ValidateSet for the Edition property.
- Re-added
- Fixed commands continuing execution after
Assert-ElevatedUser
elevation
errors by setting$ErrorActionPreference = 'Stop'
issue #2070
Added
- Added setup workflow for GitHub Copilot.
- Switch the workflow to use Linux.
- Attempt to unshallow the Copilot branch
SqlAgentAlert
- Added new DSC resource to manage SQL Server Agent alerts.
- Improved AI instructions.
- Enhanced workflow with proper environment variable configuration and DSCv3 verification.
- Fixed environment variable persistence by using $GITHUB_ENV instead of
job-level env declaration.
Assert-SqlDscLogin
- Added new public command to validate that a specified SQL Server principal
is a login.
- Added new public command to validate that a specified SQL Server principal
Enable-SqlDscLogin
- Added new public command to enable a SQL Server login.
Disable-SqlDscLogin
- Added new public command to disable a SQL Server login.
Test-SqlDscIsLoginEnabled
- Added new public command to test whether a SQL Server login is enabled.
Throws a terminating error if the specified principal does not exist as a login. - Supports pipeline input and provides detailed error messages with localization.
- Uses
Test-SqlDscIsLogin
command for login validation following module patterns.
- Added new public command to test whether a SQL Server login is enabled.
- Added
Get-SqlDscLogin
,Get-SqlDscRole
,New-SqlDscLogin
,New-SqlDscRole
,
Remove-SqlDscRole
, andRemove-SqlDscLogin
commands for retrieving and managing
SQL Server logins and roles with support for refresh, pipeline input, and ShouldProcess. - Added
Get-SqlDscAgentAlert
,New-SqlDscAgentAlert
,
Set-SqlDscAgentAlert
,Remove-SqlDscAgentAlert
, andTest-SqlDscAgentAlert
to manage SQL Agent alerts on a Database Engine instance. - Added new public commands for database management:
Get-SqlDscDatabase
- Get databases from a SQL Server Database Engine instanceNew-SqlDscDatabase
- Create a new database with specified propertiesSet-SqlDscDatabase
- Modify properties of an existing databaseRemove-SqlDscDatabase
- Remove a database from SQL Server instanceTest-SqlDscDatabase
- Test if a database is in the desired state- All commands support pipeline input with ServerObject and follow established patterns
- Database objects can also be used as pipeline input for Set and Remove operations
- Commands include comprehensive validation, localization, and ShouldProcess support
Changed
- Refactored GitHub Copilot workflow setup to be module-agnostic via MODULE_NAME
environment variable, includes full-history detection, uses idempotent .NET
tool install, and adds Linux dependency handling (issue #2127). SqlAgentAlert
- Added additional unit tests covering MessageId-based alerts, the hidden
Modify()
method behavior, andAssertProperties()
validation scenarios.
- Added additional unit tests covering MessageId-based alerts, the hidden
- Module now outputs a verbose message instead of a warning when the SMO
dependency module is missing during import to work around a DSC v3 issue. - VS Code tasks configuration was improved to support AI.
Prerequisites
tests- Added creation of
SqlIntegrationTest
local Windows user for integration testing.
- Added creation of
tests/Integration/Commands/README.md
- Added documentation for
SqlIntegrationTest
user and
IntegrationTestSqlLogin
login. - Added run order information for
New-SqlDscLogin
integration test.
- Added documentation for
azure-pipelines.yml
- Remove
windows-2019
images fixes #2106. - Move individual tasks to
windows-latest
. - Added integration tests for
Assert-SqlDscLogin
command in Group 2. - Added conditional logic to skip DSC resource integration tests when
changes don’t affect DSC resources, improving CI/CD performance for
non-DSC changes.
- Remove
SqlServerDsc.psd1
- Set
CmdletsToExport
to*
in module manifest to fix issue #2109.
- Set
- Added optimization for DSC resource integration tests
- Created
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
to analyze
git changes and decide when DSC resource integration tests are needed. - DSC resource integration test stages now run only when changes affect DSC
resources, public commands used by resources, or related components. - Unit tests, QA tests, and command integration tests continue to run for
all changes.
- Created
- Bump actions/checkout task to v5.
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
- Improved performance by adding an early optimization to check for changes
under the configured SourcePath before expensive analysis. - Moved public command discovery to only run when source changes are detected.
- Improved performance by adding an early optimization to check for changes
.build/README.md
- Added flow diagram showing decision process for DSC resource integration tests.
- Improved documentation with optimized analysis workflow description.
- DSC community style guidelines
- Added requirement to follow guidelines over existing code patterns.
- Improved markdown, pester, powershell, and changelog instructions.
- Fixed
Ignore
that seems in edge-cases fail. - Improved markdown and changelog instructions.
- Fixed
Download
v17.2.0-preview0009
v17.2.0-preview0009 Pre-release
[v17.2.0-preview0009]
Fixed
- Make sure tests forcibly imports the module being tested to avoid AI failing
when testing changes. - Fixed Azure DevOps pipeline conditions that were preventing DSC resource
integration tests from running when they should by removing incorrect quotes
around boolean values. SqlAgentAlert
- Minor fix in
source/Classes/020.SqlAgentAlert.ps1
to correctExcludeDscProperties
formatting (added missing delimiter).
- Minor fix in
SqlRSSetup
- Re-added
ReportServerEdition
enum and updated class to use enum instead of
ValidateSet for the Edition property.
- Re-added
- Fixed commands continuing execution after
Assert-ElevatedUser
elevation
errors by setting$ErrorActionPreference = 'Stop'
issue #2070
Added
- Added setup workflow for GitHub Copilot.
- Switch the workflow to use Linux.
- Attempt to unshallow the Copilot branch
SqlAgentAlert
- Added new DSC resource to manage SQL Server Agent alerts.
- Improved AI instructions.
- Enhanced workflow with proper environment variable configuration and DSCv3 verification.
- Fixed environment variable persistence by using $GITHUB_ENV instead of
job-level env declaration.
Assert-SqlDscLogin
- Added new public command to validate that a specified SQL Server principal
is a login.
- Added new public command to validate that a specified SQL Server principal
Enable-SqlDscLogin
- Added new public command to enable a SQL Server login.
Disable-SqlDscLogin
- Added new public command to disable a SQL Server login.
Test-SqlDscIsLoginEnabled
- Added new public command to test whether a SQL Server login is enabled.
Throws a terminating error if the specified principal does not exist as a login. - Supports pipeline input and provides detailed error messages with localization.
- Uses
Test-SqlDscIsLogin
command for login validation following module patterns.
- Added new public command to test whether a SQL Server login is enabled.
- Added
Get-SqlDscLogin
,Get-SqlDscRole
,New-SqlDscLogin
,New-SqlDscRole
,
Remove-SqlDscRole
, andRemove-SqlDscLogin
commands for retrieving and managing
SQL Server logins and roles with support for refresh, pipeline input, and ShouldProcess. - Added
Get-SqlDscAgentAlert
,New-SqlDscAgentAlert
,
Set-SqlDscAgentAlert
,Remove-SqlDscAgentAlert
, andTest-SqlDscAgentAlert
to manage SQL Agent alerts on a Database Engine instance. - Added new public commands for database management:
Get-SqlDscDatabase
- Get databases from a SQL Server Database Engine instanceNew-SqlDscDatabase
- Create a new database with specified propertiesSet-SqlDscDatabase
- Modify properties of an existing databaseRemove-SqlDscDatabase
- Remove a database from SQL Server instanceTest-SqlDscDatabase
- Test if a database is in the desired state- All commands support pipeline input with ServerObject and follow established patterns
- Database objects can also be used as pipeline input for Set and Remove operations
- Commands include comprehensive validation, localization, and ShouldProcess support
Changed
- Refactored GitHub Copilot workflow setup to be module-agnostic via MODULE_NAME
environment variable, includes full-history detection, uses idempotent .NET
tool install, and adds Linux dependency handling (issue #2127). SqlAgentAlert
- Added additional unit tests covering MessageId-based alerts, the hidden
Modify()
method behavior, andAssertProperties()
validation scenarios.
- Added additional unit tests covering MessageId-based alerts, the hidden
- Module now outputs a verbose message instead of a warning when the SMO
dependency module is missing during import to work around a DSC v3 issue. - VS Code tasks configuration was improved to support AI.
Prerequisites
tests- Added creation of
SqlIntegrationTest
local Windows user for integration testing.
- Added creation of
tests/Integration/Commands/README.md
- Added documentation for
SqlIntegrationTest
user and
IntegrationTestSqlLogin
login. - Added run order information for
New-SqlDscLogin
integration test.
- Added documentation for
azure-pipelines.yml
- Remove
windows-2019
images fixes #2106. - Move individual tasks to
windows-latest
. - Added integration tests for
Assert-SqlDscLogin
command in Group 2. - Added conditional logic to skip DSC resource integration tests when
changes don’t affect DSC resources, improving CI/CD performance for
non-DSC changes.
- Remove
SqlServerDsc.psd1
- Set
CmdletsToExport
to*
in module manifest to fix issue #2109.
- Set
- Added optimization for DSC resource integration tests
- Created
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
to analyze
git changes and decide when DSC resource integration tests are needed. - DSC resource integration test stages now run only when changes affect DSC
resources, public commands used by resources, or related components. - Unit tests, QA tests, and command integration tests continue to run for
all changes.
- Created
- Bump actions/checkout task to v5.
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
- Improved performance by adding an early optimization to check for changes
under the configured SourcePath before expensive analysis. - Moved public command discovery to only run when source changes are detected.
- Improved performance by adding an early optimization to check for changes
.build/README.md
- Added flow diagram showing decision process for DSC resource integration tests.
- Improved documentation with optimized analysis workflow description.
- DSC community style guidelines
- Added requirement to follow guidelines over existing code patterns.
- Improved markdown, pester, powershell, and changelog instructions.
- Fixed
Ignore
that seems in edge-cases fail. - Improved markdown and changelog instructions.
- Fixed
Download
v17.2.0-preview0008
v17.2.0-preview0008 Pre-release
[v17.2.0-preview0008]
Fixed
- Make sure tests forcibly imports the module being tested to avoid AI failing
when testing changes. - Fixed Azure DevOps pipeline conditions that were preventing DSC resource
integration tests from running when they should by removing incorrect quotes
around boolean values. SqlAgentAlert
- Minor fix in
source/Classes/020.SqlAgentAlert.ps1
to correctExcludeDscProperties
formatting (added missing delimiter).
- Minor fix in
SqlRSSetup
- Re-added
ReportServerEdition
enum and updated class to use enum instead of
ValidateSet for the Edition property.
- Re-added
Added
- Added setup workflow for GitHub Copilot.
- Switch the workflow to use Linux.
- Attempt to unshallow the Copilot branch
SqlAgentAlert
- Added new DSC resource to manage SQL Server Agent alerts.
- Improved AI instructions.
- Enhanced workflow with proper environment variable configuration and DSCv3 verification.
- Fixed environment variable persistence by using $GITHUB_ENV instead of
job-level env declaration.
Assert-SqlDscLogin
- Added new public command to validate that a specified SQL Server principal
is a login.
- Added new public command to validate that a specified SQL Server principal
Enable-SqlDscLogin
- Added new public command to enable a SQL Server login.
Disable-SqlDscLogin
- Added new public command to disable a SQL Server login.
Test-SqlDscIsLoginEnabled
- Added new public command to test whether a SQL Server login is enabled.
Throws a terminating error if the specified principal does not exist as a login. - Supports pipeline input and provides detailed error messages with localization.
- Uses
Test-SqlDscIsLogin
command for login validation following module patterns.
- Added new public command to test whether a SQL Server login is enabled.
- Added
Get-SqlDscLogin
,Get-SqlDscRole
,New-SqlDscLogin
,New-SqlDscRole
,
Remove-SqlDscRole
, andRemove-SqlDscLogin
commands for retrieving and managing
SQL Server logins and roles with support for refresh, pipeline input, and ShouldProcess. - Added
Get-SqlDscAgentAlert
,New-SqlDscAgentAlert
,
Set-SqlDscAgentAlert
,Remove-SqlDscAgentAlert
, andTest-SqlDscAgentAlert
to manage SQL Agent alerts on a Database Engine instance. - Added new public commands for database management:
Get-SqlDscDatabase
- Get databases from a SQL Server Database Engine instanceNew-SqlDscDatabase
- Create a new database with specified propertiesSet-SqlDscDatabase
- Modify properties of an existing databaseRemove-SqlDscDatabase
- Remove a database from SQL Server instanceTest-SqlDscDatabase
- Test if a database is in the desired state- All commands support pipeline input with ServerObject and follow established patterns
- Database objects can also be used as pipeline input for Set and Remove operations
- Commands include comprehensive validation, localization, and ShouldProcess support
Changed
- Refactored GitHub Copilot workflow setup to be module-agnostic via MODULE_NAME
environment variable, includes full-history detection, uses idempotent .NET
tool install, and adds Linux dependency handling (issue #2127). SqlAgentAlert
- Added additional unit tests covering MessageId-based alerts, the hidden
Modify()
method behavior, andAssertProperties()
validation scenarios.
- Added additional unit tests covering MessageId-based alerts, the hidden
- Module now outputs a verbose message instead of a warning when the SMO
dependency module is missing during import to work around a DSC v3 issue. - VS Code tasks configuration was improved to support AI.
Prerequisites
tests- Added creation of
SqlIntegrationTest
local Windows user for integration testing.
- Added creation of
tests/Integration/Commands/README.md
- Added documentation for
SqlIntegrationTest
user and
IntegrationTestSqlLogin
login. - Added run order information for
New-SqlDscLogin
integration test.
- Added documentation for
azure-pipelines.yml
- Remove
windows-2019
images fixes #2106. - Move individual tasks to
windows-latest
. - Added integration tests for
Assert-SqlDscLogin
command in Group 2. - Added conditional logic to skip DSC resource integration tests when
changes don’t affect DSC resources, improving CI/CD performance for
non-DSC changes.
- Remove
SqlServerDsc.psd1
- Set
CmdletsToExport
to*
in module manifest to fix issue #2109.
- Set
- Added optimization for DSC resource integration tests
- Created
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
to analyze
git changes and decide when DSC resource integration tests are needed. - DSC resource integration test stages now run only when changes affect DSC
resources, public commands used by resources, or related components. - Unit tests, QA tests, and command integration tests continue to run for
all changes.
- Created
- Bump actions/checkout task to v5.
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
- Improved performance by adding an early optimization to check for changes
under the configured SourcePath before expensive analysis. - Moved public command discovery to only run when source changes are detected.
- Improved performance by adding an early optimization to check for changes
.build/README.md
- Added flow diagram showing decision process for DSC resource integration tests.
- Improved documentation with optimized analysis workflow description.
- DSC community style guidelines
- Added requirement to follow guidelines over existing code patterns.
- Improved markdown, pester, powershell, and changelog instructions.
- Fixed
Ignore
that seems in edge-cases fail. - Improved markdown and changelog instructions.
- Fixed
Download
v17.2.0-preview0007
v17.2.0-preview0007 Pre-release
[v17.2.0-preview0007]
Fixed
- Make sure tests forcibly imports the module being tested to avoid AI failing
when testing changes. - Fixed Azure DevOps pipeline conditions that were preventing DSC resource
integration tests from running when they should by removing incorrect quotes
around boolean values. SqlAgentAlert
- Minor fix in
source/Classes/020.SqlAgentAlert.ps1
to correctExcludeDscProperties
formatting (added missing delimiter).
- Minor fix in
Added
- Added setup workflow for GitHub Copilot.
- Switch the workflow to use Linux.
- Attempt to unshallow the Copilot branch
SqlAgentAlert
- Added new DSC resource to manage SQL Server Agent alerts.
- Improved AI instructions.
- Enhanced workflow with proper environment variable configuration and DSCv3 verification.
- Fixed environment variable persistence by using $GITHUB_ENV instead of
job-level env declaration.
Assert-SqlDscLogin
- Added new public command to validate that a specified SQL Server principal
is a login.
- Added new public command to validate that a specified SQL Server principal
Enable-SqlDscLogin
- Added new public command to enable a SQL Server login.
Disable-SqlDscLogin
- Added new public command to disable a SQL Server login.
Test-SqlDscIsLoginEnabled
- Added new public command to test whether a SQL Server login is enabled.
Throws a terminating error if the specified principal does not exist as a login. - Supports pipeline input and provides detailed error messages with localization.
- Uses
Test-SqlDscIsLogin
command for login validation following module patterns.
- Added new public command to test whether a SQL Server login is enabled.
- Added
Get-SqlDscLogin
,Get-SqlDscRole
,New-SqlDscLogin
,New-SqlDscRole
,
Remove-SqlDscRole
, andRemove-SqlDscLogin
commands for retrieving and managing
SQL Server logins and roles with support for refresh, pipeline input, and ShouldProcess. - Added
Get-SqlDscAgentAlert
,New-SqlDscAgentAlert
,
Set-SqlDscAgentAlert
,Remove-SqlDscAgentAlert
, andTest-SqlDscAgentAlert
to manage SQL Agent alerts on a Database Engine instance. - Added new public commands for database management:
Get-SqlDscDatabase
- Get databases from a SQL Server Database Engine instanceNew-SqlDscDatabase
- Create a new database with specified propertiesSet-SqlDscDatabase
- Modify properties of an existing databaseRemove-SqlDscDatabase
- Remove a database from SQL Server instanceTest-SqlDscDatabase
- Test if a database is in the desired state- All commands support pipeline input with ServerObject and follow established patterns
- Database objects can also be used as pipeline input for Set and Remove operations
- Commands include comprehensive validation, localization, and ShouldProcess support
Changed
- Refactored GitHub Copilot workflow setup to be module-agnostic via MODULE_NAME
environment variable, includes full-history detection, uses idempotent .NET
tool install, and adds Linux dependency handling (issue #2127). SqlAgentAlert
- Added additional unit tests covering MessageId-based alerts, the hidden
Modify()
method behavior, andAssertProperties()
validation scenarios.
- Added additional unit tests covering MessageId-based alerts, the hidden
- Module now outputs a verbose message instead of a warning when the SMO
dependency module is missing during import to work around a DSC v3 issue. - VS Code tasks configuration was improved to support AI.
Prerequisites
tests- Added creation of
SqlIntegrationTest
local Windows user for integration testing.
- Added creation of
tests/Integration/Commands/README.md
- Added documentation for
SqlIntegrationTest
user and
IntegrationTestSqlLogin
login. - Added run order information for
New-SqlDscLogin
integration test.
- Added documentation for
azure-pipelines.yml
- Remove
windows-2019
images fixes #2106. - Move individual tasks to
windows-latest
. - Added integration tests for
Assert-SqlDscLogin
command in Group 2. - Added conditional logic to skip DSC resource integration tests when
changes don’t affect DSC resources, improving CI/CD performance for
non-DSC changes.
- Remove
SqlServerDsc.psd1
- Set
CmdletsToExport
to*
in module manifest to fix issue #2109.
- Set
- Added optimization for DSC resource integration tests
- Created
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
to analyze
git changes and decide when DSC resource integration tests are needed. - DSC resource integration test stages now run only when changes affect DSC
resources, public commands used by resources, or related components. - Unit tests, QA tests, and command integration tests continue to run for
all changes.
- Created
- Bump actions/checkout task to v5.
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
- Improved performance by adding an early optimization to check for changes
under the configured SourcePath before expensive analysis. - Moved public command discovery to only run when source changes are detected.
- Improved performance by adding an early optimization to check for changes
.build/README.md
- Added flow diagram showing decision process for DSC resource integration tests.
- Improved documentation with optimized analysis workflow description.
- DSC community style guidelines
- Added requirement to follow guidelines over existing code patterns.
- Improved markdown, pester, powershell, and changelog instructions.
- Fixed
Ignore
that seems in edge-cases fail. - Improved markdown and changelog instructions.
- Fixed
Download
v17.2.0-preview0006
v17.2.0-preview0006 Pre-release
[v17.2.0-preview0006]
Fixed
- Make sure tests forcibly imports the module being tested to avoid AI failing
when testing changes. - Fixed Azure DevOps pipeline conditions that were preventing DSC resource
integration tests from running when they should by removing incorrect quotes
around boolean values.
Added
- Added setup workflow for GitHub Copilot.
- Switch the workflow to use Linux.
- Attempt to unshallow the Copilot branch
SqlAgentAlert
- Added new DSC resource to manage SQL Server Agent alerts.
- Improved AI instructions.
- Enhanced workflow with proper environment variable configuration and DSCv3 verification.
- Fixed environment variable persistence by using $GITHUB_ENV instead of
job-level env declaration.
Assert-SqlDscLogin
- Added new public command to validate that a specified SQL Server principal
is a login.
- Added new public command to validate that a specified SQL Server principal
Enable-SqlDscLogin
- Added new public command to enable a SQL Server login.
Disable-SqlDscLogin
- Added new public command to disable a SQL Server login.
Test-SqlDscIsLoginEnabled
- Added new public command to test whether a SQL Server login is enabled.
Throws a terminating error if the specified principal does not exist as a login. - Supports pipeline input and provides detailed error messages with localization.
- Uses
Test-SqlDscIsLogin
command for login validation following module patterns.
- Added new public command to test whether a SQL Server login is enabled.
- Added
Get-SqlDscLogin
,Get-SqlDscRole
,New-SqlDscLogin
,New-SqlDscRole
,
Remove-SqlDscRole
, andRemove-SqlDscLogin
commands for retrieving and managing
SQL Server logins and roles with support for refresh, pipeline input, and ShouldProcess. - Added
Get-SqlDscAgentAlert
,New-SqlDscAgentAlert
,
Set-SqlDscAgentAlert
,Remove-SqlDscAgentAlert
, andTest-SqlDscAgentAlert
to manage SQL Agent alerts on a Database Engine instance.
Changed
- Refactored GitHub Copilot workflow setup to be module-agnostic via MODULE_NAME
environment variable, includes full-history detection, uses idempotent .NET
tool install, and adds Linux dependency handling (issue #2127). - Module now outputs a verbose message instead of a warning when the SMO
dependency module is missing during import to work around a DSC v3 issue. - VS Code tasks configuration was improved to support AI.
Prerequisites
tests- Added creation of
SqlIntegrationTest
local Windows user for integration testing.
- Added creation of
tests/Integration/Commands/README.md
- Added documentation for
SqlIntegrationTest
user and
IntegrationTestSqlLogin
login. - Added run order information for
New-SqlDscLogin
integration test.
- Added documentation for
azure-pipelines.yml
- Remove
windows-2019
images fixes #2106. - Move individual tasks to
windows-latest
. - Added integration tests for
Assert-SqlDscLogin
command in Group 2. - Added conditional logic to skip DSC resource integration tests when
changes don’t affect DSC resources, improving CI/CD performance for
non-DSC changes.
- Remove
SqlServerDsc.psd1
- Set
CmdletsToExport
to*
in module manifest to fix issue #2109.
- Set
- Added optimization for DSC resource integration tests
- Created
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
to analyze
git changes and decide when DSC resource integration tests are needed. - DSC resource integration test stages now run only when changes affect DSC
resources, public commands used by resources, or related components. - Unit tests, QA tests, and command integration tests continue to run for
all changes.
- Created
- Bump actions/checkout task to v5.
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
- Improved performance by adding an early optimization to check for changes
under the configured SourcePath before expensive analysis. - Moved public command discovery to only run when source changes are detected.
- Improved performance by adding an early optimization to check for changes
.build/README.md
- Added flow diagram showing decision process for DSC resource integration tests.
- Improved documentation with optimized analysis workflow description.
- DSC community style guidelines
- Added requirement to follow guidelines over existing code patterns.
- Improved markdown, pester, powershell, and changelog instructions.
- Fixed
Ignore
that seems in edge-cases fail. - Improved markdown and changelog instructions.
- Fixed
Download
v17.2.0-preview0005
v17.2.0-preview0005 Pre-release
[v17.2.0-preview0005]
Fixed
- Make sure tests forcibly imports the module being tested to avoid AI failing
when testing changes. - Fixed Azure DevOps pipeline conditions that were preventing DSC resource
integration tests from running when they should by removing incorrect quotes
around boolean values.
Added
- Added setup workflow for GitHub Copilot.
- Switch the workflow to use Linux.
- Attempt to unshallow the Copilot branch
- Improved AI instructions.
- Enhanced workflow with proper environment variable configuration and DSCv3 verification.
- Fixed environment variable persistence by using $GITHUB_ENV instead of
job-level env declaration.
Assert-SqlDscLogin
- Added new public command to validate that a specified SQL Server principal
is a login.
- Added new public command to validate that a specified SQL Server principal
Enable-SqlDscLogin
- Added new public command to enable a SQL Server login.
Disable-SqlDscLogin
- Added new public command to disable a SQL Server login.
Test-SqlDscIsLoginEnabled
- Added new public command to test whether a SQL Server login is enabled.
Throws a terminating error if the specified principal does not exist as a login. - Supports pipeline input and provides detailed error messages with localization.
- Uses
Test-SqlDscIsLogin
command for login validation following module patterns.
- Added new public command to test whether a SQL Server login is enabled.
- Added
Get-SqlDscLogin
,Get-SqlDscRole
,New-SqlDscLogin
,New-SqlDscRole
,
Remove-SqlDscRole
, andRemove-SqlDscLogin
commands for retrieving and managing
SQL Server logins and roles with support for refresh, pipeline input, and ShouldProcess. - Added
Get-SqlDscAgentAlert
,New-SqlDscAgentAlert
,
Set-SqlDscAgentAlert
,Remove-SqlDscAgentAlert
, andTest-SqlDscAgentAlert
to manage SQL Agent alerts on a Database Engine instance.
Changed
- Refactored GitHub Copilot workflow setup to be module-agnostic via MODULE_NAME
environment variable, includes full-history detection, uses idempotent .NET
tool install, and adds Linux dependency handling (issue #2127). - Module now outputs a verbose message instead of a warning when the SMO
dependency module is missing during import to work around a DSC v3 issue. - VS Code tasks configuration was improved to support AI.
Prerequisites
tests- Added creation of
SqlIntegrationTest
local Windows user for integration testing.
- Added creation of
tests/Integration/Commands/README.md
- Added documentation for
SqlIntegrationTest
user and
IntegrationTestSqlLogin
login. - Added run order information for
New-SqlDscLogin
integration test.
- Added documentation for
azure-pipelines.yml
- Remove
windows-2019
images fixes #2106. - Move individual tasks to
windows-latest
. - Added integration tests for
Assert-SqlDscLogin
command in Group 2. - Added conditional logic to skip DSC resource integration tests when
changes don’t affect DSC resources, improving CI/CD performance for
non-DSC changes.
- Remove
SqlServerDsc.psd1
- Set
CmdletsToExport
to*
in module manifest to fix issue #2109.
- Set
- Added optimization for DSC resource integration tests
- Created
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
to analyze
git changes and decide when DSC resource integration tests are needed. - DSC resource integration test stages now run only when changes affect DSC
resources, public commands used by resources, or related components. - Unit tests, QA tests, and command integration tests continue to run for
all changes.
- Created
- Bump actions/checkout task to v5.
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
- Improved performance by adding an early optimization to check for changes
under the configured SourcePath before expensive analysis. - Moved public command discovery to only run when source changes are detected.
- Improved performance by adding an early optimization to check for changes
.build/README.md
- Added flow diagram showing decision process for DSC resource integration tests.
- Improved documentation with optimized analysis workflow description.
- DSC community style guidelines
- Added requirement to follow guidelines over existing code patterns.
- Improved markdown, pester, powershell, and changelog instructions.
- Fixed
Ignore
that seems in edge-cases fail. - Improved markdown and changelog instructions.
- Fixed
Download
v17.2.0-preview0004
v17.2.0-preview0004 Pre-release
[v17.2.0-preview0004]
Fixed
- Make sure tests forcibly imports the module being tested to avoid AI failing
when testing changes. - Fixed Azure DevOps pipeline conditions that were preventing DSC resource
integration tests from running when they should by removing incorrect quotes
around boolean values.
Added
- Added setup workflow for GitHub Copilot.
- Switch the workflow to use Linux.
- Attempt to unshallow the Copilot branch
- Improved AI instructions.
- Enhanced workflow with proper environment variable configuration and DSCv3 verification.
- Fixed environment variable persistence by using $GITHUB_ENV instead of
job-level env declaration.
Assert-SqlDscLogin
- Added new public command to validate that a specified SQL Server principal
exists as a login, throwing a terminating error if it doesn’t exist. - Supports pipeline input and provides detailed error messages with localization.
- Uses
Test-SqlDscIsLogin
command for login validation following module patterns.
- Added new public command to validate that a specified SQL Server principal
- Added
Get-SqlDscLogin
,Get-SqlDscRole
,New-SqlDscLogin
,New-SqlDscRole
,Remove-SqlDscRole
, andRemove-SqlDscLogin
commands for retrieving and managing SQL Server logins and roles with support for refresh, pipeline input, and ShouldProcess.
Changed
- Refactored GitHub Copilot workflow setup to be module-agnostic via MODULE_NAME
environment variable, includes full-history detection, uses idempotent .NET
tool install, and adds Linux dependency handling (issue #2127). - Module now outputs a verbose message instead of a warning when the SMO
dependency module is missing during import to work around a DSC v3 issue. - VS Code tasks configuration was improved to support AI.
Prerequisites
tests- Added creation of
SqlIntegrationTest
local Windows user for integration testing.
- Added creation of
tests/Integration/Commands/README.md
- Added documentation for
SqlIntegrationTest
user and
IntegrationTestSqlLogin
login. - Added run order information for
New-SqlDscLogin
integration test.
- Added documentation for
azure-pipelines.yml
- Remove
windows-2019
images fixes #2106. - Move individual tasks to
windows-latest
. - Added integration tests for
Assert-SqlDscLogin
command in Group 2. - Added conditional logic to skip DSC resource integration tests when
changes don’t affect DSC resources, improving CI/CD performance for
non-DSC changes.
- Remove
SqlServerDsc.psd1
- Set
CmdletsToExport
to*
in module manifest to fix issue #2109.
- Set
- Added optimization for DSC resource integration tests
- Created
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
to analyze
git changes and decide when DSC resource integration tests are needed. - DSC resource integration test stages now run only when changes affect DSC
resources, public commands used by resources, or related components. - Unit tests, QA tests, and command integration tests continue to run for
all changes.
- Created
- Bump actions/checkout task to v5.
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
- Improved performance by adding an early optimization to check for changes
under the configured SourcePath before expensive analysis. - Moved public command discovery to only run when source changes are detected.
- Improved performance by adding an early optimization to check for changes
.build/README.md
- Added flow diagram showing decision process for DSC resource integration tests.
- Improved documentation with optimized analysis workflow description.
- DSC community style guidelines
- Added requirement to follow guidelines over existing code patterns.
- Improved markdown, pester, powershell, and changelog instructions.
- Fixed
Ingore
that seems in edge-cases fail.
- Fixed
Download
v17.2.0-preview0003
v17.2.0-preview0003 Pre-release
[v17.2.0-preview0003]
Fixed
- Make sure tests forcibly imports the module being tested to avoid AI failing
when testing changes. - Fixed Azure DevOps pipeline conditions that were preventing DSC resource
integration tests from running when they should by removing incorrect quotes
around boolean values.
Added
- Added setup workflow for GitHub Copilot.
- Switch the workflow to use Linux.
- Attempt to unshallow the Copilot branch
- Improved AI instructions.
Assert-SqlDscLogin
- Added new public command to validate that a specified SQL Server principal
exists as a login, throwing a terminating error if it doesn’t exist. - Supports pipeline input and provides detailed error messages with localization.
- Uses
Test-SqlDscIsLogin
command for login validation following module patterns.
- Added new public command to validate that a specified SQL Server principal
Get-SqlDscLogin
- Added new public command to get a SQL Server login from a Database Engine instance.
- Returns a
Microsoft.SqlServer.Management.Smo.Login
object that represents
the login. - Supports getting a specific login by name or all logins if no name is specified.
- Includes a
-Refresh
parameter to refresh the server’s login collection
before retrieval.
Remove-SqlDscLogin
- Added new public command to remove a SQL Server login from a Database
Engine instance. - Supports removing a login by specifying a
ServerObject
andName
, or by
passing aLoginObject
through the pipeline. - Includes confirmation prompts with
-Force
parameter to bypass confirmation. - Includes a
-Refresh
parameter to refresh the server’s login collection
before attempting removal. - Provides detailed error messages with localization support.
- Added new public command to remove a SQL Server login from a Database
New-SqlDscLogin
- Added new public command to create a new login on a SQL Server Database
Engine instance. - Supports creating SQL Server logins, Windows user logins, Windows group
logins, certificate-based logins, and asymmetric key-based logins. - Implements proper parameter sets to prevent combining hashed passwords
with password policy options, following SQL Server restrictions.
- Added new public command to create a new login on a SQL Server Database
Changed
- Module now outputs a verbose message instead of a warning when the SMO
dependency module is missing during import to work around a DSC v3 issue. - VS Code tasks configuration was improved to support AI.
Prerequisites
tests- Added creation of
SqlIntegrationTest
local Windows user for integration testing.
- Added creation of
tests/Integration/Commands/README.md
- Added documentation for
SqlIntegrationTest
user and
IntegrationTestSqlLogin
login. - Added run order information for
New-SqlDscLogin
integration test.
- Added documentation for
azure-pipelines.yml
- Remove
windows-2019
images fixes #2106. - Move individual tasks to
windows-latest
. - Added integration tests for
Assert-SqlDscLogin
command in Group 2. - Added conditional logic to skip DSC resource integration tests when
changes don’t affect DSC resources, improving CI/CD performance for
non-DSC changes.
- Remove
SqlServerDsc.psd1
- Set
CmdletsToExport
to*
in module manifest to fix issue #2109.
- Set
- Added optimization for DSC resource integration tests
- Created
.build/Test-ShouldRunDscResourceIntegrationTests.ps1
to analyze
git changes and decide when DSC resource integration tests are needed. - DSC resource integration test stages now run only when changes affect DSC
resources, public commands used by resources, or related components. - Unit tests, QA tests, and command integration tests continue to run for
all changes. - Provides time savings for non-DSC changes while maintaining coverage.
- Created
Download
v17.2.0-preview0002
v17.2.0-preview0002 Pre-release
[v17.2.0-preview0002]
Added
- Added setup workflow for GitHub Copilot.
- Switch the workflow to use Linux.
- Attempt to unshallow the Copilot branch
Assert-SqlDscLogin
- Added new public command to validate that a specified SQL Server principal
exists as a login, throwing a terminating error if it doesn’t exist. - Supports pipeline input and provides detailed error messages with localization.
- Uses
Test-SqlDscIsLogin
command for login validation following module patterns.
- Added new public command to validate that a specified SQL Server principal
Changed
Download