用于删除与特定命名约定匹配的旧备份的 SQL 脚本



我需要有一个 T-SQL 语句来删除目录中超过一天的文件,但前提是它们与特定的命名约定匹配。 此目录中有多 pul 备份文件,但只有一组我们需要保留一天。 我无法使用维护清理任务,因为它将清除所有 bak 文件,而不仅仅是我想要的文件。

使用 dbo.xp_delete 是否允许用户使用通配符 %?

您应该能够通过 SQL Server 维护计划执行此操作。 查看"维护清理任务"。 您可以使用各种条件(包括期限和文件名)清理文件。

此任务使用 EXEC xp_delete_file 语句。

这个功能似乎根本没有很好的文档。从您可以在此处的评论中阅读的内容中,您可以大致了解该功能:

http://sqlblog.com/blogs/andy_leonard/archive/2009/03/11/xp-delete-file.aspx

我建议您在sql服务器之外编写一个清理任务。这可以通过bat脚本或Powershell脚本轻松完成。您可以使用 Windows 任务执行这些脚本,或者对于 Powershell 脚本,甚至可以从 SQL Server 本身中执行这些脚本。

最新更新