ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 优化SQL Server中的备份

优化SQL Server中的备份

原创 Linux操作系统 作者:iSQlServer 时间:2009-01-19 21:53:17 0 删除 编辑

Microsoft SQL Server 提供了以下两种加速备份和还原操作的方式:

使用多个备份设备使得可以将备份并行写入所有设备。备份设备的速度是备份吞吐量的一个潜在瓶颈。使用多个设备可以按使用的设备数成比例提高吞吐量。同样,可以将备份并行从多个设备还原。有关详细信息,请参阅本主题后面的“使用多个媒体或设备”。

结合使用完整备份、差异备份(对于完整恢复模式或大容量日志恢复模式)以及事务日志备份可以最大程度地缩短恢复时间。创建差异数据库备份通常比创建完整数据库备份快,并减少了恢复数据库所需的事务日志量。有关详细信息,请参阅创建 SQL Server 数据库的完整备份和差异备份。

 使用多个媒体或设备
通过读取器/写入器线程将数据和事务日志从备份设备复制到数据库和事务日志文件;给每个备份设备指派一个线程。性能受备份设备传送数据的能力或数据库和事务日志文件接收数据的能力的限制。因此,性能随备份设备数量的增加而提升,直到达到数据库或事务日志文件接收数据的最大吞吐量。

使用多个备份设备进行备份和还原操作,SQL Server 可以使用并行 I/O 来提高备份和还原操作的速度,因为每个备份设备都可以与其他备份设备同时执行写操作或读操作。对于具有大型数据库的企业,使用多个备份设备可以明显减少执行备份和还原操作所花的时间。SQL Server 最多支持 64 个备份设备同时执行一个备份操作。

当一个备份写入多个备份设备时,会出现几个内部同步点。最重要的同步点在已备份完数据库内的所有数据且即将开始备份事务日志时出现。

重要提示:
使用多个备份设备执行备份操作时,所用的备份媒体只能用于 SQL Server 备份操作。有关详细信息,请参阅使用备份媒体。
 


使用多个备份设备创建和还原备份与使用单个设备创建和还原备份相同。唯一的区别是使用多个备份设备时,必须指定操作中用到的所有备份设备,而不是仅指定一个。例如,如果使用三个磁带备份设备(如 \\.\TAPE0\\.\TAPE1\\.\TAPE2)创建数据库备份,则必须将每个磁带设备指定为备份操作的一部分,尽管以后还原和备份时很少会用到这些磁带备份设备。

使用可移动媒体在多个备份设备上创建备份时,这些设备可以以不同的速度运行,媒体卷的可用空间也可以有所不同。在备份操作过程中,如果备份设备上媒体卷的空间已用完,此操作将停止对该设备执行写操作并提示您更换新的媒体卷。该设备将处于阻塞状态,直到您使用空卷替换空间已满的媒体卷。与此同时,备份操作继续向其媒体仍具有可用空间的设备写入数据。替换空间已满的媒体卷后,该设备将变为可用,备份继续向该设备写入数据。但是,请注意,如果在任何设备阻塞时出现内部同步点,整个备份操作将暂停,直到该设备再次可用。

示例
请考虑使用三个相同速度的磁带备份设备存储完整数据库备份的方案。前两个磁带有 10 GB 的可用空间,而第三个磁带只有 5 GB 的可用空间。如果将 20 GB 的数据库同时备份到这三个磁带备份设备上,第三个磁带将在备份完成之前填满。5 GB 的数据写入第三个磁带后,备份操作将立即停止对第三个设备执行写操作。备份操作将阻塞该设备,并提示您更换新的磁带。与此同时,备份操作继续向另两个设备写入数据。但是,在更换第三个磁带之前,会出现内部同步点。此时,整个备份操作将暂停,直到第三个设备中装入了新磁带。

 优化完整备份和差异备份的性能
创建完整备份或差异备份包含以下步骤:

将数据库文件中的数据复制到备份设备。

复制事务日志中用于将数据库前滚到与相同的备份设备状态一致的那部分。

创建差异备份与创建完整备份相同,不过创建差异备份仅复制更改的数据。备份数据库文件只需把文件中的数据复制到备份设备。

用于存储数据库的数据库文件按磁盘设备排序,并给每个设备指派读取器线程。该读取器线程从数据库文件中读取数据。给每个备份设备指派写入器线程。写入器线程将数据写入备份设备。通过在更多的逻辑驱动器中分布数据库文件可以增加并行读取操作。同样,通过使用更多的备份设备可以增加并行写操作。

一般情况下,瓶颈要么是数据库文件,要么是备份设备。如果读取吞吐总量比备份设备吞吐总量大,则瓶颈在备份设备这一侧。添加更多的备份设备(如果必要还添加 SCSI 控制器)可以提高性能。但是,如果备份吞吐总量比读取吞吐总量大,则应通过添加更多数据库文件或设备(或通过添加更多磁盘到 RAID 设备)以增加读取吞吐量。

 优化事务日志备份性能
创建事务日志备份只需将日志中尚未备份的部分复制到备份设备。虽然可能有多个事务日志文件,但事务日志在逻辑上是某个线程按顺序读取的一个流。

给每个备份设备指派写入器线程。通过添加更多的备份设备可以获得更高的性能。

瓶颈既可能是包含事务日志文件的磁盘设备也可能是备份设备,这取决于它们的相对速度和所使用备份设备的数量。添加更多备份设备可以使性能呈线性增长,直到达到包含事务日志文件的磁盘设备的最大容量,此后只有提高包含事务日志的磁盘设备的速度(例如,使用磁盘条带化),才能得到更多的性能收益。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-541462/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2101638