Delete Old SQL Server Backups
Part of any good backup plan is deleting the old backups you don’t need anymore. This PowerShell script will find all the full and tLog backups older than 31 days and delete them. Because this is meant to be run as a step in a SQL Agent job, PowerShell will default to a SQL Server context. Starting the script with CD C: will switch that to the file system. Without this line you may get an error that the path cannot be found.
CD C: $backupPath = "C:\Backup\full\User\" $tLogPath = "C:\Backup\tLog\" $limit = (Get-Date).Date.AddDays(-31) Get-ChildItem -Path $backupPath | Where-Object { $_.LastWriteTime -lt $limit } | Remove-Item -Force Get-ChildItem -Path $tLogPath | Where-Object { $_.LastWriteTime -lt $limit } | Remove-Item -Force