SQL 2005 维护清理任务 .bak 文件未被删除
Posted
技术标签:
【中文标题】SQL 2005 维护清理任务 .bak 文件未被删除【英文标题】:SQL 2005 Maintenance Cleanup Task .bak files not being deleted 【发布时间】:2009-06-12 15:05:53 【问题描述】:我有一个运行备份以创建 .bak 文件的 SQL 2005 维护计划,并且在成功完成后应该运行维护清理任务以删除备份任务保存到的文件夹中的任何 .bak 文件超过 5 天。
正在创建我的备份,但没有删除我的旧文件。我在日志中看不到任何错误。我认为也许我有一个权限问题——运行作业的帐户需要访问要从中删除 .bak 文件的文件夹。这似乎是 .bak 文件未被删除的可能原因吗?
如何找出作业在哪个帐户下运行?我猜这将是 SQL 代理帐户。我认为这将是名为“SQLServer2005AgentUser”的帐户,所以我尝试让该帐户完全控制,但我的 .bak 文件仍未被删除。
我应该采取不同的方法来清理旧文件吗?还是我做错了什么或不理解?
【问题讨论】:
【参考方案1】:我遇到了同样的问题。我记得,问题在于我如何在清理任务设置中指定文件扩展名。
在维护清理任务中,检查您的“文件扩展名”设置。如果它设置为“.bak”,请将其更改为“bak”(显然没有引号,也没有点)。
这解决了我的问题。这让我发疯了!
【讨论】:
非常感谢。我曾有一个 '。'在那里。把它拿出来,一切都按预期工作。你让我开心! 很高兴它有帮助!大多数时候,当我解决问题时,我最终会学到一些有价值的东西。我在处理这个问题时没有这种经验——这可能是我觉得它如此令人沮丧的原因。【参考方案2】:在备份文件所在位置的路径中,确保在路径中的最后一个文件夹之后有一个反斜杠,例如。
E:\MSSQL\Backups\
在让我们疯狂多年后为我们工作......
【讨论】:
【参考方案3】:还有另一种可能会产生同样的问题(不删除旧的备份文件)。当使用旧版本 SSMS(9.00.1399 SQL Server 2005 RTM,2005 年 11 月 1 日)修改维护计划时,删除一级子文件夹的功能将被禁用。我知道大多数人不使用这个非常旧的版本 SSMS。在我看到的一个案例中,一位用户在他的 PC 上安装了这个 RTM SSMS 版本,这就是导致此问题的原因。我花了一段时间才意识到这个问题。
总而言之,不仅数据库需要打补丁,SSMS 也需要打补丁。确保任何人都不应使用 RTM SSMS 来修改维护计划。
【讨论】:
以上是关于SQL 2005 维护清理任务 .bak 文件未被删除的主要内容,如果未能解决你的问题,请参考以下文章
SQL2005自动备份,定期删除的维护计划及自动定期清除日志
sqlserver2005怎么执行260M的大脚本文件? 打开脚本总是报“未能完成操作,存储空间不足”
SQL SERVER 2005删除维护作业报错:The DELETE statement conflicted with the REFERENCE constraint "FK_subpl