SQL Server 备份的备份类型探究

一、背景描述

我们知道数据数据库的恢复模型决定了可以执行哪些类型的备份。在本节中,我们将讨论每个备份选项以及如何使用 SSMS 和 T-SQL 执行这些备份。

在本文中我们讨论如下内容:

  • 完整备份
  • 差异备份
  • 文件备份
  • 文件组备份
  • 部分备份
  • 仅复制备份
  • 镜像备份
  • 事务日志备份

二、SQLSERVER备份类型

1、SQL Server 完整备份

最常见的 SQL Server 备份类型是完整备份,也称为数据库备份。这些备份会创建数据库的完整备份以及事务日志的一部分,因此可以恢复数据库。这是最简单的数据库恢复形式,因为所有内容都包含在一个备份中。

创建完整备份

可以使用 T-SQL 或使用 SSMS 完成完整备份。以下示例向您展示如何创建完整备份。

可以使用 T-SQL 或使用 SSMS 完成完整备份。以下示例向您展示如何创建完整备份。

创建完整的 SQL Server 数据库备份到一个磁盘文件

T-SQL

这将创建 AdventureWorks 数据库的完整备份并将备份内容写入文件“C:\AdventureWorks.BAK”。.BAK 扩展名通常用于标识备份是完整的数据库备份。

BACKUPDATABASEAdventureWorksTODISK='C:\AdventureWorks.BAK'
GO

SQL Server Management Studio

  • 右键单击数据库名称。
  • 选择任务 > 备份。
  • 选择“完整”作为备份类型。
  • 选择“磁盘”作为目标。
  • 单击“添加…”以添加备份文件并键入“C:\AdventureWorks.BAK”并单击“确定”。
  • 再次单击“确定”以创建备份。

2、SQL Server 事务日志备份

如果您的数据库设置为“完整”或“批量记录”恢复模式,那么您将能够进行“事务日志”备份。通过事务日志备份和完整备份,您可以进行时间点恢复,因此如果有人意外删除了数据库中的所有数据,您可以将数据库恢复到删除发生之前的时间点。唯一需要注意的是,如果您的数据库设置为“批量记录”恢复模式并做出批量操作,您将需要还原整个事务日志,因此您无法使用事务日志进行时间点还原包含批量记录操作的备份。

事务日志备份允许您备份事务日志。事务日志备份时,事务日志内的空间可以被其他进程重用。如果未进行事务日志备份并且数据库未使用简单恢复模式,则事务日志将继续增长。

可以使用 T-SQL 或使用 SSMS 完成事务日志备份。以下示例向您展示如何创建事务日志备份。

创建 SQL Server 事务日志备份到一个磁盘文件

T-SQL

这将创建 AdventureWorks 数据库的事务日志备份并将备份内容写入文件“C:\AdventureWorks.TRN”。.TRN 扩展名通常用于标识备份是事务日志备份。

BACKUPLOGAdventureWorksTODISK='C:\AdventureWorks.TRN'
GO

SQL Server Management Studio

  • 右键单击数据库名称。
  • 选择任务 > 备份。
  • 选择“事务日志”作为备份类型。
  • 选择“磁盘”作为目标。
  • 单击“添加…”以添加备份文件并键入“C:\AdventureWorks.TRN”并单击“确定”。
  • 再次单击“确定”以创建备份。

3、差异备份

“差异”备份是对自上次“完整”备份创建以来已更改的任何范围的备份。差异备份的工作方式是备份自上次完整备份以来发生更改的所有扩展区。一个extent由8个8KB的page组成,所以一个extent就是64KB的数据。每次更改任何数据时,都会打开一个标志,以让 SQL Server 知道如果创建了“差异”备份,则它应该包括来自此范围的数据。当进行“完整”备份时,这些标志将关闭。

因此,如果您先进行完整备份,然后再进行差异备份,则差异备份将仅包含已更改的扩展区。如果您等待一段时间并进行另一次差异备份,则此新的差异备份将包含自上次完整备份以来已更改的所有扩展区。每次创建新的差异备份时,它将包含自上次完整备份以来更改的每个扩展区。当你去恢复你的数据库时,要恢复到最新的时间你只需要恢复完整备份和最近的差异备份。所有其他差异备份都可以忽略。

如果您的数据库处于简单恢复模式,您仍然可以使用完整备份和差异备份。这不允许您进行时间点恢复,但如果您只有完整备份,它将允许您将数据恢复变更的当前的时间点。

如果您的数据库处于完整或批量日志恢复模式,您还可以使用差异备份来消除需要恢复的事务日志的数量。由于差异将备份自上次完整备份以来的所有扩展区,因此在还原时您可以还原完整备份、最近的差异备份,然后是在最近的差异备份之后创建的任何事务日志备份。这减少了需要恢复的文件数量。

将 SQL Server 差异备份创建到一个磁盘文件。

T-SQL

BACKUPDATABASEAdventureWorksTODISK='C:\AdventureWorks.DIF'WITHDIFFERENTIAL
GO

