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
- Add-DbaDbFile - Create new command to add files to database filegroups
- Compare-DbaAgReplicaAgentJob - Compare Agent Jobs between Availability Group replicas
- Compare-DbaAgReplicaCredential - Compare Credentials between Availability Group replicas
- Compare-DbaAgReplicaLogin - Compare Logins between Availability Group replicas
- Compare-DbaAgReplicaOperator - Compare Operators between Availability Group replicas
- Compare-DbaAvailabilityGroup - Compare Availability Group configurations
- Copy-DbaExtendedStoredProcedure - Copy Extended Stored Procedures between SQL Server instances
- Copy-DbaServerRole - Copy Server Roles between SQL Server instances
- Get-DbaAgDatabaseReplicaState - Get the replica state of databases in Availability Groups
- Sync-DbaLoginPassword - Synchronize login passwords between SQL Server instances
Renamed Commands
- Invoke-DbaAzSqlDbTip → Invoke-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
- @SylvainDuran made their first contribution in #9852
- @Philippe-Eversa made their first contribution in #9856
- @peterkruis made their first contribution in #9890
- @mdaniou made their first contribution in #9966
Full Changelog: v2.7.6...v2.7.7