sql - 按日期将文件从一个目录复制到另一个目录

标签 sql sql-server xp-cmdshell

我有这个 SQL 作业(在 SQL Server 2005 中)每六 (6) 小时创建一个备份,备份的文件名基于时间戳,因此它将创建一个唯一的文件名 (dbname_yyyymmddhhmmss.bak),现在我的问题是,如果文件是三天前的,我怎么知道使用 xp_cmdshell 并且根据我的脚本,我想删除三天前的备份 (.bak)。有人可以帮助我吗,在此先感谢。干杯!

最佳答案

我同意 xp_cmdshell 不是这项工作的最佳选择。如果您像我一样并且不喜欢/不信任维护计划,您可能可以编写一个 C# 控制台应用程序,其中文件系统支持比您在 DOS 中可以做的(或使用 T-SQL 解析输出)强大得多xp_cmdshell 'DIR ...'),然后将其安排在 Windows 计划任务中,这样您就不必担心 SQL Server 服务/代理帐户的权限升级。虽然将所有东西都放在一个包装中很好,但您并不总是希望更换机油的人为您制作乳蛋饼。

关于sql - 按日期将文件从一个目录复制到另一个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/511086/

相关文章:

sql - 如何通过 sql server 2008 中的 XP_CMDSHELL 通过网络访问文件/文件夹?

sql-server - 为管理员用户启用的 xp_cmdshell 访问被拒绝

mysql - SQL 查询未检索所有字段

sql-server - 在SSIS中显示foreach循环迭代次数

sql-server - SQL Server 执行 xp_cmdshell 通过 FTP 协议(protocol)从 UNIX 机器导入文本文件

asp.net - 在 Entity Framework 中使用单个数据库调用获取多个表

sql-server - 有关托管默认 SQL Server 实例的 Azure VM 数据库服务器的问题

sql - MS SQL Server,多次插入

mysql - 如何得到一列的总数

sql - 在 SQL 中查找多列中的 Null 值