An open API service providing repository metadata for many open source software ecosystems.

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

Releases
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 correct ExcludeDscProperties
      formatting (added missing delimiter).
  • SqlRSSetup
    • Re-added ReportServerEdition enum and updated class to use enum instead of
      ValidateSet for the Edition property.
  • 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.
  • Assert-SqlDscLogin
    • Added new public command to validate that a specified SQL Server principal
      is a login.
  • 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 Get-SqlDscLogin, Get-SqlDscRole, New-SqlDscLogin, New-SqlDscRole,
    Remove-SqlDscRole, and Remove-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, and Test-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 instance
    • New-SqlDscDatabase - Create a new database with specified properties
    • Set-SqlDscDatabase - Modify properties of an existing database
    • Remove-SqlDscDatabase - Remove a database from SQL Server instance
    • Test-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, and AssertProperties() validation scenarios.
  • 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.
  • tests/Integration/Commands/README.md
    • Added documentation for SqlIntegrationTest user and
      IntegrationTestSqlLogin login.
    • Added run order information for New-SqlDscLogin integration test.
  • 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.
  • SqlServerDsc.psd1
    • Set CmdletsToExport to * in module manifest to fix issue #2109.
  • 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.
  • 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.
  • .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.
4 days ago
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 correct ExcludeDscProperties
      formatting (added missing delimiter).
  • SqlRSSetup
    • Re-added ReportServerEdition enum and updated class to use enum instead of
      ValidateSet for the Edition property.
  • 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.
  • 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 Get-SqlDscLogin, Get-SqlDscRole, New-SqlDscLogin, New-SqlDscRole,
    Remove-SqlDscRole, and Remove-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, and Test-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 instance
    • New-SqlDscDatabase - Create a new database with specified properties
    • Set-SqlDscDatabase - Modify properties of an existing database
    • Remove-SqlDscDatabase - Remove a database from SQL Server instance
    • Test-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, and AssertProperties() validation scenarios.
  • 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.
  • tests/Integration/Commands/README.md
    • Added documentation for SqlIntegrationTest user and
      IntegrationTestSqlLogin login.
    • Added run order information for New-SqlDscLogin integration test.
  • 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.
  • SqlServerDsc.psd1
    • Set CmdletsToExport to * in module manifest to fix issue #2109.
  • 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.
  • 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.
  • .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.
4 days ago
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 correct ExcludeDscProperties
      formatting (added missing delimiter).
  • SqlRSSetup
    • Re-added ReportServerEdition enum and updated class to use enum instead of
      ValidateSet for the Edition property.
  • 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.
  • 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 Get-SqlDscLogin, Get-SqlDscRole, New-SqlDscLogin, New-SqlDscRole,
    Remove-SqlDscRole, and Remove-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, and Test-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 instance
    • New-SqlDscDatabase - Create a new database with specified properties
    • Set-SqlDscDatabase - Modify properties of an existing database
    • Remove-SqlDscDatabase - Remove a database from SQL Server instance
    • Test-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, and AssertProperties() validation scenarios.
  • 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.
  • tests/Integration/Commands/README.md
    • Added documentation for SqlIntegrationTest user and
      IntegrationTestSqlLogin login.
    • Added run order information for New-SqlDscLogin integration test.
  • 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.
  • SqlServerDsc.psd1
    • Set CmdletsToExport to * in module manifest to fix issue #2109.
  • 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.
  • 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.
  • .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.
