У меня была такая же проблема, и я тоже пытался ее решить.Я думаю, что попробовал каждую комбинацию, но она не сработала.Обратите внимание, что файл xp_delete_file недокументирован и, очевидно, очень глючит.
Но я помог вам и поменяю шаг на шаг PowerShell.
Вы можете использовать следующее для удаления файлов, которыестарше 30 дней
get-childitem c: \ sqlbackup -recurse |где {$ .lastwritetime -lt (get-date) .adddays (-30) -and -not $ .psiscontainer} |% {remove-item $ _. полное имя -force -whatif}
Обратите внимание на добавленный -whatif, чтобы вы могли проверить.
Но в моем случае этого было недостаточно.При использовании подхода PowerShell возникла проблема с правами.У учетной записи, на которой запущен агент SQL, не было прав на удаление файлов.При правильной установке прав все работало как брелок.
Удачи