背景:数据库完整备份占用很大的空间

网友问题:SQL数据库比较大了,备份占据很大的硬盘空间,可以通过存储优化变小一点吗?

随着业务增长,数据库不断增大,完整备份sqlserver数据库需要的时间会延长,并且需要占用很大的存储空间。为了节省备份时间以及存储空间可以配合数据库差异备份和增量备份来完成数据库的备份任务。

数据库差异备份和增量备份

数据库备份的三种方式

数据库备份可以通过三种常见方式完成:完整备份、增量备份差异备份。为了更大限度地减少停机时间,组织应该将至少两种方法很好地结合起来。让我们看看数据库差异备份与增量备份的区别以及背后的基本思想,并尝试理解为什么要结合使用它们作为数据库备份方案。

  • 数据库完整备份
    完整备份(顾名思义)是一种将所有数据(包括用户数据、系统文件和配置文件)从一个位置复制到另一个位置的方法。由于它会复制所有内容,因此这是一个耗时的过程。但是,这种类型的备份在还原备份的时候花费时间更少。
    这种备份方法针对大型数据中心通常只要定期进行,但是,如果数据库很小,则可以每天甚至更频繁地进行这种类型的备份。 
     尽管完整备份需要更长的时间,但此方法可确保所有数据都位于一个特定时间戳位置,因此,恢复的时间更快。如果备份已按合理的时间间隔定期安排(特别是如果这是组织中经常采用的方法),则可能会在这个时间间隔内丢失一些及时数据,但可以恢复使用大量数据操作。
  • 数据库增量备份
    增量备份是指自上次正常备份以来以迭代方式复制更新或新创建的文件。这种类型的备份比较自上次增量备份以来的状态变化。它会将近期的更改存储在较小的块中。 
    增量备份可以在更短的时间内完成,数据量更小,因此这种备份方法速度更快,需要的空间更少。如果整个数据集丢失,则需要上一次完整备份以及之后的全部增量备份来进行数据库恢复。
  • 数据库差异备份
    差异备份这种备份方法存储自上次完整备份以来的更新,与增量备份非常相似。差异备份存储的是近一次完整备份与日常事务变化相比的变化累积副本。一旦差异备份达到一定大小,就会触发完整备份。
    在还原差异备份之前,必须先还原其基准即完整备份。 因此,从差异备份进行还原必然要比从完整备份进行还原需要更多的步骤和时间,因为这需要两个备份文件。
增量备份和差异备份

如何创建数据库差异备份和增量备份任务?

数据库可以将数据库的内容备份为一个.Bak文件。后续可以通过该备份文件在本机或者拷贝到其他服务器上进行数据库还原。

下面将介绍sqlserver数据库差异备份和增量备份的创建方法。具体操作可以通过SQL Server Management Studio操作界面进行备份和还原操作。也可以在命令提示符中使用T-SQL指令备份。

❈ SQL Server Management Studio创建数据库备份任务

1. 打开SQL Server Management Studio界面管理工具,连接到数据库。

连接到数据库

2. 右键点击需要备份的数据库,选择“任务”,然后点击“备份”

备份

3. 在弹出的向导中,您可以配置数据库、备份类型和目标。注意,若要设置数据库差异备份等,在“备份类型”部分选择完整备份或差异备份。

备份类型

4. 数据库备份任务设置完成后点击“确定”启动备份。

开始备份

❈ T-SQL Server脚本创建数据库备份任务

可以使用sqlcmd实用工具运行T-SQL脚本命令创建数据库差异备份和增量备份以及完整备份任务,其中脚本命令参考如下:

► 完整备份

BACKUP DATABASE aomeiWorks
TO DISK ‘d:\Backups\aomeiWorks_full.BAK’

► 差异备份

BACKUP DATABASE aomeiWorks
To Disk='d:\backup\aomeiWork_diff.bak'
With differential

► 增量备份

真正的增量数据备份只备份数据文件自上次增量数据备份以来发生变化的部分。SQL Server中没有增量备份,但是有一个类似于增量备份的事务备份。

BACKUP Log aomeiWorks
To Disk='d:\backup\aomeiWorks_log'

❈ 傲梅企业备份网络版创建服务器差异备份

傲梅企业备份网络版是一款集中备份和管理工具,可以在局域网内控制多台电脑并批量创建备份任务。支持各种备份功能,包括系统备份、文件备份、SQL数据库备份等。其SQL Server备份功能支持SQL 2005-2019。此工具也可以创建数据库完全备份和差异备份任务。

您可以到下载中心下载傲梅企业备份网络版,然后在集中管理设备中安装它。此外,还需要在数据库所在的设备中安装客户端。您可以手动安装客户端,也可以远程安装。

安装客户端

1. 控制和管理客户端:通过控制端远程连接需要备份数据库的电脑:点击“请求控制”,然后可以选择通过客户端电脑账户密码的方式或发送控制请求的方式。

请求控制

2. 建立远程连接后,切换到“首页”“任务”选项卡,点击“SQL Sever备份”

SQL Sever备份

3. 点击“添加计算机”,在弹出的窗口中勾选需要备份数据库的客户端计算机,点击“确定”

添加计算机

4. 然后在设置界面的“步骤2”中点击“+添加”选择需要备份的数据库,点击“确定”

选择数据库

5. 在数据库备份任务的“步骤3”中设置存储数据库备份的目标位置,可以是网络共享文件夹或NAS路径,点击“添加存储”,然后输入用户名密码等。

添加存储

6. 要设置数据库差异备份,还需要点击左下角的“定时任务”,然后切换到“备份策略”中选择一种备份方式,可以选择完全备份和差异备份。

备份策略

7. 点击“开始备份”启动备份任务。此外,您还可以点击左下角的设置选项设置加密或压缩操作,点击定时任务设置自动备份等。

总结

本文分享了数据库差异备份和增量备份的含义和区别,以及创建SQL Server数据库备份任务的几种方法。您可以使用T-SQL命令创建sqlserver数据库增量备份或差异备份,也可以使用具有友好用户界面的管理工具创建数据库差异备份或完整备份。