github dataplat/dbatools v2.7.7

8 hours ago

Thank you to our 4 new contributors + claude 🤖 This is a big one which includes updates to dbatools.library. Also, check out the updated website at https://dbatools.io.

New Commands Added

  1. Add-DbaDbFile - Create new command to add files to database filegroups
  2. Compare-DbaAgReplicaAgentJob - Compare Agent Jobs between Availability Group replicas
  3. Compare-DbaAgReplicaCredential - Compare Credentials between Availability Group replicas
  4. Compare-DbaAgReplicaLogin - Compare Logins between Availability Group replicas
  5. Compare-DbaAgReplicaOperator - Compare Operators between Availability Group replicas
  6. Compare-DbaAvailabilityGroup - Compare Availability Group configurations
  7. Copy-DbaExtendedStoredProcedure - Copy Extended Stored Procedures between SQL Server instances
  8. Copy-DbaServerRole - Copy Server Roles between SQL Server instances
  9. Get-DbaAgDatabaseReplicaState - Get the replica state of databases in Availability Groups
  10. Sync-DbaLoginPassword - Synchronize login passwords between SQL Server instances

Renamed Commands

  1. Invoke-DbaAzSqlDbTipInvoke-DbaDbAzSqlTip (renamed for consistency)

What Else's Changed

  • Fix Get-DbaSchemaChangeHistory when no trace file exists by @SylvainDuran in #9852
  • Test-DBALsnChain - Fix NullArray exception by @Philippe-Eversa in #9856
  • Add server name to removal message in Remove-DbaDbUser for WhatIf clarity by @SylvainDuran in #9858
  • Correct retrieval of server name in Remove-DbaCredential by @SylvainDuran in #9860
  • Fix Set-DbaAgentJobStep: Add proxy removal support and prevent unwanted parameter resets by @SylvainDuran in #9861
  • Fix Remove-DbaAgentJob to continue processing when jobs don't exist by @SylvainDuran in #9863
  • Add Claude Code GitHub Workflow by @potatoqualitee in #9868
  • Add secure credential storage guidance to readme by @potatoqualitee in #9872
  • Copy-DbaDbTableData - Add documentation for temporal tables by @potatoqualitee in #9869
  • Write-Progress - Add Completed and fix in multiple commands by @potatoqualitee in #9870
  • New-DbaDbSnapshot - Add .Refresh() calls to fix AG secondary snapshots by @potatoqualitee in #9875
  • Test-DbaLastBackup - Add Checksum parameter support by @potatoqualitee in #9874
  • Restore-DbaDatabase - Fix ReplaceDbNameInFile to only replace filename, not directory path by @potatoqualitee in #9873
  • Add-DbaAgDatabase - Add NoWait parameter to skip seeding wait by @potatoqualitee in #9878
  • Sync-DbaAvailabilityGroup - Fix null reference errors when syncing empty Agent objects by @potatoqualitee in #9877
  • Test Suite Runner - Add auto test selection based on changed files by @niphlod in #9882
  • Copy-DbaDatabase - Fix SetSourceOffline to only run on successful copy by @potatoqualitee in #9880
  • Stop-DbaService, Start-DbaService - Add PolyBase and Launchpad service type support by @potatoqualitee in #9879
  • Invoke-DbaDbPiiScan - Fix TEXT, NTEXT, XML column handling by @peterkruis in #9890
  • Update-DbaInstance - Fix NoPendingRenameCheck parameter not being passed to Test-PendingReboot by @niphlod in #9893
  • Update Claude Code GitHub Workflow by @potatoqualitee in #9894
  • Rename-DbaDatabase - Fix ReplaceBefore parameter error with empty strings by @potatoqualitee in #9888
  • Enable-DbaAgHadr - Improve error message to show actual failure reason by @potatoqualitee in #9887
  • Import-DbaCsv - Add support for custom delimiters by @potatoqualitee in #9884
  • Compare-DbaAvailabilityGroup - Add commands to compare AG replica configurations by @potatoqualitee in #9886
  • Remove-DbaReplArticle - Add replication library loading to fix Article type error by @potatoqualitee in #9892
  • cut down appveyor's env matrix since we're now running serially by @potatoqualitee in #9896
  • Publish-DbaDacPackage - Restore DacFxPath parameter functionality by @potatoqualitee in #9899
  • Copy-DbaLogin - Protect BUILTIN\Administrators on SQL Server on Linux by @potatoqualitee in #9901
  • Get-DbaDatabase - Add Pattern parameter for wildcard database filtering by @potatoqualitee in #9897
  • Restore-DbaDbSnapshot - Add retry logic for deadlock errors by @potatoqualitee in #9900
  • Invoke-DbaDbAzSqlTip - Rename function to match manifest exports by @jpomfret in #9903
  • Get-DbaSchemaChangeHistory - Fix incorrect object type for indexes by @potatoqualitee in #9906
  • Get-DbaCmObject - Add configurable CIM operation timeout by @potatoqualitee in #9905
  • import.ps1 - Remove AlwaysBuildLibrary configuration by @potatoqualitee in #9907
  • Connect-DbaInstance - Exclude ActiveConnections for SQL Server 2022+ to fix performance issue by @potatoqualitee in #9908
  • Invoke-DbaAdvancedInstall - Add /q switch for Server Core compatibility by @potatoqualitee in #9898
  • Add command Get-DbaAgDatabaseReplicaState as a first step for AG monitoring and health check by @andreasjordan in #9910
  • Format-DbaBackupInformation - Fix cross-platform path handling for Windows to Linux restores by @potatoqualitee in #9913
  • *-DbaDbTable - Add parameter aliases to standardize table name parameter by @potatoqualitee in #9912
  • Get-DbaMemoryCondition - Remove outdated Microsoft KB URL reference by @potatoqualitee in #9914
  • skip claude-issue* branches by @niphlod in #9920
  • Export-DbaSysDbUserObject - Fix ScriptingOptionsObject parameter being ignored by @potatoqualitee in #9918
  • Copy-DbaLinkedServer - Add DAC connection to prevent multiple DAC connection attempts by @andreasjordan in #9921
  • Get-DbaNetworkCertificate - Fix warning parameter forwarding by @potatoqualitee in #9922
  • Update-DbaInstance - Add UseSSL and Port parameters with configuration defaults by @potatoqualitee in #9923
  • Copy-DbaDbTableData - Add support for ignoring computed columns by @potatoqualitee in #9915
  • Add-DbaComputerCertificate - Add support for importing full certificate chain by @potatoqualitee in #9924
  • Start-DbaDbEncryption, Stop-DbaDbEncryption - Add -Parallel switch for async execution by @potatoqualitee in #9916
  • Remove-DbaDbUser - Fix Azure SQL Database compatibility by @potatoqualitee in #9933
  • New-DbaAgent* - Add enhanced error handling for contained AG listeners by @potatoqualitee in #9925
  • Copy-DbaDbTableData - Fix data ordering issue when copying tables without explicit ORDER BY by @potatoqualitee in #9927
  • Add-DbaComputerCertificate, Start/Stop-DbaDbEncryption - Fix PFX certificate chain import and improve parallel encryption handling by @potatoqualitee in #9936
  • Complete Pester 5 migration - Migrate final 4 meta-tests and fix duplicate test execution by @potatoqualitee in #9937
  • New-DbaDbTransfer - Infer SSL/TLS settings from source connection by @potatoqualitee in #9930
  • Get-DbaAgentJob, Remove-DbaAgentJob - Add validation for null/empty Job parameter by @potatoqualitee in #9931
  • Get-DbaAgentJob - Optimize Database filter with hashtable lookup by @potatoqualitee in #9932
  • Invoke-DbaDiagnosticQuery - Fix Azure SQL DB query execution with limited permissions by @potatoqualitee in #9917
  • Copy-DbaDbMail - Fix InvalidCastException by explicitly casting SMO name properties to string by @potatoqualitee in #9926
  • Sync-DbaLoginPassword - Add command to sync passwords using hashed values by @potatoqualitee in #9883
  • Install-DbaMaintenanceSolution - Add backup parameters (ChangeBackupType, Compress, CopyOnly, Verify, CheckSum, ModificationLevel) by @potatoqualitee in #9939
  • Tests - Filter and fix by @potatoqualitee in #9943
  • about files - Update with current information by @potatoqualitee in #9944
  • Get-DbaDbBackupHistory - Exclude mirror backups by default in all code paths by @potatoqualitee in #9934
  • Get-DbaXESessionTargetFile - Fix DirectoryInfo return issue and add Session object support by @potatoqualitee in #9928
  • Get-DbaBackupInformation, Get-XpDirTreeRestoreFile - Fix URL path handling for MaintenanceSolution backups by @potatoqualitee in #9929
  • Export-DbaLinkedServer - Add -Passthru parameter by @potatoqualitee in #9938
  • Get-DbaRegServer - Add -ExcludeServerName parameter with ExcludeServer alias by @potatoqualitee in #9940
  • Get-DbaDbTable, Get-DbaDbStoredProcedure, Get-DbaDbUdf - Implement ClearAndInitialize for improved performance by @potatoqualitee in #9946
  • Get-DbaRegServer - Add -Pattern parameter for regex filtering by @potatoqualitee in #9947
  • Copy-DbaServerRole - Add command to copy custom server roles by @potatoqualitee in #9945
  • Write-DbaDbTableData - Auto-create schema when using AutoCreateTable by @potatoqualitee in #9951
  • Remove-DbaAvailabilityGroup - Improve AG removal for cluster type and version by @potatoqualitee in #9952
  • ConvertTo-DbaXESession - Add SqlCredential parameter for cross-domain support by @potatoqualitee in #9953
  • Copy-DbaExtendedStoredProcedure - Add command to copy custom Extended Stored Procedures by @potatoqualitee in #9960
  • Fix test for Find-DbaOrphanedFile: Support remote instances by @andreasjordan in #9965
  • Fix test for Export-DbaRegServer: Use correct directory in test by @andreasjordan in #9964
  • Fix tests related to PfDataCollectorSet: Add ComputerName parameter to support remote instance by @andreasjordan in #9963
  • Copy-DbaDbMail - Fix Database Mail XPs enabling and add status messaging by @potatoqualitee in #9957
  • Copy-DbaAgentJob - Add UseLastModified parameter for intelligent date-based synchronization by @potatoqualitee in #9956
  • Invoke-DbaDbLogShipping - Add Azure blob storage support by @potatoqualitee in #9954
  • Fixing a few typos by @mdaniou in #9966
  • Standardize T-SQL formatting by @potatoqualitee in #9969
  • Security updates for SQL 2022, 2019, 2017, 2016 - November 11, 2025 by @MikeyBronowski in #9972
  • Add-DbaDbFile - Create new command to add files to database filegroups by @potatoqualitee in #9971
  • Install-DbaInstance - Add ASAdminAccount parameter for Analysis Services administrators by @potatoqualitee in #9973

New Contributors

Full Changelog: v2.7.6...v2.7.7

Don't miss a new dbatools release

NewReleases is sending notifications on new releases.