【问题标题】:Managing SQL Backup Sets管理 SQL 备份集
【发布时间】:2011-09-08 20:45:53
【问题描述】:

我想说我正在弥合 SQL Server 中的初学者和中级用户之间的差距。我已经通过谷歌搜索自学了,但我找不到与这个问题相关的任何合适的东西。

我有一个经过多次更改的数据库,每次更改都为我的备份文件添加了一个完整的备份集和一些大小。我认为这是一种负担,因为我很确定我不需要旧的备份集,但想保留它们以防万一。

谁能指点我保存 SQL 备份的好教程或最佳实践,或者只是提供一些好的建议?

【问题讨论】:

    标签: sql-server database-backups


    【解决方案1】:

    当您的应用正在使用并且数据库中有真实数据时,您需要进行“真实”备份,正如 dougajmcdonald 在his answer 中所解释的那样。

    但是,只要您的项目仍处于开发阶段,您就会进行备份,主要是因为您想跟踪诸如表定义更改之类的事情,对吗?

    如果是,如何将您的更改作为 T-SQL 脚本存储在源代码控制中,以及访问数据库的实际代码?

    有一些工具可以为现有数据库生成 CREATE TABLE 脚​​本和类似的东西。
    以下是相关 SO 问题的一些链接:

    (如果想了解更多信息,请搜索“sql server source control”)

    还有像FluentMigrator这样的开源项目,可以帮助您跟踪源代码中的数据库更改(本例中为.net,但其他语言也有类似的工具)。
    Here is a tutorial来自原作者Fluent Migrator,解释什么是 Fluent Migrator,为什么需要它以及它是如何工作的。

    【讨论】:

      【解决方案2】:

      通常您会根据需要每个(小时/天/周)进行一次备份,并让这些备份覆盖之前的每个备份。

      然后,您可以将这些单独的文件归档到磁带、异地、另一台服务器等,并根据业务/法律需要选择要保留的数量。

      因此,在回答您的问题时,要将备份设置为合理的大小,请将其设置为覆盖文件中的现有备份,然后以您认为合适的任何时间间隔将文件归档到单独的位置。

      【讨论】:

      • 如果我仍在开发中并且没有任何真实数据,这是否仍然适用?例如,我将通过输入虚假数据然后每周恢复服务器次数来测试我的应用程序。
      • 如果您正在开发中,我仍然会使用类似的方法,但不会那么频繁。我倾向于确保对数据库的更改是脚本化的,因此无论如何它们都可以撤消/回滚,然后这些脚本也可以进行源代码控制
      猜你喜欢
      • 2011-02-24
      • 2021-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      • 2021-04-01
      • 1970-01-01
      相关资源
      最近更新 更多