4 days ago
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 correct ExcludeDscProperties
      formatting (added missing delimiter).
  • SqlRSSetup
    • Re-added ReportServerEdition enum and updated class to use enum instead of
      ValidateSet for the Edition property.

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.
  • 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 Get-SqlDscLogin, Get-SqlDscRole, New-SqlDscLogin, New-SqlDscRole,
    Remove-SqlDscRole, and Remove-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, and Test-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 instance
    • New-SqlDscDatabase - Create a new database with specified properties
    • Set-SqlDscDatabase - Modify properties of an existing database
    • Remove-SqlDscDatabase - Remove a database from SQL Server instance
    • Test-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, and AssertProperties() validation scenarios.
  • 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.
  • tests/Integration/Commands/README.md
    • Added documentation for SqlIntegrationTest user and
      IntegrationTestSqlLogin login.
    • Added run order information for New-SqlDscLogin integration test.
  • 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.
  • SqlServerDsc.psd1
    • Set CmdletsToExport to * in module manifest to fix issue #2109.
  • 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.
  • 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.
  • .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.
5 days ago
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 correct ExcludeDscProperties
      formatting (added missing delimiter).

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.
  • 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 Get-SqlDscLogin, Get-SqlDscRole, New-SqlDscLogin, New-SqlDscRole,
    Remove-SqlDscRole, and Remove-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, and Test-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 instance
    • New-SqlDscDatabase - Create a new database with specified properties
    • Set-SqlDscDatabase - Modify properties of an existing database
    • Remove-SqlDscDatabase - Remove a database from SQL Server instance
    • Test-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, and AssertProperties() validation scenarios.
  • 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.
  • tests/Integration/Commands/README.md
    • Added documentation for SqlIntegrationTest user and
      IntegrationTestSqlLogin login.
    • Added run order information for New-SqlDscLogin integration test.
  • 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.
  • SqlServerDsc.psd1
    • Set CmdletsToExport to * in module manifest to fix issue #2109.
  • 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.
  • 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.
  • .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.
6 days ago
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.
  • 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 Get-SqlDscLogin, Get-SqlDscRole, New-SqlDscLogin, New-SqlDscRole,
    Remove-SqlDscRole, and Remove-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, and Test-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.
  • tests/Integration/Commands/README.md
    • Added documentation for SqlIntegrationTest user and
      IntegrationTestSqlLogin login.
    • Added run order information for New-SqlDscLogin integration test.
  • 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.
  • SqlServerDsc.psd1
    • Set CmdletsToExport to * in module manifest to fix issue #2109.
  • 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.
  • 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.
  • .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.
6 days ago
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.
  • 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 Get-SqlDscLogin, Get-SqlDscRole, New-SqlDscLogin, New-SqlDscRole,
    Remove-SqlDscRole, and Remove-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, and Test-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.
  • tests/Integration/Commands/README.md
    • Added documentation for SqlIntegrationTest user and
      IntegrationTestSqlLogin login.
    • Added run order information for New-SqlDscLogin integration test.
  • 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.
  • SqlServerDsc.psd1
    • Set CmdletsToExport to * in module manifest to fix issue #2109.
  • 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.
  • 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.
  • .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.
11 days ago
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 Get-SqlDscLogin, Get-SqlDscRole, New-SqlDscLogin, New-SqlDscRole, Remove-SqlDscRole, and Remove-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.
  • tests/Integration/Commands/README.md
    • Added documentation for SqlIntegrationTest user and
      IntegrationTestSqlLogin login.
    • Added run order information for New-SqlDscLogin integration test.
  • 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.
  • SqlServerDsc.psd1
    • Set CmdletsToExport to * in module manifest to fix issue #2109.
  • 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.
  • 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.
  • .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.
13 days ago
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.
  • 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 and Name, or by
      passing a LoginObject 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.
  • 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.

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.
  • tests/Integration/Commands/README.md
    • Added documentation for SqlIntegrationTest user and
      IntegrationTestSqlLogin login.
    • Added run order information for New-SqlDscLogin integration test.
  • 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.
  • SqlServerDsc.psd1
    • Set CmdletsToExport to * in module manifest to fix issue #2109.
  • 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.
16 days ago
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.

Changed

  • 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.
  • SqlServerDsc.psd1
    • Set CmdletsToExport to * in module manifest to fix issue #2109.
26 days ago
Download