首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以使用相同的文件路径进行重复备份?

是否可以使用相同的文件路径进行重复备份?
EN

Database Administration用户
提问于 2017-09-28 22:53:49
回答 1查看 147关注 0票数 2

我需要设置一个备份计划来覆盖一个开发/生产前服务器,直到真正的DBA出现为止。我的计划是运行基本运行以下语句的3T-SQL作业

  • 夜间:用校验和将数据库MyDB备份到磁盘= 'F:\MSSQLSERVER\BU\MyDB.bak‘;
  • 每小时:将数据库MyDB备份到磁盘=“F:\MSSQLSERVER\BU\MyDBDiff.bak”,并有差异;
  • 每5分钟将日志MyDB备份到磁盘=N‘l:\MSSQLSERVER\logsMyDB.trn’;

我担心覆盖最后一个差异备份/日志备份文件是错误的做法,因为我还无法确认新的日志/diff备份将覆盖从上一次完整db备份开始的整个期间。

根据备份文件涵盖的时间范围,有人能确认这是如何工作的吗?

我希望如果上午9点54分失败

  • MyDB.bak把我带到午夜
  • MyDBDiff.bak把我提升到9岁
  • MyDB.TRN可以把我带到上午9点到9点50之间的任何时间。

即使我每个工作只有一个文件。

我是疯了还是在正确的轨道上?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2017-09-29 00:43:07

正如注释中提到的,默认情况下,备份到现有文件名后,将向该文件追加最新的备份。对于完全和差异备份,至少,您不想这样做。

为了你的目的:

  • 一旦有了新的完全备份,就不需要以前的完全备份、差异备份或事务日志备份了。
  • 一旦有了新的差异备份,就不需要以前的差异备份或事务日志备份。每个差异备份包含自上次完全备份以来的所有更改。
  • 一旦有了新的事务日志备份,仍然需要以前的事务日志备份。事务日志备份记录自上一次事务日志获取以来的新日志条目。

请注意,为了最大程度的安全,您应该保留以前的完整备份和差异备份,直到新备份完成为止。如果您用新的备份覆盖了以前的完全备份,那么一旦Server开始编写完整备份,直到它完成为止,您就没有备份了。在完整备份的基础上,差异和事务日志备份是无用的。

如果您真的想冒这个风险:要写入同一个备份文件,覆盖其中的任何现有备份,请使用以下选项:

代码语言:javascript
运行
复制
WITH INIT, SKIP, FORMAT

我的建议:正如sp_BlitzErik在评论中所指出的,使用Ola Hallengren的免费维护脚本,因为它们将为您完成所有“繁重的工作”。

为了涵盖该选项,取决于所使用的Server版本,请记住,您可能可以选择设置Server维护计划来执行这些备份。其中包括一个任务,该任务将删除您指定的较旧文件,不管您指定的时间有多长。但是,我假设您没有提到这些,因为您要么没有权限使用它们,要么不想使用它们。

如果这两个选项都用完了,但是您可以编写一个脚本(用您选择的语言)来删除超过2天的文件,并且可以在磁盘上保存最多两天的备份文件:

  1. 按计划设置作业,有一个更改:将备份类型和当前日期和时间附加到文件名中。例如:备份数据库MyDB到磁盘= 'F:\MSSQLSERVER\BU\MyDB_FULL_‘+替换(转换(varchar(30),GETDATE(),120),'-',''),':','_') + '.bak’与校验和;这将在您选择的目录中创建一个名为F:\MSSQLSERVER\BU\MyDB_FULL_20170928_191216.bak的完整备份文件(如果今天7:12:16运行)。我将使用MyDB_DIFF_作为差异备份的前缀,使用MyDB_TRAN_作为事务日志的前缀。请注意,完整备份和差异备份应该具有扩展.bak,而事务日志备份应该具有扩展.trn
  2. 然后,在运行完全备份之前设置一个“清理”作业来运行。这将运行您的脚本,删除F:\MSSQLSERVER\BU\文件夹中48小时以上的任何文件。这应该确保您至少有一个完整备份,以及依赖它的差异备份和t日志备份,即使脚本是在中午而不是午夜意外运行的。通过在运行完全备份之前运行它,还可以确保为该完整备份提供最大可用空间。您总是可以选择使用“清理”脚本;因为这三种文件类型都以相同的前缀开头,所以您可以删除差异和事务日志备份超过3小时,并且仍然有很好的缓冲。

除非您已经有了一个可供您使用的删除脚本,否则我再次强烈建议您使用Ola Hallengren的剧本。请记住,与你自己能做的任何事情不同,它们已经被世界各地的许多人测试过了。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/187237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档