Pelo que entendi, você os exclui no plano de manutenção usando Tarefa de limpeza de manutenção especial ou via "Execute T-SQL Statement Task"? Embora isso não deva importar.
Ao olhar para a sua instrução SQL, acho que poderia ser a extensão do arquivo: deveria ser sem ponto, apenas extensão por conta própria.
Eu duvido que seja um problema de permissão, já que você pode criar backups em primeiro lugar. Mas verifique se SQLServerMSSQLUser$...
group tem acesso total - é assim que eu tenho em todos os locais de "backup" (essas permissões devem ser configuradas automaticamente se você definir essa pasta como destino de backup padrão durante a configuração inicial).
AFAIK xp_delete_file
não está documentado e não encontrei referências no SQL Books para ele. Aparentemente, o SQL Server verifica qual arquivo é antes de excluí-lo - ele funciona apenas com arquivos próprios (para evitar uso / segurança incorretos, eu acho). Aqui estão o formato e os parâmetros:
EXECUTE master.sys.xp_delete_file
0, -- FileTypeSelected (0 = FileBackup, 1 = FileReport)
N'D:\SQLbackups\', -- folder path (trailing slash)
N'bak', -- file extension which needs to be deleted (no dot)
N'2011-06-15T15:10:04', -- date prior which to delete
1 -- subfolder flag (1 = include files in first subfolder level, 0 = not)
Ao olhar para o seu exemplo de instrução SQL, vejo algumas diferenças:
- No primeiro parâmetro, você tem 0 (backups de arquivo), mas tenta excluir o arquivo de texto
- A extensão de arquivo deve excluir o ponto
- Você deve fornecer a data de expiração (arquivos mais antigos que serão excluídos)
Link: link