SQL Server Management Studio

  • 右键单击数据库名称。
  • 选择任务 > 备份。
  • 选择“差异”作为备份类型。
  • 选择“磁盘”作为目标。
  • 单击“添加…”以添加备份文件并键入“C:\AdventureWorks.DIF”并单击“确定”。
  • 再次单击“确定”以创建备份。

4、SQL Server 文件备份

备份数据库的另一个选项是使用“文件”备份。这使您可以独立备份每个文件,而不必备份整个数据库。这仅在您为数据库创建了多个数据文件时才相关。这种类型的备份的一个原因是如果您有一个非常大的文件并且需要单独备份它们。在大多数情况下,您可能只有一个数据文件,因此该选项不相关。

如上所述,您可以单独备份每个数据文件。如果您有一个非常大的数据库并且有很大的数据文件,则此选项可能是相关的。

可以使用 T-SQL 或使用 SSMS 完成文件备份。

创建 TestBackup 数据库的 SQL Server 文件备份

对于此示例,我创建了一个名为 TestBackup 的新数据库,其中包含两个数据文件和一个日志文件。这两个数据文件称为“TestBackup”和“TestBackup2”。下面的代码显示了如何分别备份每个文件。

T-SQL

BACKUPDATABASETestBackupFILE='TestBackup'
TODISK='C:\TestBackup_TestBackup.FIL'
GO
BACKUPDATABASETestBackupFILE='TestBackup2'
TODISK='C:\TestBackup_TestBackup2.FIL'
GO

SQL Server 管理工作室

  • 右键单击数据库名称。
  • 选择任务 > 备份。
  • 选择“完整”或“差异”作为备份类型。
  • 选择“文件和文件组”。
  • 选择适当的文件,然后单击“确定”。

  • 选择“磁盘”作为目标。
  • 单击“添加…”以添加备份文件并键入“C:\TestBackup_TestBackup.FIL”并单击“确定”。
  • 再次单击“确定”以创建备份并重复其他文件。

5、SQL Server 文件组备份

除了进行“文件”备份之外,您还可以进行“文件组”备份,它允许您备份特定文件组中的所有文件。默认情况下,每个数据库都有一个 PRIMARY 文件组,该文件组与创建的一个数据文件相关联。您可以选择创建其他文件组,然后将新数据文件放入任何文件组中。在大多数情况下,您可能只有 PRIMARY 文件组,因此这与主题无关。

如上所述,您可以单独备份每个文件组。使用文件组备份而不是文件备份的一个优点是您可以创建一个只读文件组,这意味着数据不会更改。因此,您可以只备份读写文件组,而不是一直备份整个数据库。

可以使用 T-SQL 或使用 SSMS 完成文件组备份。

创建 TestBackup 数据库的 SQL Server 文件组备份

对于此示例,我创建了一个名为 TestBackup 的新数据库,其中包含三个数据文件和一个日志文件。两个数据文件是 PRIMARY 文件组,一个文件位于 ReadOnly 文件组中。下面的代码显示了如何进行文件组备份。

T-SQL

BACKUPDATABASETestBackupFILEGROUP='ReadOnly'
TODISK='C:\TestBackup_ReadOnly.FLG'
GO

SQL Server 管理工作室

  • 右键单击数据库名称。
  • 选择任务 > 备份。
  • 选择“完整”或“差异”作为备份类型。
  • 选择“文件和文件组”。
  • 选择适当的文件组并单击“确定”。

  • 选择“磁盘”作为目标。
  • 单击“添加…”以添加备份文件并键入“C:\TestBackup_ReadOnly.FLG”并单击“确定”。
  • 再次单击“确定”以创建备份并为其他文件组重复。

6、SQL Server 部分备份

“部分”备份是 SQL Server 2005 引入的一个新选项。这允许您备份 PRIMARY 文件组、所有读写文件组和任何可选指定的文件。如果您在数据库中有只读文件组并且不想一直备份整个数据库,这是一个不错的选择。

可以为完整备份或差异备份发布部分备份。这不能用于事务日志备份。如果文件组从只读更改为读写,它将包含在下一个部分备份中,但如果您将文件组从读写更改为只读,则应创建文件组备份,因为此文件组不会包含在下一个部分备份中。

只有使用 T-SQL 才能完成部分备份。以下示例向您展示如何创建部分备份。

创建 TestBackup 数据库的 SQL Server 部分备份

对于此示例,我创建了一个名为 TestBackup 的新数据库,其中包含三个数据文件和一个日志文件。两个数据文件是 PRIMARY 文件组,一个文件位于 ReadOnly 文件组中。下面的代码显示了如何进行部分备份。

T-SQL

创建SQL Server完整部分备份

BACKUPDATABASETestBackupREAD_WRITE_FILEGROUPS
TODISK='C:\TestBackup_Partial.BAK'
GO

创建 SQL Server 差异部分备份

BACKUPDATABASETestBackupREAD_WRITE_FILEGROUPS
TODISK='C:\TestBackup_Partial.DIF'
WITHDIFFERENTIAL
GO

三、小结

本文讨论了SQLSERVER备份类型,对于理解和掌握SQLSERVER的备份技术,具有很重要的意义。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/230410.html<

(0)
管理的头像管理
上一篇2025-04-19 05:29
下一篇 2025-04-19 05:30

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注