commands

^

Find-DbaBackup

Author Chris Sommer (@cjsommer), www.cjsommer.com
Availability Windows, Linux, macOS

 

Synopsis

Finds SQL Server backups on disk.

Description

Provides all of the same functionality for finding SQL backups to remove from disk as a standard maintenance plan would.

As an addition you have the ability to check the Archive bit on files before deletion. This will allow you to ensure backups have been archived to your archive location before removal.

Syntax

Find-DbaBackup
    [-Path] <String>
    [-BackupFileExtension] <String>
    [-RetentionPeriod] <String>
    [-CheckArchiveBit]
    [-EnableException]
    [<CommonParameters>]

 

Examples

 

Example: 1
PS C:\> Find-DbaBackup -Path 'C:\MSSQL\SQL Backup\' -BackupFileExtension trn -RetentionPeriod 48h

Searches for all trn files in C:\MSSQL\SQL Backup\ and all subdirectories that are more than 48 hours old will be included.

Example: 2
PS C:\> Find-DbaBackup -Path 'C:\MSSQL\Backup\' -BackupFileExtension bak -RetentionPeriod 7d -CheckArchiveBit

Searches for all bak files in C:\MSSQL\Backup\ and all subdirectories that are more than 7 days old will be included, but only if the files have been backed up to another location as verified by
checking the Archive bit.

Example: 3
PS C:\> Find-DbaBackup -Path '\\SQL2014\Backup\' -BackupFileExtension bak -RetentionPeriod 24h | Remove-Item -Verbose

Searches for all bak files in \SQL2014\Backup\ and all subdirectories that are more than 24 hours old and deletes only those files with verbose message.

Required Parameters

-Path

Specifies the name of the base level folder to search for backup files.

Alias BackupFolder
Required True
Pipeline false
Default Value
-BackupFileExtension

Specifies the filename extension of the backup files you wish to find (typically 'bak', 'trn' or 'log'). Do not include the period.

Alias
Required True
Pipeline false
Default Value
-RetentionPeriod

Specifies the retention period for backup files. Correct format is ##U.

is the retention value and must be an integer value

U signifies the units where the valid units are: h = hours d = days w = weeks m = months Formatting Examples: '48h' = 48 hours '7d' = 7 days '4w' = 4 weeks '1m' = 1 month

Alias
Required True
Pipeline false
Default Value

Optional Parameters

-CheckArchiveBit

If this switch is enabled, the filesystem Archive bit is checked. If this bit is set (which translates to "it has not been backed up to another location yet"), the file won't be included.

Alias
Required False
Pipeline false
Default Value False
-EnableException

By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message. This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables advanced scripting. Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own try/catch.

Alias
Required False
Pipeline false
Default Value False

 

Want to see the source code for this command? Check out Find-DbaBackup on GitHub.
Want to see the Bill Of Health for this command? Check out Find-DbaBackup.