我遇到了SQL维护计划清理任务的问题,不是每天晚上删除一个特别大的数据库备份,它工作几天然后失败,然后再次开始工作,它始终在小型数据库上正常工作。T-SQL数据库备份清理删除前要删除的文件的脚本日志记录
我研究了这个维护计划清理任务问题,并尝试了所有我能想到的工作,将扩展匹配更改为*,在文件夹路径末尾添加了\,更改了年龄没有NONE,因此所有文件都将被删除无论年龄大小,仍然有时候这个备份不会被删除。
所以我实现了这个SQL作业使用下面的脚本来看看是否能够正常工作,但同样的问题再次,间歇性的大的备份文件不会被删除,当我手动运行任务,它似乎永远删除。
我的问题是,有没有办法首先获得符合删除条件的文件列表,并在实际尝试删除文件之前将它们写入日志文件,这样我至少可以看到是否有一些原因是大型备份文件与首先要删除的条件不匹配。
任何帮助,否则使用T-SQL删除旧的备份文件,而不使用xp_cmdshell和不使用批处理或PowerShell脚本将不胜感激。
declare @dt datetime
select @dt=dateadd(hh,-22,getdate())
EXECUTE master.dbo.xp_delete_file 0,N'Z:\SQLBackups\',N'BAK',@dt,1
我在遇到问题的SQL Server版本:
微软SQL Server Management Studio中10.50.4042.0
微软的Analysis Services客户端工具10.50.4042.0
Microsoft数据Access Components(MDAC)6.1.7601.17514
Microsoft MSXML 3.0 6.0
Microsoft Internet Explorer中9.10.9200.17609
的Microsoft .NET Framework 2.0.50727.5485
操作系统6.1.7601