Skip to content

Releases: dsccommunity/SqlServerDsc

v17.4.0-preview0021

05 Jan 21:12
b9d7f8f

Choose a tag to compare

v17.4.0-preview0021 Pre-release
Pre-release

[v17.4.0-preview0021]

Added

  • Added public command Request-SqlDscRSDatabaseScript to generate T-SQL scripts
    for creating report server databases. Wraps the GenerateDatabaseCreationScript
    CIM method and supports configuring database name, language (LCID), and
    SharePoint mode (issue #2017).
  • Added public command Request-SqlDscRSDatabaseRightsScript to generate T-SQL
    scripts for granting permissions on report server databases. Wraps the
    GenerateDatabaseRightsScript CIM method and supports configuring database
    name, user name, remote connections, and Windows/SQL authentication types
    (issue #2019).
  • Added public command Set-SqlDscRSDatabaseConnection to set
    the report server database connection for SQL Server Reporting Services or
    Power BI Report Server. Wraps the SetDatabaseConnection CIM method and
    supports Windows, SQL Server, and Service Account authentication types
    (issue #2021).
  • Added public command Set-SqlDscRSVirtualDirectory to set the virtual directory
    for Reporting Services applications. Wraps the SetVirtualDirectory CIM method
    and supports ReportServerWebService, ReportServerWebApp, and ReportManager
    applications (issue #2015).
  • Added public commands Get-SqlDscRSUrlReservation, Add-SqlDscRSUrlReservation,
    Remove-SqlDscRSUrlReservation, and Set-SqlDscRSUrlReservation to manage
    URL reservations for SQL Server Reporting Services or Power BI Report Server.
    These commands wrap the ListReservedUrls, ReserveUrl, and RemoveURL CIM
    methods respectively. The Set-SqlDscRSUrlReservation command provides a
    declarative approach to set URL reservations to an exact list, removing any
    existing reservations not in the specified list
    (issue #2016)
    (issue #2024).
  • Added public command Get-SqlDscRSConfiguration to retrieve the
    MSReportServer_ConfigurationSetting CIM instance for SQL Server Reporting
    Services or Power BI Report Server. Supports auto-detection of the Reporting
    Services version or explicit version specification. The returned CIM instance
    can be piped to Enable-SqlDscRsSecureConnection or Disable-SqlDscRsSecureConnection
    (issue #2022).
  • Added public command Get-SqlDscRSWebPortalApplicationName to get the
    Reporting Services web portal application name based on the SQL Server
    version. Returns 'ReportServerWebApp' for SQL Server 2016 (version 13) and
    later, or 'ReportManager' for earlier versions. Accepts the setup configuration
    object from Get-SqlDscRSSetupConfiguration via pipeline.
  • Added public command Enable-SqlDscRsSecureConnection to enable secure
    connection for SQL Server Reporting Services or Power BI Report Server by
    setting the secure connection level to 1. Accepts the configuration CIM
    instance from pipeline, supports -WhatIf/-Confirm, and -PassThru to
    return the configuration object
    (issue #2022).
  • Added public command Disable-SqlDscRsSecureConnection to disable secure
    connection for SQL Server Reporting Services or Power BI Report Server by
    setting the secure connection level to 0. Accepts the configuration CIM
    instance from pipeline, supports -WhatIf/-Confirm, and -PassThru to
    return the configuration object
    (issue #2023).
  • Added private function Invoke-RsCimMethod to invoke CIM methods on Reporting
    Services configuration instances with consistent error handling. This function
    is used by Enable-SqlDscRsSecureConnection, Disable-SqlDscRsSecureConnection,
    and the SqlRS resource.
  • Added private function Get-HResultMessage to translate common Windows HRESULT
    error codes into human-readable messages. Used by Invoke-RsCimMethod to
    provide actionable error messages when Reporting Services CIM methods fail
    without detailed error information.
  • Invoke-ReportServerSetupAction
    • Now uses Format-Path with -ExpandEnvironmentVariable to expand environment
      variables in all path parameters (MediaPath, LogPath, InstallFolder)
      (issue #2085).
  • Added public command Get-SqlDscServerProtocolTcpIp to retrieve TCP/IP address
    group information for SQL Server instances. Returns ServerIPAddress objects
    containing port configuration including TcpPort, TcpDynamicPorts, Enabled,
    and Active properties. Supports filtering by specific IP address group name
    and accepts pipeline input from Get-SqlDscServerProtocol.
  • SqlResourceBase
    • Added Protocol property to specify the network protocol (tcp, np, lpc)
      when connecting to SQL Server instances
      (issue #2041).
    • Added Port property to specify the TCP port number when connecting to SQL
      Server instances
      (issue #2041).
  • Connect-SqlDscDatabaseEngine
    • Added Protocol parameter to specify the network protocol when connecting.
    • Added Port parameter to specify the TCP port number when connecting.
      Connection strings now support the format [protocol:]hostname[\instance][,port].
  • SqlDatabase
    • Added new class-based resource to create, modify, or remove databases on a
      SQL Server instance. Supports a comprehensive set of database properties
      that can be configured with Set-SqlDscDatabaseProperty
      (issue #2174).
  • Install-SqlDscServer
    • Added parameter AllowDqRemoval to the Upgrade parameter set
      (issue #2155).
  • Test-SqlDscIsSupportedFeature
    • Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
      (17.x) and later versions (issue #2380).
  • Added public command Get-SqlDscRSPackage to retrieve package information for
    SQL Server Reporting Services or Power BI Report Server. Supports getting version
    information from an executable file
    (issue #2082).
  • Added public command Get-SqlDscBackupFileList to read the list of database
    files contained in a SQL Server backup file. Useful for planning file
    relocations during restore operations (issue #2026).
  • Added public command Test-SqlDscBackupFile to verify the integrity of a
    SQL Server backup file (issue #2026).
  • Added public command Restore-SqlDscDatabase to restore SQL Server databases
    from backup files. Supports full, differential, transaction log, and file
    restores with options for file relocation (both simple path-based and
    explicit RelocateFile objects), point-in-time recovery, NoRecovery/Standby
    modes, and various performance tuning options (issue #2026).
  • Added public command Backup-SqlDscDatabase. Supports full, differential,
    and transaction log backups with options for compression, copy-only, checksum,
    and retention (issue #2365).
  • Added public command Invoke-SqlDscScalarQuery to execute scalar queries using
    Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
    that does not require any database to be online
    (issue #2423).
  • Added public command Get-SqlDscDateTime to retrieve current date and time from
    SQL Server instance. Supports multiple T-SQL date/time functions to eliminate
    clock-skew and timezone issues between client and server
    (issue #2423).
  • Added public command Backup-SqlDscDatabase to perform database backups using
    SMO's Microsoft.SqlServer.Management.Smo.Backup class. Supports full,
    differential, and transaction log backups with options for compression,
    copy-only, checksum, and retention. Accepts both Server and Database objects
    via pipeline
    (issue #2365).
  • Set-SqlDscServerPermission
    • Added integration tests for negative test scenarios including invalid
      permission names and non-existent principals.
  • SqlPermission
    • Added integration tests for server role permissions to complement the
      existing login permission tests.
  • New-SqlDscDatabase
    • Added comprehensive set of settable database properties that were previously
      only available in Set-SqlDscDatabaseProperty
      (issue #2190).
  • Added public command Resume-SqlDscDatabase to bring a database online using
    SMO Database.SetOnline(). Supports Server and Database pipeline input
    (issue #2191).
  • Added public command Suspend-SqlDscDatabase to take a database offline using
    SMO Database.SetOffline(). Supports Server and Database pipeline input;
    includes Force to disconnect active users
    (issue #2192).
  • Remove-SqlDscLogin
    • Added parameter -KillActiveSessions to automatically terminate any active
      sessions for a login before dropping it
      ([issue #2372](https://github.com/dsccommu...
Read more

v17.4.0-preview0020

04 Jan 20:54
79e3a0c

Choose a tag to compare

v17.4.0-preview0020 Pre-release
Pre-release

[v17.4.0-preview0020]

Added

  • Added public command Set-SqlDscRSVirtualDirectory to set the virtual directory
    for Reporting Services applications. Wraps the SetVirtualDirectory CIM method
    and supports ReportServerWebService, ReportServerWebApp, and ReportManager
    applications (issue #2015).
  • Added public commands Get-SqlDscRSUrlReservation, Add-SqlDscRSUrlReservation,
    Remove-SqlDscRSUrlReservation, and Set-SqlDscRSUrlReservation to manage
    URL reservations for SQL Server Reporting Services or Power BI Report Server.
    These commands wrap the ListReservedUrls, ReserveUrl, and RemoveURL CIM
    methods respectively. The Set-SqlDscRSUrlReservation command provides a
    declarative approach to set URL reservations to an exact list, removing any
    existing reservations not in the specified list
    (issue #2016)
    (issue #2024).
  • Added public command Get-SqlDscRSConfiguration to retrieve the
    MSReportServer_ConfigurationSetting CIM instance for SQL Server Reporting
    Services or Power BI Report Server. Supports auto-detection of the Reporting
    Services version or explicit version specification. The returned CIM instance
    can be piped to Enable-SqlDscRsSecureConnection or Disable-SqlDscRsSecureConnection
    (issue #2022).
  • Added public command Get-SqlDscRSWebPortalApplicationName to get the
    Reporting Services web portal application name based on the SQL Server
    version. Returns 'ReportServerWebApp' for SQL Server 2016 (version 13) and
    later, or 'ReportManager' for earlier versions. Accepts the setup configuration
    object from Get-SqlDscRSSetupConfiguration via pipeline.
  • Added public command Enable-SqlDscRsSecureConnection to enable secure
    connection for SQL Server Reporting Services or Power BI Report Server by
    setting the secure connection level to 1. Accepts the configuration CIM
    instance from pipeline, supports -WhatIf/-Confirm, and -PassThru to
    return the configuration object
    (issue #2022).
  • Added public command Disable-SqlDscRsSecureConnection to disable secure
    connection for SQL Server Reporting Services or Power BI Report Server by
    setting the secure connection level to 0. Accepts the configuration CIM
    instance from pipeline, supports -WhatIf/-Confirm, and -PassThru to
    return the configuration object
    (issue #2023).
  • Added private function Invoke-RsCimMethod to invoke CIM methods on Reporting
    Services configuration instances with consistent error handling. This function
    is used by Enable-SqlDscRsSecureConnection, Disable-SqlDscRsSecureConnection,
    and the SqlRS resource.
  • Invoke-ReportServerSetupAction
    • Now uses Format-Path with -ExpandEnvironmentVariable to expand environment
      variables in all path parameters (MediaPath, LogPath, InstallFolder)
      (issue #2085).
  • Added public command Get-SqlDscServerProtocolTcpIp to retrieve TCP/IP address
    group information for SQL Server instances. Returns ServerIPAddress objects
    containing port configuration including TcpPort, TcpDynamicPorts, Enabled,
    and Active properties. Supports filtering by specific IP address group name
    and accepts pipeline input from Get-SqlDscServerProtocol.
  • SqlResourceBase
    • Added Protocol property to specify the network protocol (tcp, np, lpc)
      when connecting to SQL Server instances
      (issue #2041).
    • Added Port property to specify the TCP port number when connecting to SQL
      Server instances
      (issue #2041).
  • Connect-SqlDscDatabaseEngine
    • Added Protocol parameter to specify the network protocol when connecting.
    • Added Port parameter to specify the TCP port number when connecting.
      Connection strings now support the format [protocol:]hostname[\instance][,port].
  • SqlDatabase
    • Added new class-based resource to create, modify, or remove databases on a
      SQL Server instance. Supports a comprehensive set of database properties
      that can be configured with Set-SqlDscDatabaseProperty
      (issue #2174).
  • Install-SqlDscServer
    • Added parameter AllowDqRemoval to the Upgrade parameter set
      (issue #2155).
  • Test-SqlDscIsSupportedFeature
    • Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
      (17.x) and later versions (issue #2380).
  • Added public command Get-SqlDscRSPackage to retrieve package information for
    SQL Server Reporting Services or Power BI Report Server. Supports getting version
    information from an executable file
    (issue #2082).
  • Added public command Get-SqlDscBackupFileList to read the list of database
    files contained in a SQL Server backup file. Useful for planning file
    relocations during restore operations (issue #2026).
  • Added public command Test-SqlDscBackupFile to verify the integrity of a
    SQL Server backup file (issue #2026).
  • Added public command Restore-SqlDscDatabase to restore SQL Server databases
    from backup files. Supports full, differential, transaction log, and file
    restores with options for file relocation (both simple path-based and
    explicit RelocateFile objects), point-in-time recovery, NoRecovery/Standby
    modes, and various performance tuning options (issue #2026).
  • Added public command Backup-SqlDscDatabase. Supports full, differential,
    and transaction log backups with options for compression, copy-only, checksum,
    and retention (issue #2365).
  • Added public command Invoke-SqlDscScalarQuery to execute scalar queries using
    Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
    that does not require any database to be online
    (issue #2423).
  • Added public command Get-SqlDscDateTime to retrieve current date and time from
    SQL Server instance. Supports multiple T-SQL date/time functions to eliminate
    clock-skew and timezone issues between client and server
    (issue #2423).
  • Added public command Backup-SqlDscDatabase to perform database backups using
    SMO's Microsoft.SqlServer.Management.Smo.Backup class. Supports full,
    differential, and transaction log backups with options for compression,
    copy-only, checksum, and retention. Accepts both Server and Database objects
    via pipeline
    (issue #2365).
  • Set-SqlDscServerPermission
    • Added integration tests for negative test scenarios including invalid
      permission names and non-existent principals.
  • SqlPermission
    • Added integration tests for server role permissions to complement the
      existing login permission tests.
  • New-SqlDscDatabase
    • Added comprehensive set of settable database properties that were previously
      only available in Set-SqlDscDatabaseProperty
      (issue #2190).
  • Added public command Resume-SqlDscDatabase to bring a database online using
    SMO Database.SetOnline(). Supports Server and Database pipeline input
    (issue #2191).
  • Added public command Suspend-SqlDscDatabase to take a database offline using
    SMO Database.SetOffline(). Supports Server and Database pipeline input;
    includes Force to disconnect active users
    (issue #2192).
  • Remove-SqlDscLogin
    • Added parameter -KillActiveSessions to automatically terminate any active
      sessions for a login before dropping it
      (issue #2372).
  • Invoke-SetupAction
    • Added parameter AllowDqRemoval for the Upgrade action to allow removal
      of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
      later versions.
    • Now outputs setup progress when -Verbose is passed by using /QUIETSIMPLE
      instead of /QUIET.
  • SqlResourceBase
    • Added the method ConvertToSmoEnumType() to convert string values to SMO
      enum types at runtime. This method can be used by all resources inheriting
      from SqlResourceBase and supports a default namespace parameter to avoid
      repeating the full type name
      (issue #2174).

Changed

  • Install-SqlDscServer
    • Removed misleading Uninstall parameter documentation from comment-based help
      (issue #2448).
  • SqlRS
    • Refactored to use the public commands Enable-SqlDscRsSecureConnection and
      Disable-SqlDscRsSecureConnection for setting the secure connection level
      instead of calling the CIM method directly.
    • Refactored to use the public commands Get-SqlDscRSUrlReservation,
      Add-SqlDscRSUrlReservation, Remove-SqlDscRSUrlReservation, and
      Set-SqlDscRSUrlReservation for managing URL reservations instead of calling
      t...
Read more

v17.4.0-preview0019

04 Jan 15:39
4904751

Choose a tag to compare

v17.4.0-preview0019 Pre-release
Pre-release

[v17.4.0-preview0019]

Added

  • Added public command Set-SqlDscRSVirtualDirectory to set the virtual directory
    for Reporting Services applications. Wraps the SetVirtualDirectory CIM method
    and supports ReportServerWebService, ReportServerWebApp, and ReportManager
    applications (issue #2015).
  • Added public commands Get-SqlDscRSUrlReservation, Add-SqlDscRSUrlReservation,
    Remove-SqlDscRSUrlReservation, and Set-SqlDscRSUrlReservation to manage
    URL reservations for SQL Server Reporting Services or Power BI Report Server.
    These commands wrap the ListReservedUrls, ReserveUrl, and RemoveURL CIM
    methods respectively. The Set-SqlDscRSUrlReservation command provides a
    declarative approach to set URL reservations to an exact list, removing any
    existing reservations not in the specified list
    (issue #2016)
    (issue #2024).
  • Added public command Get-SqlDscRSConfiguration to retrieve the
    MSReportServer_ConfigurationSetting CIM instance for SQL Server Reporting
    Services or Power BI Report Server. Supports auto-detection of the Reporting
    Services version or explicit version specification. The returned CIM instance
    can be piped to Enable-SqlDscRsSecureConnection or Disable-SqlDscRsSecureConnection
    (issue #2022).
  • Added public command Get-SqlDscRSWebPortalApplicationName to get the
    Reporting Services web portal application name based on the SQL Server
    version. Returns 'ReportServerWebApp' for SQL Server 2016 (version 13) and
    later, or 'ReportManager' for earlier versions. Accepts the setup configuration
    object from Get-SqlDscRSSetupConfiguration via pipeline.
  • Added public command Enable-SqlDscRsSecureConnection to enable secure
    connection for SQL Server Reporting Services or Power BI Report Server by
    setting the secure connection level to 1. Accepts the configuration CIM
    instance from pipeline, supports -WhatIf/-Confirm, and -PassThru to
    return the configuration object
    (issue #2022).
  • Added public command Disable-SqlDscRsSecureConnection to disable secure
    connection for SQL Server Reporting Services or Power BI Report Server by
    setting the secure connection level to 0. Accepts the configuration CIM
    instance from pipeline, supports -WhatIf/-Confirm, and -PassThru to
    return the configuration object
    (issue #2023).
  • Added private function Invoke-RsCimMethod to invoke CIM methods on Reporting
    Services configuration instances with consistent error handling. This function
    is used by Enable-SqlDscRsSecureConnection, Disable-SqlDscRsSecureConnection,
    and the SqlRS resource.
  • Invoke-ReportServerSetupAction
    • Now uses Format-Path with -ExpandEnvironmentVariable to expand environment
      variables in all path parameters (MediaPath, LogPath, InstallFolder)
      (issue #2085).
  • Added public command Get-SqlDscServerProtocolTcpIp to retrieve TCP/IP address
    group information for SQL Server instances. Returns ServerIPAddress objects
    containing port configuration including TcpPort, TcpDynamicPorts, Enabled,
    and Active properties. Supports filtering by specific IP address group name
    and accepts pipeline input from Get-SqlDscServerProtocol.
  • SqlResourceBase
    • Added Protocol property to specify the network protocol (tcp, np, lpc)
      when connecting to SQL Server instances
      (issue #2041).
    • Added Port property to specify the TCP port number when connecting to SQL
      Server instances
      (issue #2041).
  • Connect-SqlDscDatabaseEngine
    • Added Protocol parameter to specify the network protocol when connecting.
    • Added Port parameter to specify the TCP port number when connecting.
      Connection strings now support the format [protocol:]hostname[\instance][,port].
  • SqlDatabase
    • Added new class-based resource to create, modify, or remove databases on a
      SQL Server instance. Supports a comprehensive set of database properties
      that can be configured with Set-SqlDscDatabaseProperty
      (issue #2174).
  • Install-SqlDscServer
    • Added parameter AllowDqRemoval to the Upgrade parameter set
      (issue #2155).
  • Test-SqlDscIsSupportedFeature
    • Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
      (17.x) and later versions (issue #2380).
  • Added public command Get-SqlDscRSPackage to retrieve package information for
    SQL Server Reporting Services or Power BI Report Server. Supports getting version
    information from an executable file
    (issue #2082).
  • Added public command Get-SqlDscBackupFileList to read the list of database
    files contained in a SQL Server backup file. Useful for planning file
    relocations during restore operations (issue #2026).
  • Added public command Test-SqlDscBackupFile to verify the integrity of a
    SQL Server backup file (issue #2026).
  • Added public command Restore-SqlDscDatabase to restore SQL Server databases
    from backup files. Supports full, differential, transaction log, and file
    restores with options for file relocation (both simple path-based and
    explicit RelocateFile objects), point-in-time recovery, NoRecovery/Standby
    modes, and various performance tuning options (issue #2026).
  • Added public command Backup-SqlDscDatabase. Supports full, differential,
    and transaction log backups with options for compression, copy-only, checksum,
    and retention (issue #2365).
  • Added public command Invoke-SqlDscScalarQuery to execute scalar queries using
    Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
    that does not require any database to be online
    (issue #2423).
  • Added public command Get-SqlDscDateTime to retrieve current date and time from
    SQL Server instance. Supports multiple T-SQL date/time functions to eliminate
    clock-skew and timezone issues between client and server
    (issue #2423).
  • Added public command Backup-SqlDscDatabase to perform database backups using
    SMO's Microsoft.SqlServer.Management.Smo.Backup class. Supports full,
    differential, and transaction log backups with options for compression,
    copy-only, checksum, and retention. Accepts both Server and Database objects
    via pipeline
    (issue #2365).
  • Set-SqlDscServerPermission
    • Added integration tests for negative test scenarios including invalid
      permission names and non-existent principals.
  • SqlPermission
    • Added integration tests for server role permissions to complement the
      existing login permission tests.
  • New-SqlDscDatabase
    • Added comprehensive set of settable database properties that were previously
      only available in Set-SqlDscDatabaseProperty
      (issue #2190).
  • Added public command Resume-SqlDscDatabase to bring a database online using
    SMO Database.SetOnline(). Supports Server and Database pipeline input
    (issue #2191).
  • Added public command Suspend-SqlDscDatabase to take a database offline using
    SMO Database.SetOffline(). Supports Server and Database pipeline input;
    includes Force to disconnect active users
    (issue #2192).
  • Remove-SqlDscLogin
    • Added parameter -KillActiveSessions to automatically terminate any active
      sessions for a login before dropping it
      (issue #2372).
  • Invoke-SetupAction
    • Added parameter AllowDqRemoval for the Upgrade action to allow removal
      of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
      later versions.
    • Now outputs setup progress when -Verbose is passed by using /QUIETSIMPLE
      instead of /QUIET.
  • SqlResourceBase
    • Added the method ConvertToSmoEnumType() to convert string values to SMO
      enum types at runtime. This method can be used by all resources inheriting
      from SqlResourceBase and supports a default namespace parameter to avoid
      repeating the full type name
      (issue #2174).

Changed

  • SqlRS
    • Refactored to use the public commands Enable-SqlDscRsSecureConnection and
      Disable-SqlDscRsSecureConnection for setting the secure connection level
      instead of calling the CIM method directly.
    • Refactored to use the public commands Get-SqlDscRSUrlReservation,
      Add-SqlDscRSUrlReservation, Remove-SqlDscRSUrlReservation, and
      Set-SqlDscRSUrlReservation for managing URL reservations instead of calling
      the CIM methods directly.
    • Refactored to use the public command Set-SqlDscRSVirtualDirectory for
      setting virtual directories instead of calling the CIM method directly
      ([iss...
Read more

v17.4.0-preview0018

03 Jan 14:52
7bd3c67

Choose a tag to compare

v17.4.0-preview0018 Pre-release
Pre-release

[v17.4.0-preview0018]

Added

  • Added public command Set-SqlDscRSVirtualDirectory to set the virtual directory
    for Reporting Services applications. Wraps the SetVirtualDirectory CIM method
    and supports ReportServerWebService, ReportServerWebApp, and ReportManager
    applications (issue #2015).
  • Added public commands Get-SqlDscRSUrlReservation, Add-SqlDscRSUrlReservation,
    Remove-SqlDscRSUrlReservation, and Set-SqlDscRSUrlReservation to manage
    URL reservations for SQL Server Reporting Services or Power BI Report Server.
    These commands wrap the ListReservedUrls, ReserveUrl, and RemoveURL CIM
    methods respectively. The Set-SqlDscRSUrlReservation command provides a
    declarative approach to set URL reservations to an exact list, removing any
    existing reservations not in the specified list
    (issue #2016)
    (issue #2024).
  • Added public command Get-SqlDscRSConfiguration to retrieve the
    MSReportServer_ConfigurationSetting CIM instance for SQL Server Reporting
    Services or Power BI Report Server. Supports auto-detection of the Reporting
    Services version or explicit version specification. The returned CIM instance
    can be piped to Enable-SqlDscRsSecureConnection or Disable-SqlDscRsSecureConnection
    (issue #2022).
  • Added public command Get-SqlDscRSWebPortalApplicationName to get the
    Reporting Services web portal application name based on the SQL Server
    version. Returns 'ReportServerWebApp' for SQL Server 2016 (version 13) and
    later, or 'ReportManager' for earlier versions. Accepts the setup configuration
    object from Get-SqlDscRSSetupConfiguration via pipeline.
  • Added public command Enable-SqlDscRsSecureConnection to enable secure
    connection for SQL Server Reporting Services or Power BI Report Server by
    setting the secure connection level to 1. Accepts the configuration CIM
    instance from pipeline, supports -WhatIf/-Confirm, and -PassThru to
    return the configuration object
    (issue #2022).
  • Added public command Disable-SqlDscRsSecureConnection to disable secure
    connection for SQL Server Reporting Services or Power BI Report Server by
    setting the secure connection level to 0. Accepts the configuration CIM
    instance from pipeline, supports -WhatIf/-Confirm, and -PassThru to
    return the configuration object
    (issue #2023).
  • Added private function Invoke-RsCimMethod to invoke CIM methods on Reporting
    Services configuration instances with consistent error handling. This function
    is used by Enable-SqlDscRsSecureConnection, Disable-SqlDscRsSecureConnection,
    and the SqlRS resource.
  • Invoke-ReportServerSetupAction
    • Now uses Format-Path with -ExpandEnvironmentVariable to expand environment
      variables in all path parameters (MediaPath, LogPath, InstallFolder)
      (issue #2085).
  • Added public command Get-SqlDscServerProtocolTcpIp to retrieve TCP/IP address
    group information for SQL Server instances. Returns ServerIPAddress objects
    containing port configuration including TcpPort, TcpDynamicPorts, Enabled,
    and Active properties. Supports filtering by specific IP address group name
    and accepts pipeline input from Get-SqlDscServerProtocol.
  • SqlResourceBase
    • Added Protocol property to specify the network protocol (tcp, np, lpc)
      when connecting to SQL Server instances
      (issue #2041).
    • Added Port property to specify the TCP port number when connecting to SQL
      Server instances
      (issue #2041).
  • Connect-SqlDscDatabaseEngine
    • Added Protocol parameter to specify the network protocol when connecting.
    • Added Port parameter to specify the TCP port number when connecting.
      Connection strings now support the format [protocol:]hostname[\instance][,port].
  • SqlDatabase
    • Added new class-based resource to create, modify, or remove databases on a
      SQL Server instance. Supports a comprehensive set of database properties
      that can be configured with Set-SqlDscDatabaseProperty
      (issue #2174).
  • Install-SqlDscServer
    • Added parameter AllowDqRemoval to the Upgrade parameter set
      (issue #2155).
  • Test-SqlDscIsSupportedFeature
    • Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
      (17.x) and later versions (issue #2380).
  • Added public command Get-SqlDscRSPackage to retrieve package information for
    SQL Server Reporting Services or Power BI Report Server. Supports getting version
    information from an executable file
    (issue #2082).
  • Added public command Get-SqlDscBackupFileList to read the list of database
    files contained in a SQL Server backup file. Useful for planning file
    relocations during restore operations (issue #2026).
  • Added public command Test-SqlDscBackupFile to verify the integrity of a
    SQL Server backup file (issue #2026).
  • Added public command Restore-SqlDscDatabase to restore SQL Server databases
    from backup files. Supports full, differential, transaction log, and file
    restores with options for file relocation (both simple path-based and
    explicit RelocateFile objects), point-in-time recovery, NoRecovery/Standby
    modes, and various performance tuning options (issue #2026).
  • Added public command Backup-SqlDscDatabase. Supports full, differential,
    and transaction log backups with options for compression, copy-only, checksum,
    and retention (issue #2365).
  • Added public command Invoke-SqlDscScalarQuery to execute scalar queries using
    Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
    that does not require any database to be online
    (issue #2423).
  • Added public command Get-SqlDscDateTime to retrieve current date and time from
    SQL Server instance. Supports multiple T-SQL date/time functions to eliminate
    clock-skew and timezone issues between client and server
    (issue #2423).
  • Added public command Backup-SqlDscDatabase to perform database backups using
    SMO's Microsoft.SqlServer.Management.Smo.Backup class. Supports full,
    differential, and transaction log backups with options for compression,
    copy-only, checksum, and retention. Accepts both Server and Database objects
    via pipeline
    (issue #2365).
  • Set-SqlDscServerPermission
    • Added integration tests for negative test scenarios including invalid
      permission names and non-existent principals.
  • SqlPermission
    • Added integration tests for server role permissions to complement the
      existing login permission tests.
  • New-SqlDscDatabase
    • Added comprehensive set of settable database properties that were previously
      only available in Set-SqlDscDatabaseProperty
      (issue #2190).
  • Added public command Resume-SqlDscDatabase to bring a database online using
    SMO Database.SetOnline(). Supports Server and Database pipeline input
    (issue #2191).
  • Added public command Suspend-SqlDscDatabase to take a database offline using
    SMO Database.SetOffline(). Supports Server and Database pipeline input;
    includes Force to disconnect active users
    (issue #2192).
  • Remove-SqlDscLogin
    • Added parameter -KillActiveSessions to automatically terminate any active
      sessions for a login before dropping it
      (issue #2372).
  • Invoke-SetupAction
    • Added parameter AllowDqRemoval for the Upgrade action to allow removal
      of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
      later versions.
    • Now outputs setup progress when -Verbose is passed by using /QUIETSIMPLE
      instead of /QUIET.
  • SqlResourceBase
    • Added the method ConvertToSmoEnumType() to convert string values to SMO
      enum types at runtime. This method can be used by all resources inheriting
      from SqlResourceBase and supports a default namespace parameter to avoid
      repeating the full type name
      (issue #2174).

Changed

  • SqlRS
    • Refactored to use the public commands Enable-SqlDscRsSecureConnection and
      Disable-SqlDscRsSecureConnection for setting the secure connection level
      instead of calling the CIM method directly.
    • Refactored to use the public commands Get-SqlDscRSUrlReservation,
      Add-SqlDscRSUrlReservation, Remove-SqlDscRSUrlReservation, and
      Set-SqlDscRSUrlReservation for managing URL reservations instead of calling
      the CIM methods directly.
    • Refactored to use the public command Set-SqlDscRSVirtualDirectory for
      setting virtual directories instead of calling the CIM method directly
      ([iss...
Read more

v17.4.0-preview0017

02 Jan 10:02
35a84eb

Choose a tag to compare

v17.4.0-preview0017 Pre-release
Pre-release

[v17.4.0-preview0017]

Added

  • Added public command Get-SqlDscRSConfiguration to retrieve the
    MSReportServer_ConfigurationSetting CIM instance for SQL Server Reporting
    Services or Power BI Report Server. Supports auto-detection of the Reporting
    Services version or explicit version specification. The returned CIM instance
    can be piped to Enable-SqlDscRsSecureConnection or Disable-SqlDscRsSecureConnection
    (issue #2022).
  • Added public command Enable-SqlDscRsSecureConnection to enable secure
    connection for SQL Server Reporting Services or Power BI Report Server by
    setting the secure connection level to 1. Accepts the configuration CIM
    instance from pipeline, supports -WhatIf/-Confirm, and -PassThru to
    return the configuration object
    (issue #2022).
  • Added public command Disable-SqlDscRsSecureConnection to disable secure
    connection for SQL Server Reporting Services or Power BI Report Server by
    setting the secure connection level to 0. Accepts the configuration CIM
    instance from pipeline, supports -WhatIf/-Confirm, and -PassThru to
    return the configuration object
    (issue #2023).
  • Added private function Invoke-RsCimMethod to invoke CIM methods on Reporting
    Services configuration instances with consistent error handling. This function
    is used by Enable-SqlDscRsSecureConnection, Disable-SqlDscRsSecureConnection,
    and the SqlRS resource.
  • Invoke-ReportServerSetupAction
    • Now uses Format-Path with -ExpandEnvironmentVariable to expand environment
      variables in all path parameters (MediaPath, LogPath, InstallFolder)
      (issue #2085).
  • Added public command Get-SqlDscServerProtocolTcpIp to retrieve TCP/IP address
    group information for SQL Server instances. Returns ServerIPAddress objects
    containing port configuration including TcpPort, TcpDynamicPorts, Enabled,
    and Active properties. Supports filtering by specific IP address group name
    and accepts pipeline input from Get-SqlDscServerProtocol.
  • SqlResourceBase
    • Added Protocol property to specify the network protocol (tcp, np, lpc)
      when connecting to SQL Server instances
      (issue #2041).
    • Added Port property to specify the TCP port number when connecting to SQL
      Server instances
      (issue #2041).
  • Connect-SqlDscDatabaseEngine
    • Added Protocol parameter to specify the network protocol when connecting.
    • Added Port parameter to specify the TCP port number when connecting.
      Connection strings now support the format [protocol:]hostname[\instance][,port].
  • SqlDatabase
    • Added new class-based resource to create, modify, or remove databases on a
      SQL Server instance. Supports a comprehensive set of database properties
      that can be configured with Set-SqlDscDatabaseProperty
      (issue #2174).
  • Install-SqlDscServer
    • Added parameter AllowDqRemoval to the Upgrade parameter set
      (issue #2155).
  • Test-SqlDscIsSupportedFeature
    • Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
      (17.x) and later versions (issue #2380).
  • Added public command Get-SqlDscRSPackage to retrieve package information for
    SQL Server Reporting Services or Power BI Report Server. Supports getting version
    information from an executable file
    (issue #2082).
  • Added public command Get-SqlDscBackupFileList to read the list of database
    files contained in a SQL Server backup file. Useful for planning file
    relocations during restore operations (issue #2026).
  • Added public command Test-SqlDscBackupFile to verify the integrity of a
    SQL Server backup file (issue #2026).
  • Added public command Restore-SqlDscDatabase to restore SQL Server databases
    from backup files. Supports full, differential, transaction log, and file
    restores with options for file relocation (both simple path-based and
    explicit RelocateFile objects), point-in-time recovery, NoRecovery/Standby
    modes, and various performance tuning options (issue #2026).
  • Added public command Backup-SqlDscDatabase. Supports full, differential,
    and transaction log backups with options for compression, copy-only, checksum,
    and retention (issue #2365).
  • Added public command Invoke-SqlDscScalarQuery to execute scalar queries using
    Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
    that does not require any database to be online
    (issue #2423).
  • Added public command Get-SqlDscDateTime to retrieve current date and time from
    SQL Server instance. Supports multiple T-SQL date/time functions to eliminate
    clock-skew and timezone issues between client and server
    (issue #2423).
  • Added public command Backup-SqlDscDatabase to perform database backups using
    SMO's Microsoft.SqlServer.Management.Smo.Backup class. Supports full,
    differential, and transaction log backups with options for compression,
    copy-only, checksum, and retention. Accepts both Server and Database objects
    via pipeline
    (issue #2365).
  • Set-SqlDscServerPermission
    • Added integration tests for negative test scenarios including invalid
      permission names and non-existent principals.
  • SqlPermission
    • Added integration tests for server role permissions to complement the
      existing login permission tests.
  • New-SqlDscDatabase
    • Added comprehensive set of settable database properties that were previously
      only available in Set-SqlDscDatabaseProperty
      (issue #2190).
  • Added public command Resume-SqlDscDatabase to bring a database online using
    SMO Database.SetOnline(). Supports Server and Database pipeline input
    (issue #2191).
  • Added public command Suspend-SqlDscDatabase to take a database offline using
    SMO Database.SetOffline(). Supports Server and Database pipeline input;
    includes Force to disconnect active users
    (issue #2192).
  • Remove-SqlDscLogin
    • Added parameter -KillActiveSessions to automatically terminate any active
      sessions for a login before dropping it
      (issue #2372).
  • Invoke-SetupAction
    • Added parameter AllowDqRemoval for the Upgrade action to allow removal
      of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
      later versions.
    • Now outputs setup progress when -Verbose is passed by using /QUIETSIMPLE
      instead of /QUIET.
  • SqlResourceBase
    • Added the method ConvertToSmoEnumType() to convert string values to SMO
      enum types at runtime. This method can be used by all resources inheriting
      from SqlResourceBase and supports a default namespace parameter to avoid
      repeating the full type name
      (issue #2174).

Changed

  • SqlRS
    • Refactored to use the public commands Enable-SqlDscRsSecureConnection and
      Disable-SqlDscRsSecureConnection for setting the secure connection level
      instead of calling the CIM method directly.
  • Assert-SetupActionProperties
    • Refactored to use the command Get-FileVersion from the DscResource.Common
      module instead of the private function Get-FileVersionInformation
      (issue #2373).
  • Renamed commands *-SqlDscBIReportServer to *-SqlDscPowerBIReportServer for
    clarity. The old names *-SqlDscBIReportServer and *-SqlDscPBIReportServer
    are available as aliases for backward compatibility
    (issue #2071).
  • SqlProtocol
    • Refactored to use the public command Get-SqlDscServerProtocolName instead
      of the deprecated private function Get-ProtocolNameProperties

Fixed

  • Unit Tests
    • Fixed PowerShell class type identity issues that caused "Cannot convert
      'Type' to 'Type'" errors when running multiple test files in the same
      Pester job. The issue occurred because using Import-Module -Force and
      Remove-Module between test files caused PowerShell to create new type
      identities for module-defined classes. Changed all unit test files to not
      use -Force when importing the module being tested and removed the module
      unload from AfterAll blocks. This prevents class type identity mismatches
      while maintaining test isolation through mock cleanup.
  • Fixed all Invoke-WebRequest calls throughout the codebase to include the
    -UseBasicParsing parameter. This addresses a Windows PowerShell 5.1 security
    update (CVE-2025-54100) released December 9, 2025, which changed the default
    behavior of Invoke-WebRequest to require an interactive prompt unless
    -UseBasicParsing is specified. This change prevents failures in non-interactive
    CI environments. Affected files include integration ...
Read more

v17.4.0-preview0016

01 Jan 18:59
b6ddc10

Choose a tag to compare

v17.4.0-preview0016 Pre-release
Pre-release

[v17.4.0-preview0016]

Added

  • Invoke-ReportServerSetupAction
    • Now uses Format-Path with -ExpandEnvironmentVariable to expand environment
      variables in all path parameters (MediaPath, LogPath, InstallFolder)
      (issue #2085).
  • Added public command Get-SqlDscServerProtocolTcpIp to retrieve TCP/IP address
    group information for SQL Server instances. Returns ServerIPAddress objects
    containing port configuration including TcpPort, TcpDynamicPorts, Enabled,
    and Active properties. Supports filtering by specific IP address group name
    and accepts pipeline input from Get-SqlDscServerProtocol.
  • SqlResourceBase
    • Added Protocol property to specify the network protocol (tcp, np, lpc)
      when connecting to SQL Server instances
      (issue #2041).
    • Added Port property to specify the TCP port number when connecting to SQL
      Server instances
      (issue #2041).
  • Connect-SqlDscDatabaseEngine
    • Added Protocol parameter to specify the network protocol when connecting.
    • Added Port parameter to specify the TCP port number when connecting.
      Connection strings now support the format [protocol:]hostname[\instance][,port].
  • SqlDatabase
    • Added new class-based resource to create, modify, or remove databases on a
      SQL Server instance. Supports a comprehensive set of database properties
      that can be configured with Set-SqlDscDatabaseProperty
      (issue #2174).
  • Install-SqlDscServer
    • Added parameter AllowDqRemoval to the Upgrade parameter set
      (issue #2155).
  • Test-SqlDscIsSupportedFeature
    • Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
      (17.x) and later versions (issue #2380).
  • Added public command Get-SqlDscRSPackage to retrieve package information for
    SQL Server Reporting Services or Power BI Report Server. Supports getting version
    information from an executable file
    (issue #2082).
  • Added public command Get-SqlDscBackupFileList to read the list of database
    files contained in a SQL Server backup file. Useful for planning file
    relocations during restore operations (issue #2026).
  • Added public command Test-SqlDscBackupFile to verify the integrity of a
    SQL Server backup file (issue #2026).
  • Added public command Restore-SqlDscDatabase to restore SQL Server databases
    from backup files. Supports full, differential, transaction log, and file
    restores with options for file relocation (both simple path-based and
    explicit RelocateFile objects), point-in-time recovery, NoRecovery/Standby
    modes, and various performance tuning options (issue #2026).
  • Added public command Backup-SqlDscDatabase. Supports full, differential,
    and transaction log backups with options for compression, copy-only, checksum,
    and retention (issue #2365).
  • Added public command Invoke-SqlDscScalarQuery to execute scalar queries using
    Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
    that does not require any database to be online
    (issue #2423).
  • Added public command Get-SqlDscDateTime to retrieve current date and time from
    SQL Server instance. Supports multiple T-SQL date/time functions to eliminate
    clock-skew and timezone issues between client and server
    (issue #2423).
  • Added public command Backup-SqlDscDatabase to perform database backups using
    SMO's Microsoft.SqlServer.Management.Smo.Backup class. Supports full,
    differential, and transaction log backups with options for compression,
    copy-only, checksum, and retention. Accepts both Server and Database objects
    via pipeline
    (issue #2365).
  • Set-SqlDscServerPermission
    • Added integration tests for negative test scenarios including invalid
      permission names and non-existent principals.
  • SqlPermission
    • Added integration tests for server role permissions to complement the
      existing login permission tests.
  • New-SqlDscDatabase
    • Added comprehensive set of settable database properties that were previously
      only available in Set-SqlDscDatabaseProperty
      (issue #2190).
  • Added public command Resume-SqlDscDatabase to bring a database online using
    SMO Database.SetOnline(). Supports Server and Database pipeline input
    (issue #2191).
  • Added public command Suspend-SqlDscDatabase to take a database offline using
    SMO Database.SetOffline(). Supports Server and Database pipeline input;
    includes Force to disconnect active users
    (issue #2192).
  • Remove-SqlDscLogin
    • Added parameter -KillActiveSessions to automatically terminate any active
      sessions for a login before dropping it
      (issue #2372).
  • Invoke-SetupAction
    • Added parameter AllowDqRemoval for the Upgrade action to allow removal
      of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
      later versions.
    • Now outputs setup progress when -Verbose is passed by using /QUIETSIMPLE
      instead of /QUIET.
  • SqlResourceBase
    • Added the method ConvertToSmoEnumType() to convert string values to SMO
      enum types at runtime. This method can be used by all resources inheriting
      from SqlResourceBase and supports a default namespace parameter to avoid
      repeating the full type name
      (issue #2174).

Changed

  • Assert-SetupActionProperties
    • Refactored to use the command Get-FileVersion from the DscResource.Common
      module instead of the private function Get-FileVersionInformation
      (issue #2373).
  • Renamed commands *-SqlDscBIReportServer to *-SqlDscPowerBIReportServer for
    clarity. The old names *-SqlDscBIReportServer and *-SqlDscPBIReportServer
    are available as aliases for backward compatibility
    (issue #2071).
  • SqlProtocol
    • Refactored to use the public command Get-SqlDscServerProtocolName instead
      of the deprecated private function Get-ProtocolNameProperties

Fixed

  • Unit Tests
    • Fixed PowerShell class type identity issues that caused "Cannot convert
      'Type' to 'Type'" errors when running multiple test files in the same
      Pester job. The issue occurred because using Import-Module -Force and
      Remove-Module between test files caused PowerShell to create new type
      identities for module-defined classes. Changed all unit test files to not
      use -Force when importing the module being tested and removed the module
      unload from AfterAll blocks. This prevents class type identity mismatches
      while maintaining test isolation through mock cleanup.
  • Fixed all Invoke-WebRequest calls throughout the codebase to include the
    -UseBasicParsing parameter. This addresses a Windows PowerShell 5.1 security
    update (CVE-2025-54100) released December 9, 2025, which changed the default
    behavior of Invoke-WebRequest to require an interactive prompt unless
    -UseBasicParsing is specified. This change prevents failures in non-interactive
    CI environments. Affected files include integration tests, production code, and
    build scripts
    (issue #2376).
  • SqlRS
    • Fixed integration tests failing with status code 0 when checking ReportServer
      and Reports site accessibility by implementing retry logic (up to 2 minutes)
      to handle timing issues where Reporting Services web services are not immediately
      ready after DSC configuration completes. On final retry attempt with status
      code 0, the exception is now re-thrown to provide detailed error diagnostics
      (issue #2376).
    • Refactored to use the public command Get-SqlDscServerProtocol instead
      of the deprecated private function Get-ServerProtocolObject
      (issue #2104).
  • SqlProtocolTcpIp
    • Refactored to use the public command Get-SqlDscServerProtocol instead
      of the deprecated private function Get-ServerProtocolObject
      (issue #2104).
  • SqlPermission
    • Refactored to use the new object-based server permission commands
      (Grant-SqlDscServerPermission, Deny-SqlDscServerPermission,
      Revoke-SqlDscServerPermission, and Get-SqlDscServerPermission)
      instead of the deprecated Set-SqlDscServerPermission command
      (issue #2159).
    • Updated documentation to clarify that the resource supports both logins
      and server roles as principals.
    • Added a note in documentation clarifying that if a name exists as both
      a login and a server role, the login will take precedence.
  • BREAKING CHANGE: Set-SqlDscServerPermission
    • Completely refactored to set...
Read more

v17.4.0-preview0015

31 Dec 21:34
5c65e63

Choose a tag to compare

v17.4.0-preview0015 Pre-release
Pre-release

[v17.4.0-preview0015]

Added

  • Invoke-ReportServerSetupAction
    • Now uses Format-Path with -ExpandEnvironmentVariable to expand environment
      variables in all path parameters (MediaPath, LogPath, InstallFolder)
      (issue #2085).
  • Added public command Get-SqlDscServerProtocolTcpIp to retrieve TCP/IP address
    group information for SQL Server instances. Returns ServerIPAddress objects
    containing port configuration including TcpPort, TcpDynamicPorts, Enabled,
    and Active properties. Supports filtering by specific IP address group name
    and accepts pipeline input from Get-SqlDscServerProtocol.
  • SqlResourceBase
    • Added Protocol property to specify the network protocol (tcp, np, lpc)
      when connecting to SQL Server instances
      (issue #2041).
    • Added Port property to specify the TCP port number when connecting to SQL
      Server instances
      (issue #2041).
  • Connect-SqlDscDatabaseEngine
    • Added Protocol parameter to specify the network protocol when connecting.
    • Added Port parameter to specify the TCP port number when connecting.
      Connection strings now support the format [protocol:]hostname[\instance][,port].
  • Install-SqlDscServer
    • Added parameter AllowDqRemoval to the Upgrade parameter set
      (issue #2155).
  • Test-SqlDscIsSupportedFeature
    • Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
      (17.x) and later versions (issue #2380).
  • Added public command Get-SqlDscRSPackage to retrieve package information for
    SQL Server Reporting Services or Power BI Report Server. Supports getting version
    information from an executable file
    (issue #2082).
  • Added public command Get-SqlDscBackupFileList to read the list of database
    files contained in a SQL Server backup file. Useful for planning file
    relocations during restore operations (issue #2026).
  • Added public command Test-SqlDscBackupFile to verify the integrity of a
    SQL Server backup file (issue #2026).
  • Added public command Restore-SqlDscDatabase to restore SQL Server databases
    from backup files. Supports full, differential, transaction log, and file
    restores with options for file relocation (both simple path-based and
    explicit RelocateFile objects), point-in-time recovery, NoRecovery/Standby
    modes, and various performance tuning options (issue #2026).
  • Added public command Backup-SqlDscDatabase. Supports full, differential,
    and transaction log backups with options for compression, copy-only, checksum,
    and retention (issue #2365).
  • Added public command Invoke-SqlDscScalarQuery to execute scalar queries using
    Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
    that does not require any database to be online
    (issue #2423).
  • Added public command Get-SqlDscDateTime to retrieve current date and time from
    SQL Server instance. Supports multiple T-SQL date/time functions to eliminate
    clock-skew and timezone issues between client and server
    (issue #2423).
  • Added public command Backup-SqlDscDatabase to perform database backups using
    SMO's Microsoft.SqlServer.Management.Smo.Backup class. Supports full,
    differential, and transaction log backups with options for compression,
    copy-only, checksum, and retention. Accepts both Server and Database objects
    via pipeline
    (issue #2365).
  • Set-SqlDscServerPermission
    • Added integration tests for negative test scenarios including invalid
      permission names and non-existent principals.
  • SqlPermission
    • Added integration tests for server role permissions to complement the
      existing login permission tests.
  • New-SqlDscDatabase
    • Added comprehensive set of settable database properties that were previously
      only available in Set-SqlDscDatabaseProperty
      (issue #2190).
  • Added public command Resume-SqlDscDatabase to bring a database online using
    SMO Database.SetOnline(). Supports Server and Database pipeline input
    (issue #2191).
  • Added public command Suspend-SqlDscDatabase to take a database offline using
    SMO Database.SetOffline(). Supports Server and Database pipeline input;
    includes Force to disconnect active users
    (issue #2192).
  • Remove-SqlDscLogin
    • Added parameter -KillActiveSessions to automatically terminate any active
      sessions for a login before dropping it
      (issue #2372).
  • Invoke-SetupAction
    • Added parameter AllowDqRemoval for the Upgrade action to allow removal
      of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
      later versions.
    • Now outputs setup progress when -Verbose is passed by using /QUIETSIMPLE
      instead of /QUIET.

Changed

  • Assert-SetupActionProperties
    • Refactored to use the command Get-FileVersion from the DscResource.Common
      module instead of the private function Get-FileVersionInformation
      (issue #2373).
  • Renamed commands *-SqlDscBIReportServer to *-SqlDscPowerBIReportServer for
    clarity. The old names *-SqlDscBIReportServer and *-SqlDscPBIReportServer
    are available as aliases for backward compatibility
    (issue #2071).
  • SqlProtocol
    • Refactored to use the public command Get-SqlDscServerProtocolName instead
      of the deprecated private function Get-ProtocolNameProperties

Fixed

  • Unit Tests
    • Fixed PowerShell class type identity issues that caused "Cannot convert
      'Type' to 'Type'" errors when running multiple test files in the same
      Pester job. The issue occurred because using Import-Module -Force and
      Remove-Module between test files caused PowerShell to create new type
      identities for module-defined classes. Changed all unit test files to not
      use -Force when importing the module being tested and removed the module
      unload from AfterAll blocks. This prevents class type identity mismatches
      while maintaining test isolation through mock cleanup.
  • Fixed all Invoke-WebRequest calls throughout the codebase to include the
    -UseBasicParsing parameter. This addresses a Windows PowerShell 5.1 security
    update (CVE-2025-54100) released December 9, 2025, which changed the default
    behavior of Invoke-WebRequest to require an interactive prompt unless
    -UseBasicParsing is specified. This change prevents failures in non-interactive
    CI environments. Affected files include integration tests, production code, and
    build scripts
    (issue #2376).
  • SqlRS
    • Fixed integration tests failing with status code 0 when checking ReportServer
      and Reports site accessibility by implementing retry logic (up to 2 minutes) to
      handle timing issues where Reporting Services web services are not immediately
      ready after DSC configuration completes. On final retry attempt with status
      code 0, the exception is now re-thrown to provide detailed error diagnostics
      (issue #2376).
    • Refactored to use the public command Get-SqlDscServerProtocol instead
      of the deprecated private function Get-ServerProtocolObject
      (issue #2104).
  • SqlProtocolTcpIp
    • Refactored to use the public command Get-SqlDscServerProtocol instead
      of the deprecated private function Get-ServerProtocolObject
      (issue #2104).
  • SqlPermission
    • Refactored to use the new object-based server permission commands
      (Grant-SqlDscServerPermission, Deny-SqlDscServerPermission,
      Revoke-SqlDscServerPermission, and Get-SqlDscServerPermission)
      instead of the deprecated Set-SqlDscServerPermission command
      (issue #2159).
    • Updated documentation to clarify that the resource supports both logins
      and server roles as principals.
    • Added a note in documentation clarifying that if a name exists as both
      a login and a server role, the login will take precedence.
  • BREAKING CHANGE: Set-SqlDscServerPermission
    • Completely refactored to set exact server permissions for a principal. The
      command now accepts Login or ServerRole objects (same as Grant-SqlDscServerPermission,
      Deny-SqlDscServerPermission, and Revoke-SqlDscServerPermission) and uses
      -Grant, -GrantWithGrant, and -Deny parameters to specify the exact
      permissions that should exist within each specified category. Within a
      specified category, any existing permissions not listed are revoked;
      categories not specified are left unchanged. The command internally uses
      Get-SqlDscServerPermission, Grant-SqlDscServerPermission,
      Deny-SqlDscServerPermission, and Revoke-SqlDscServerPermission to
      achieve this
      ...
Read more

v17.4.0-preview0014

28 Dec 23:01
352435f

Choose a tag to compare

v17.4.0-preview0014 Pre-release
Pre-release

[v17.4.0-preview0014]

Added

  • Added public command Get-SqlDscServerProtocolTcpIp to retrieve TCP/IP address
    group information for SQL Server instances. Returns ServerIPAddress objects
    containing port configuration including TcpPort, TcpDynamicPorts, Enabled,
    and Active properties. Supports filtering by specific IP address group name
    and accepts pipeline input from Get-SqlDscServerProtocol.
  • SqlResourceBase
    • Added Protocol property to specify the network protocol (tcp, np, lpc)
      when connecting to SQL Server instances
      (issue #2041).
    • Added Port property to specify the TCP port number when connecting to SQL
      Server instances
      (issue #2041).
  • Connect-SqlDscDatabaseEngine
    • Added Protocol parameter to specify the network protocol when connecting.
    • Added Port parameter to specify the TCP port number when connecting.
      Connection strings now support the format [protocol:]hostname[\instance][,port].
  • Install-SqlDscServer
    • Added parameter AllowDqRemoval to the Upgrade parameter set
      (issue #2155).
  • Test-SqlDscIsSupportedFeature
    • Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
      (17.x) and later versions (issue #2380).
  • Added public command Get-SqlDscRSPackage to retrieve package information for
    SQL Server Reporting Services or Power BI Report Server. Supports getting version
    information from an executable file
    (issue #2082).
  • Added public command Get-SqlDscBackupFileList to read the list of database
    files contained in a SQL Server backup file. Useful for planning file
    relocations during restore operations (issue #2026).
  • Added public command Test-SqlDscBackupFile to verify the integrity of a
    SQL Server backup file (issue #2026).
  • Added public command Restore-SqlDscDatabase to restore SQL Server databases
    from backup files. Supports full, differential, transaction log, and file
    restores with options for file relocation (both simple path-based and
    explicit RelocateFile objects), point-in-time recovery, NoRecovery/Standby
    modes, and various performance tuning options (issue #2026).
  • Added public command Backup-SqlDscDatabase. Supports full, differential,
    and transaction log backups with options for compression, copy-only, checksum,
    and retention (issue #2365).
  • Added public command Invoke-SqlDscScalarQuery to execute scalar queries using
    Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
    that does not require any database to be online
    (issue #2423).
  • Added public command Get-SqlDscDateTime to retrieve current date and time from
    SQL Server instance. Supports multiple T-SQL date/time functions to eliminate
    clock-skew and timezone issues between client and server
    (issue #2423).
  • Added public command Backup-SqlDscDatabase to perform database backups using
    SMO's Microsoft.SqlServer.Management.Smo.Backup class. Supports full,
    differential, and transaction log backups with options for compression,
    copy-only, checksum, and retention. Accepts both Server and Database objects
    via pipeline
    (issue #2365).
  • Set-SqlDscServerPermission
    • Added integration tests for negative test scenarios including invalid
      permission names and non-existent principals.
  • SqlPermission
    • Added integration tests for server role permissions to complement the
      existing login permission tests.
  • New-SqlDscDatabase
    • Added comprehensive set of settable database properties that were previously
      only available in Set-SqlDscDatabaseProperty
      (issue #2190).
  • Added public command Resume-SqlDscDatabase to bring a database online using
    SMO Database.SetOnline(). Supports Server and Database pipeline input
    (issue #2191).
  • Added public command Suspend-SqlDscDatabase to take a database offline using
    SMO Database.SetOffline(). Supports Server and Database pipeline input;
    includes Force to disconnect active users
    (issue #2192).
  • Remove-SqlDscLogin
    • Added parameter -KillActiveSessions to automatically terminate any active
      sessions for a login before dropping it
      (issue #2372).
  • Invoke-SetupAction
    • Added parameter AllowDqRemoval for the Upgrade action to allow removal
      of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
      later versions.
    • Now outputs setup progress when -Verbose is passed by using /QUIETSIMPLE
      instead of /QUIET.

Changed

  • Assert-SetupActionProperties
    • Refactored to use the command Get-FileVersion from the DscResource.Common
      module instead of the private function Get-FileVersionInformation
      (issue #2373).
  • Renamed commands *-SqlDscBIReportServer to *-SqlDscPowerBIReportServer for
    clarity. The old names *-SqlDscBIReportServer and *-SqlDscPBIReportServer
    are available as aliases for backward compatibility
    (issue #2071).
  • SqlProtocol
    • Refactored to use the public command Get-SqlDscServerProtocolName instead
      of the deprecated private function Get-ProtocolNameProperties

Fixed

  • Fixed all Invoke-WebRequest calls throughout the codebase to include the
    -UseBasicParsing parameter. This addresses a Windows PowerShell 5.1 security
    update (CVE-2025-54100) released December 9, 2025, which changed the default
    behavior of Invoke-WebRequest to require an interactive prompt unless
    -UseBasicParsing is specified. This change prevents failures in non-interactive
    CI environments. Affected files include integration tests, production code, and
    build scripts
    (issue #2376).
  • SqlRS
    • Fixed integration tests failing with status code 0 when checking ReportServer
      and Reports site accessibility by implementing retry logic (up to 2 minutes) to
      handle timing issues where Reporting Services web services are not immediately
      ready after DSC configuration completes. On final retry attempt with status
      code 0, the exception is now re-thrown to provide detailed error diagnostics
      (issue #2376).
    • Refactored to use the public command Get-SqlDscServerProtocol instead
      of the deprecated private function Get-ServerProtocolObject
      (issue #2104).
  • SqlProtocolTcpIp
    • Refactored to use the public command Get-SqlDscServerProtocol instead
      of the deprecated private function Get-ServerProtocolObject
      (issue #2104).
  • SqlPermission
    • Refactored to use the new object-based server permission commands
      (Grant-SqlDscServerPermission, Deny-SqlDscServerPermission,
      Revoke-SqlDscServerPermission, and Get-SqlDscServerPermission)
      instead of the deprecated Set-SqlDscServerPermission command
      (issue #2159).
    • Updated documentation to clarify that the resource supports both logins
      and server roles as principals.
    • Added a note in documentation clarifying that if a name exists as both
      a login and a server role, the login will take precedence.
  • BREAKING CHANGE: Set-SqlDscServerPermission
    • Completely refactored to set exact server permissions for a principal. The
      command now accepts Login or ServerRole objects (same as Grant-SqlDscServerPermission,
      Deny-SqlDscServerPermission, and Revoke-SqlDscServerPermission) and uses
      -Grant, -GrantWithGrant, and -Deny parameters to specify the exact
      permissions that should exist within each specified category. Within a
      specified category, any existing permissions not listed are revoked;
      categories not specified are left unchanged. The command internally uses
      Get-SqlDscServerPermission, Grant-SqlDscServerPermission,
      Deny-SqlDscServerPermission, and Revoke-SqlDscServerPermission to
      achieve this
      (issue #2159).
  • Updated comment-based help .INPUTS and .OUTPUTS sections across all public
    commands and private functions to comply with DSC community style guidelines
    (issue #2103).
  • Set-SqlDscDatabaseProperty
    • Updated comment-based help to reference correct enum values.
    • Added SQL Server version requirements to version-specific parameter help.

Fixed

  • Set-SqlDscServerPermission
    • Fixed an issue where unspecified permission parameters would incorrectly
      revoke existing permissions. The command now only processes permission
      categories that are explicitly specified via parameters. For example,
      specifying only -Grant @() will now correctly revoke only Grant permissions
      while leaving GrantWithGrant and Deny perm...
Read more

v17.4.0-preview0013

28 Dec 08:37
82bd423

Choose a tag to compare

v17.4.0-preview0013 Pre-release
Pre-release

[v17.4.0-preview0013]

Added

  • Install-SqlDscServer
    • Added parameter AllowDqRemoval to the Upgrade parameter set
      (issue #2155).
  • Test-SqlDscIsSupportedFeature
    • Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
      (17.x) and later versions (issue #2380).
  • Added public command Get-SqlDscRSPackage to retrieve package information for
    SQL Server Reporting Services or Power BI Report Server. Supports getting version
    information from an executable file
    (issue #2082).
  • Added public command Get-SqlDscBackupFileList to read the list of database
    files contained in a SQL Server backup file. Useful for planning file
    relocations during restore operations (issue #2026).
  • Added public command Test-SqlDscBackupFile to verify the integrity of a
    SQL Server backup file (issue #2026).
  • Added public command Restore-SqlDscDatabase to restore SQL Server databases
    from backup files. Supports full, differential, transaction log, and file
    restores with options for file relocation (both simple path-based and
    explicit RelocateFile objects), point-in-time recovery, NoRecovery/Standby
    modes, and various performance tuning options (issue #2026).
  • Added public command Backup-SqlDscDatabase. Supports full, differential,
    and transaction log backups with options for compression, copy-only, checksum,
    and retention (issue #2365).
  • Added public command Invoke-SqlDscScalarQuery to execute scalar queries using
    Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
    that does not require any database to be online
    (issue #2423).
  • Added public command Get-SqlDscDateTime to retrieve current date and time from
    SQL Server instance. Supports multiple T-SQL date/time functions to eliminate
    clock-skew and timezone issues between client and server
    (issue #2423).
  • Added public command Backup-SqlDscDatabase to perform database backups using
    SMO's Microsoft.SqlServer.Management.Smo.Backup class. Supports full,
    differential, and transaction log backups with options for compression,
    copy-only, checksum, and retention. Accepts both Server and Database objects
    via pipeline
    (issue #2365).
  • Set-SqlDscServerPermission
    • Added integration tests for negative test scenarios including invalid
      permission names and non-existent principals.
  • SqlPermission
    • Added integration tests for server role permissions to complement the
      existing login permission tests.
  • New-SqlDscDatabase
    • Added comprehensive set of settable database properties that were previously
      only available in Set-SqlDscDatabaseProperty
      (issue #2190).
  • Added public command Resume-SqlDscDatabase to bring a database online using
    SMO Database.SetOnline(). Supports Server and Database pipeline input
    (issue #2191).
  • Added public command Suspend-SqlDscDatabase to take a database offline using
    SMO Database.SetOffline(). Supports Server and Database pipeline input;
    includes Force to disconnect active users
    (issue #2192).
  • Remove-SqlDscLogin
    • Added parameter -KillActiveSessions to automatically terminate any active
      sessions for a login before dropping it
      (issue #2372).
  • Invoke-SetupAction
    • Added parameter AllowDqRemoval for the Upgrade action to allow removal
      of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
      later versions.
    • Now outputs setup progress when -Verbose is passed by using /QUIETSIMPLE
      instead of /QUIET.

Changed

  • Assert-SetupActionProperties
    • Refactored to use the command Get-FileVersion from the DscResource.Common
      module instead of the private function Get-FileVersionInformation
      (issue #2373).
  • Renamed commands *-SqlDscBIReportServer to *-SqlDscPowerBIReportServer for
    clarity. The old names *-SqlDscBIReportServer and *-SqlDscPBIReportServer
    are available as aliases for backward compatibility
    (issue #2071).
  • SqlProtocol
    • Refactored to use the public command Get-SqlDscServerProtocolName instead
      of the deprecated private function Get-ProtocolNameProperties

Fixed

  • Fixed all Invoke-WebRequest calls throughout the codebase to include the
    -UseBasicParsing parameter. This addresses a Windows PowerShell 5.1 security
    update (CVE-2025-54100) released December 9, 2025, which changed the default
    behavior of Invoke-WebRequest to require an interactive prompt unless
    -UseBasicParsing is specified. This change prevents failures in non-interactive
    CI environments. Affected files include integration tests, production code, and
    build scripts
    (issue #2376).
  • SqlRS
    • Fixed integration tests failing with status code 0 when checking ReportServer
      and Reports site accessibility by implementing retry logic (up to 2 minutes) to
      handle timing issues where Reporting Services web services are not immediately
      ready after DSC configuration completes. On final retry attempt with status
      code 0, the exception is now re-thrown to provide detailed error diagnostics
      (issue #2376).
    • Refactored to use the public command Get-SqlDscServerProtocol instead
      of the deprecated private function Get-ServerProtocolObject
      (issue #2104).
  • SqlProtocolTcpIp
    • Refactored to use the public command Get-SqlDscServerProtocol instead
      of the deprecated private function Get-ServerProtocolObject
      (issue #2104).
  • SqlPermission
    • Refactored to use the new object-based server permission commands
      (Grant-SqlDscServerPermission, Deny-SqlDscServerPermission,
      Revoke-SqlDscServerPermission, and Get-SqlDscServerPermission)
      instead of the deprecated Set-SqlDscServerPermission command
      (issue #2159).
    • Updated documentation to clarify that the resource supports both logins
      and server roles as principals.
    • Added a note in documentation clarifying that if a name exists as both
      a login and a server role, the login will take precedence.
  • BREAKING CHANGE: Set-SqlDscServerPermission
    • Completely refactored to set exact server permissions for a principal. The
      command now accepts Login or ServerRole objects (same as Grant-SqlDscServerPermission,
      Deny-SqlDscServerPermission, and Revoke-SqlDscServerPermission) and uses
      -Grant, -GrantWithGrant, and -Deny parameters to specify the exact
      permissions that should exist within each specified category. Within a
      specified category, any existing permissions not listed are revoked;
      categories not specified are left unchanged. The command internally uses
      Get-SqlDscServerPermission, Grant-SqlDscServerPermission,
      Deny-SqlDscServerPermission, and Revoke-SqlDscServerPermission to
      achieve this
      (issue #2159).
  • Updated comment-based help .INPUTS and .OUTPUTS sections across all public
    commands and private functions to comply with DSC community style guidelines
    (issue #2103).
  • Set-SqlDscDatabaseProperty
    • Updated comment-based help to reference correct enum values.
    • Added SQL Server version requirements to version-specific parameter help.

Fixed

  • Set-SqlDscServerPermission
    • Fixed an issue where unspecified permission parameters would incorrectly
      revoke existing permissions. The command now only processes permission
      categories that are explicitly specified via parameters. For example,
      specifying only -Grant @() will now correctly revoke only Grant permissions
      while leaving GrantWithGrant and Deny permissions unchanged
      (issue #2159).
  • New-SqlDscDatabase
    • Fixed parameter types for database-scoped configuration properties from
      System.Boolean to Microsoft.SqlServer.Management.Smo.DatabaseScopedConfigurationOnOff
      to match SMO property types and support all valid values (Off, On, Primary)
      (issue #2190).
    • Fixed parameter types for boolean database properties from System.Boolean to
      System.Management.Automation.SwitchParameter to follow PowerShell best practices.
      (issue #2190).
  • New-SqlDscRole
    • Fixed duplicate verbose output by removing manual Write-Verbose call, as
      $PSCmdlet.ShouldProcess() already generates appropriate verbose output
      (issue #2156).
  • Set-SqlDscDatabaseProperty
    • Fixed parameter types for database-scoped configuration properties from
      `Sys...
Read more

v17.4.0-preview0012

26 Dec 14:45
fdc54b9

Choose a tag to compare

v17.4.0-preview0012 Pre-release
Pre-release

[v17.4.0-preview0012]

Added

  • Added public command Get-SqlDscRSPackage to retrieve package information for
    SQL Server Reporting Services or Power BI Report Server. Supports getting version
    information from an executable file
    (issue #2082).
  • Added public command Get-SqlDscBackupFileList to read the list of database
    files contained in a SQL Server backup file. Useful for planning file
    relocations during restore operations (issue #2026).
  • Added public command Test-SqlDscBackupFile to verify the integrity of a
    SQL Server backup file (issue #2026).
  • Added public command Restore-SqlDscDatabase to restore SQL Server databases
    from backup files. Supports full, differential, transaction log, and file
    restores with options for file relocation (both simple path-based and
    explicit RelocateFile objects), point-in-time recovery, NoRecovery/Standby
    modes, and various performance tuning options (issue #2026).
  • Added public command Backup-SqlDscDatabase. Supports full, differential,
    and transaction log backups with options for compression, copy-only, checksum,
    and retention (issue #2365).
  • Added public command Invoke-SqlDscScalarQuery to execute scalar queries using
    Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
    that does not require any database to be online
    (issue #2423).
  • Added public command Get-SqlDscDateTime to retrieve current date and time from
    SQL Server instance. Supports multiple T-SQL date/time functions to eliminate
    clock-skew and timezone issues between client and server
    (issue #2423).
  • Added public command Backup-SqlDscDatabase to perform database backups using
    SMO's Microsoft.SqlServer.Management.Smo.Backup class. Supports full,
    differential, and transaction log backups with options for compression,
    copy-only, checksum, and retention. Accepts both Server and Database objects
    via pipeline
    (issue #2365).
  • Set-SqlDscServerPermission
    • Added integration tests for negative test scenarios including invalid
      permission names and non-existent principals.
  • SqlPermission
    • Added integration tests for server role permissions to complement the
      existing login permission tests.
  • New-SqlDscDatabase
    • Added comprehensive set of settable database properties that were previously
      only available in Set-SqlDscDatabaseProperty
      (issue #2190).
  • Added public command Resume-SqlDscDatabase to bring a database online using
    SMO Database.SetOnline(). Supports Server and Database pipeline input
    (issue #2191).
  • Added public command Suspend-SqlDscDatabase to take a database offline using
    SMO Database.SetOffline(). Supports Server and Database pipeline input;
    includes Force to disconnect active users
    (issue #2192).
  • Remove-SqlDscLogin
    • Added parameter -KillActiveSessions to automatically terminate any active
      sessions for a login before dropping it
      (issue #2372).

Changed

  • Assert-SetupActionProperties
    • Refactored to use the command Get-FileVersion from the DscResource.Common
      module instead of the private function Get-FileVersionInformation
      (issue #2373).
  • Renamed commands *-SqlDscBIReportServer to *-SqlDscPowerBIReportServer for
    clarity. The old names *-SqlDscBIReportServer and *-SqlDscPBIReportServer
    are available as aliases for backward compatibility
    (issue #2071).
  • SqlProtocol
    • Refactored to use the public command Get-SqlDscServerProtocolName instead
      of the deprecated private function Get-ProtocolNameProperties

Fixed

  • Fixed all Invoke-WebRequest calls throughout the codebase to include the
    -UseBasicParsing parameter. This addresses a Windows PowerShell 5.1 security
    update (CVE-2025-54100) released December 9, 2025, which changed the default
    behavior of Invoke-WebRequest to require an interactive prompt unless
    -UseBasicParsing is specified. This change prevents failures in non-interactive
    CI environments. Affected files include integration tests, production code, and
    build scripts
    (issue #2376).
  • SqlRS
    • Fixed integration tests failing with status code 0 when checking ReportServer
      and Reports site accessibility by implementing retry logic (up to 2 minutes) to
      handle timing issues where Reporting Services web services are not immediately
      ready after DSC configuration completes. On final retry attempt with status
      code 0, the exception is now re-thrown to provide detailed error diagnostics
      (issue #2376).
    • Refactored to use the public command Get-SqlDscServerProtocol instead
      of the deprecated private function Get-ServerProtocolObject
      (issue #2104).
  • SqlProtocolTcpIp
    • Refactored to use the public command Get-SqlDscServerProtocol instead
      of the deprecated private function Get-ServerProtocolObject
      (issue #2104).
  • SqlPermission
    • Refactored to use the new object-based server permission commands
      (Grant-SqlDscServerPermission, Deny-SqlDscServerPermission,
      Revoke-SqlDscServerPermission, and Get-SqlDscServerPermission)
      instead of the deprecated Set-SqlDscServerPermission command
      (issue #2159).
    • Updated documentation to clarify that the resource supports both logins
      and server roles as principals.
    • Added a note in documentation clarifying that if a name exists as both
      a login and a server role, the login will take precedence.
  • BREAKING CHANGE: Set-SqlDscServerPermission
    • Completely refactored to set exact server permissions for a principal. The
      command now accepts Login or ServerRole objects (same as Grant-SqlDscServerPermission,
      Deny-SqlDscServerPermission, and Revoke-SqlDscServerPermission) and uses
      -Grant, -GrantWithGrant, and -Deny parameters to specify the exact
      permissions that should exist within each specified category. Within a
      specified category, any existing permissions not listed are revoked;
      categories not specified are left unchanged. The command internally uses
      Get-SqlDscServerPermission, Grant-SqlDscServerPermission,
      Deny-SqlDscServerPermission, and Revoke-SqlDscServerPermission to
      achieve this
      (issue #2159).
  • Updated comment-based help .INPUTS and .OUTPUTS sections across all public
    commands and private functions to comply with DSC community style guidelines
    (issue #2103).
  • Set-SqlDscDatabaseProperty
    • Updated comment-based help to reference correct enum values.
    • Added SQL Server version requirements to version-specific parameter help.

Fixed

  • Set-SqlDscServerPermission
    • Fixed an issue where unspecified permission parameters would incorrectly
      revoke existing permissions. The command now only processes permission
      categories that are explicitly specified via parameters. For example,
      specifying only -Grant @() will now correctly revoke only Grant permissions
      while leaving GrantWithGrant and Deny permissions unchanged
      (issue #2159).
  • New-SqlDscDatabase
    • Fixed parameter types for database-scoped configuration properties from
      System.Boolean to Microsoft.SqlServer.Management.Smo.DatabaseScopedConfigurationOnOff
      to match SMO property types and support all valid values (Off, On, Primary)
      (issue #2190).
    • Fixed parameter types for boolean database properties from System.Boolean to
      System.Management.Automation.SwitchParameter to follow PowerShell best practices.
      (issue #2190).
  • New-SqlDscRole
    • Fixed duplicate verbose output by removing manual Write-Verbose call, as
      $PSCmdlet.ShouldProcess() already generates appropriate verbose output
      (issue #2156).
  • Set-SqlDscDatabaseProperty
    • Fixed parameter types for database-scoped configuration properties from
      System.Boolean to Microsoft.SqlServer.Management.Smo.DatabaseScopedConfigurationOnOff
      to match SMO property types and support all valid values (Off, On, Primary)
      (issue #2190).
    • Fixed parameter types for boolean database properties from System.Boolean to
      System.Management.Automation.SwitchParameter to follow PowerShell best practices.
      (issue #2190).

Removed

  • Removed helper function Get-FilePathMajorVersion from the SqlServerDsc.Common
    module. Refactored usages to use the command Get-FileVersion from the
    DscResource.Common module instead...
Read more