All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Get-DbaAgentJobHistory
adds an hour to theenddate
and duration #4345Find-DbaLoginInGroup
returns incorrect domain #3608Get-DbaLogin -WindowsLogins
doesn't include groups #5165
- More Azure support
Install-DbaMaintenanceSolution
does not run CommandExecute if the Solution is not "All"
- Azure support for
Connect-DbaInstance
- Registered server support for PowerShell Core
GetDbaDbFile
incorrectly accounts for pages when calculatingNextGrowthEventSize
#5147
Get-DbaServerRoleMember
now correctly callsGet-DbaLogin
Get-DbaUserPermission
does not drop STIG schema#5083Backup-DbaDbCertificate
doesn't properly filter on parameter-Certificate
#5106Copy-DbaAgentAlert
now verifies that the operator exists on the destination #4920
- Comparison error in
Test-DbaLastBackup
#5125
- Various issues with dynamic data masking #4910, #4970
Sync-DbaAvailabilityGroup
now passes login values toCopy-DbaLogin
#5119
Install-DbaMaintenanceSolution
now removes jobs when-SqlCredential
is used #5096Copy-DbaSsisCatalog
now properly resolves type names #4821- Can now set schedule start & end dates with
Set-DbaAgentSchedule
#4908
Invoke-DbaDbShrink
now properly excludes system databases when-AllUserDatabase
is specified #5108
- Azure SQL DB support for creating SQL Logins in
New-DbaLogin
#5100
New-DbaDbMailProfile
function to create new profile for database mail
Get-DbaAgentSchedule
returnsNULL
description #5090
- Multithreading for
Update-DbaInstance
- Handling of multiple databases in
Invoke-DbaDbUpgrade
#5047 - Visual Studio solution file reference error on import #5056
Copy-DbaLinkedServer
doesn't copy network name #4087
Restore-DbaBackup
quits prematurely when target database exists #4949
- Support for
markdownlint
VS Code extension
- EOL date for SQL Server 2014 SP2
- Authentication issue in New-DbaAgentJobCategory #5034
- Piping issue in Backup-DbaDatabase #5041
- ConvertTo-DbaDataTable no longer ignores -EnableException #5050
- Copy-DbaDatabase now passes -Force to Set-DbaDbState #5055
- Parallelism and exception handling fixes in Get-SqlInstanceComponent #4988
- Check that databases are accessible in Get-DbaDbRoleMember #5046
- Corrected math in Invoke-DbaDbShrink #5039
- Remove dependency on System.Data objects in Get-DbaDbccMemoryStatus #5031
- Support for pipeline input on Set-DbaAgentJobStep #4350
- Add missing server parameter in Set-DbaAgentJobStep #4715
- Properly support individual databases in Invoke-DbaDbClone #5015
- Properly support pipeline data for Remove-DbaAgReplica #5013
- Add-DbaAgReplica now adds replicas #4847
- Type switch for Backup-DbaDatabase to get the correct backup from backup history
- Reuse server connection for Get-DbaDefaultPath within Backup-DbaDatabase
- Remove LSN check from Backup-DbaDatabase
- Import-DbaCsv does not accept multiple flags like -KeepNulls and -TableLock #4998
- Build reference for SQL Server 2016 SP2 CU5
- Pass credentials through to Get-DbaRegistryRoot from Get-DbaProductKey
- Output mismatch in Format-DbaBackupInformation
- Figure out new name before performing checks in Copy-DbaDbMail
- Correct names of jobs and schedules in Invoke-DbaDbLogShipping #4972
- Correct path for output files for Install-DbaMaintenanceSolution #4950
- Message formatting in Copy-DbaDbMail
- Support hostnames ending with hyphen #4090
- Additional LSN comparison fix in Select-DbaBackupInformation #4940
- ApplicationIntent handling in Connect-DbaInstance and Invoke-DbaQuery
- [Import-DbaXESessionTemplate] Name cannot be specified with multiple files or templates because the Session will already exist. #4923
- Correct type conversions for LSN comparison in Select-DbaBackupInformation
- Add money & text types to data masking
- Typo in DefaultDB parameter for Set-DbaLogin & New-DbaLogin
- Verify that cumulative updates passed to Test-DbaBuild are a list
- Set-DbaAgentJob: Changing EventLogLevel to 0/Never will not be applied #4927
- Set default database with Set-DbaLogin
- Latest versions of Glenn Berry's diagnostic queries
- Only update fullname in Resolve-DbaNetworkName when running from a remote PC
- Implement -whatif for Install-DbaMaintenanceSolution #4901
- Proper messaging when running Get-DbaPowerPlan on a local instance without an elevated session #4777
- ReadOnly option for Invoke-DbaQuery #3451
- Officially remove Invoke-SqlCmd2 (use Invoke-DbaQuery instead)
- Various unit tests [#4695]
- Documentation update for Get-DbaDbIdentity
- Latest versions of Glenn Berry's diagnostic queries
- Documentation update for Get-DbaDbIdentity
- Latest versions of Glenn Berry's diagnostic queries
- Logic in Resolve-DbaNetworkName
- Revised output object construction in Resolve-DbaNetworkName
- Revised exception handling in Get-DbaDependency
- New options for Import-DbaCsv
- Support for -whatif and -confirm to Publish-DbaDacPackage #4824
- Excessive error messages & conflicting parameters in Restore-DbaDatabase
- Warning with no output in Get-DbaBuildReference #4794
- Invalid type conversion in Get-DbaDependency #4768
- Logic in Resolve-DbaNetworkName
- PSCore enhancements in Test-DbaConnection
- Verify backup for log & diff backups in Restore-DbaDatabase #4861
- Support packages to CI build process
- Test-Connection in Reset-DbaAdmin, Resolve-DbaNetworkName, internal functions
- Elapsed transaction control in Invoke-DbaDbDataMasking
- Elapsed time tracking in Invoke-DbaDbDataMasking
- SQL output for striped restores in Get-DbaBackupInformation
- Enhancements to data masking
- Enhancements to Update-DbaInstance
- Failsafe value in Invoke-DbaDbDataMasking
- Deterministic data masking in Invoke-DbaDbDataMasking & New-DbaDbMaskingConfig
- Random creation of values in Invoke-DbaDbDataMasking
- Dynamic database list to Invoke-DbaDbDataMasking
- Add Geometry to check of unsupported data types for Invoke-DbaDbDataMasking
- Enhanced outputs of Invoke-DbaDbDataMasking
- Save-DbaDiagnosticQuery to work with lightly malformed links
- Piping to Get-DbaDbSpace
- Logic to make UseLastBackup in Start-DbaMigration to be easier
- Added a progress bar and made the output more reasonable
- Added more flexibility to masking commands
- Updated SQL Build info
- LogShipping in v2012
- Added check for ps v2 for those that bypass psd1
- Pipeline support for Get-DbaDbSpace
- xplat support notification to Find-DbaCommand / docs.dbatools.io
- More integration tests
- New commands: Invoke-DbaDbDataMasking and New-DbaDbMaskingConfig
- Get-DbaBackupHistory - fully honors need to exclude system dbs
- Fixed docs/typos in various commands
- Renamed DbaOrphanUser series
- More integration tests!
- Docs update
- Schema output to Copy-DbaDbTableData
- Variable bug fix in Invoke-DbaLogShipping
- Multi-threading to Update-DbaInstance
- System db export capabilities to Export-DbaDacPackage
- Ag replica now works when run outside of New-DbaAvailabilityGroup
- Start-DbaMigration xplat support
- Invoke-DbaAgFailover try/catch wrap to make errors pretty.
- Renamed Set-DbaJobOwner to Set-DbaAgentJobOwner
- Failed logic in Remove-DbaOrphanUser
- Removed ability to specify both KeepDays and Database from Remove-DbaDbBackupRestoreHistory
- VSCode default settings
- Pipe support in Test-DbaDbOwner
- Sync AG bug having to do with read-only dbs
- Update-DbaInstance final touches
- Explicit export of cmdlet module members (fixes older OS/PS issues)
- Docker support for AGs
- Issue where the dll was repeatedly copied in Windows
- Command exports
- Faster import by using zip instead of big ol' ps1
- Core support for Copy-DbaDbDatatable, Write-DbaDataTable,
- Parameter names for Copy-DbaDbQueryStoreOption
- Core support for Import-DbaCsv
- For real true xplat including library and configs 🎉🎉🎉🎉🎉
- Added Update-DbaInstance 🎉🎉🎉🎉🎉
- ComputerName resolution for fqdn in Connect-*Instance
- Stop-Function -Continue bug in Set-DbaPrivilege
- Invoke-DbaDbccFreeCache
- Get-DbaDbccUserOption
- Added PolyBase support to Get-DbaService
- Backup recoveryfork bug
- Standardized output for Copy command notes
- New-DbaAgentJobStep issue with server / SubSystemServer
- Get-DbaDbccHelp
- Get-DbaDbccMemoryStatus
- Get-DbaDbccProcCache
- Removed mandatory=$false on parameters because it's implied
- Get-DbaAgentServer
- Set-DbaAgentServer
- Path parameter to audit copies
- Removed mandatory=$false on parameters because it's implied
- Extra include and exclude options to
Sync-DbaAvailabilityGroup
- Extra column parameters to
Import-DbaCsv
- Publish-DbaDacPackage param issues introduced by core fixes
- Resolve-DbaNetworkName resolution issue introduced by core fixes
- Some long-standing
Get-DbaBackupHistory -Force
problems were resolved
- Added VS Code recommendations
- Support for Core and Certs
- Solution file upgraded to Core combination and VS 2017
- Support for Core and Certs
- Solution file upgraded to Core combination and VS 2017
- Fixed non-Windows imports. "Fixed" used loosely - disabled configuration to speed up import. Xplat still not fully delivered.
- Seeding support to Add-DbaAgDatabase
- More integration tests!
- Category and Database filters to Get-DbaAgentJob
- CROSS PLATFORM SUPPORT INCLUDING MACOS AND LINUX 🎉
- $script:core for easy core detection in functions
- Resolve-Path added to core import routine
- Support for Dacfx for core 🎉
- Weird thing in Core where a string comparison didn't work so it tried to copy dbatools.dll onto itself
- Get-DbaDbFile now works for CS collation
- Support for PS Core on Windows 🎉
- SMO core DLLs from the SqlServer module
- AG versioning bugs
- This changelog.md! 🎉
- Extra DLLs that did not seem necessary
- Updated Glen Berry's scripts
- Added for new features.
- Changed for changes in existing functionality.
- Deprecated for soon-to-be removed features.
- Removed for now removed features.
- Fixed for any bug fixes.
- Security in case of vulnerabilities.
- Changelogs are for humans, not machines.
- There should be an entry for every single version.
- The same types of changes should be grouped.
- Versions and sections should be linkable.
- The latest version comes first.
- The release date of each version is displayed.
- Mention whether you follow Semantic Versioning.