gpt4 book ai didi

sql-server - 将保留时间添加到每小时 SQL 作业?

转载 作者:搜寻专家 更新时间:2023-10-30 20:43:12 27 4
gpt4 key购买 nike

我每天早上 7 点到晚上 7 点之间每小时运行一次数据库备份,每个文件都有一个唯一的名称。有什么方法可以以某种方式增加 14 天的保留时间?

DECLARE @FileName AS VARCHAR(120)
DECLARE @Date AS CHAR(19)
SET @Date = CONVERT(CHAR(19), GETDATE(), 120)
SET @FileName = N'\\10.250.145.26\hfnfs\Trans\Hourly\South_RP' + @Date + '.bak'
BACKUP DATABASE [South_RP] TO DISK =@FileName

文件名示例 South_RP2012-06-26 11:00:00.bak

*编辑这是SQL sever 2008 R2

最佳答案

我不会使用 SQL Server 执行此操作。相反,我会设置一个计划任务来运行类似于以下内容的批处理文件:

cd /d "%~dp0"
forfiles -d-14 -m*.bak -c"cmd /c del @PATH\@FILE"

改编自this answer .按照我上面编写批处理文件的方式,您需要将它放在与 .bak 文件相同的目录中。 请先使用 echo 而不是 del 进行测试。

要使其正常工作,您需要从 Microsoft's FTP site 获取 forfiles.exe 实用程序并将其放在 C:\WINDOWS\system32 目录中。

如果您真的想从 SQL Server 启动这个命令,您可以使用 the xp_cmdshell procedure运行删除旧项目的批处理文件。

关于sql-server - 将保留时间添加到每小时 SQL 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11210353/

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