gpt4 book ai didi

sql-server - 从文件夹中删除超过 90 天的文件的最简单方法是什么?

转载 作者:行者123 更新时间:2023-12-05 04:38:58 25 4
gpt4 key购买 nike

我有一个文件夹,每天都会在其中生成日志。

我想创建一个每天运行并删除超过 90 天(基于创建日期)的文件的 SSIS 包。我已经使用脚本任务 (C#) 制定了一个解决方案,想知道是否有更直接的方法(例如 - SSIS 任务)来实现此目的?

最佳答案

I have worked out a solution using the script task (C#) and wanted to know whether there is a more straightforward way (for example - an SSIS task) to achieve this?

有一个名为维护清理任务的 SSIS 任务,它删除指定服务器上的备份文件或维护计划报告。维护清理任务包括一个选项,用于删除特定文件或根据创建日期删除文件夹中的一组文件。

此任务是 SQL Server 代理维护计划任务,在 SSIS 中也可用。

enter image description here

维护清理任务使用 master.dbo.xp_delete_file 系统存储过程删除满足任务配置中指定条件的文件。

我应该使用维护清理任务吗?

不建议使用Maintenance Cleanup Task,因为此任务不是为执行一般文件清理任务而开发的。它用于执行特定的 SQL Server 代理操作,即使用户可以指定他们需要清理的文件扩展名。此外,清理任务仅支持一级子文件夹。

如何删除SSIS中的文件?

不幸的是,没有其他 SSIS 任务可以根据文件的创建或修改日期删除文件。 您应该像之前那样使用 Script Task 组件来实现您的逻辑。

此外,脚本任务(.NET framework)提供了许多维护清理任务所不具备的功能,例如遍历子文件夹、根据元数据中存储的其他日期删除文件(Last Modified Date), 删除多个文件扩展名,排除几个扩展名...

您可以在脚本任务中编写所有逻辑(遍历文件,删除它们)。或者您可以使用它来列出所有文件,并使用 Foreach 循环容器文件系统任务 来删除它们,如下例所示:SQL Server Integration Services package to delete files from a Network or Local path based on date .

关于sql-server - 从文件夹中删除超过 90 天的文件的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70494820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com