欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQLServer 快速备份的十种方法

程序员文章站 2023-11-16 22:54:52
sql server备份是一项系统工程,十分耗费时间。由于运行期间数据库持续增长,所以相应的备份也要花掉更多时间。通常100g的数据库就被视为非常大的数据库了,如今100g...
sql server备份是一项系统工程,十分耗费时间。由于运行期间数据库持续增长,所以相应的备份也要花掉更多时间。通常100g的数据库就被视为非常大的数据库了,如今100g已经是非常普遍的,现在许多数据库已经达到tb级别了。在本文中我们将分十种方法来讨论如何进行sql server的快速备份。
  1、硬盘来备份 磁带来存档
  备份到硬盘比备份到磁带要快得多,大多数经验丰富的dba都偏向于此法。除追求高速i/o率之外,你手边还需要有最新的备份以便做数据恢复。当做完硬盘备份后,你需要把数据存档到磁带上以便长期保存。
  2、利用业余时间进行备份
  要做备份时最好利用业余时间,因为数据库服务器上的操作最少,对性能影响也就越小。但是请记住,有些时候业余时间运行批量工作可能会比平时运行的工作对系统造成的压力还要大。因此监测服务器状况十分重要,要谨慎制定完全备份的时间段。
  3、使用压缩软件
  sql server备份的最好方法就是硬盘备份然后磁带归档。这样的缺点是备份文件通常和数据文件大小相当。也是因为如此,如果你有一个100g的数据库,你就需要100g的硬盘空间来进行备份。不幸的是,sql server不带内嵌的压缩工具。你可以使用压缩产品,但这会耗掉更多时间。所幸市场上有三种压缩工具,idera, quest software inc.和red gate software ltd.的产品都可以帮你在百忙之中创建压缩备份。使用压缩软件会增加备份成本,但你的得到的好处远远大于这点成本。
  4、写入多文件
  另一种方法就是将备份写入多文件,这样你就可以使用多线程进行备份了。磁带厂商和上面提到的三个公司都提供这一服务。多任务能力可以进行更快的备份,它不会对备份文件进行压缩,但能大大减少所用时间。
  5、写入多物理磁盘驱动器
  进行完全备份对i/o设备的操作十分频繁。每一个数据库文件都要被读取然后写入另一个文件。使用多物理硬盘,你可以达到高i/o率并更快完成备份。除写入多文件方法之外,你还可以写入多物理硬盘来处理i/o性能瓶颈。
        6、运行文件或文件组备份
  sql server提供另外一种备份选项——文件或文件组备份。这个方法是由数据库初始设置决定的。如果当初设置数据库时你创建了多文件或多文件组,你就可以只备份部分数据库而不用备份整个数据库了。这种方法可能会增加工作复杂度和安全风险,所以在使用此法进行备份前一定要制定好计划。
  7、创建快照
  快照是sql server提供的另一种备份方法。顾名思义,就是在数据库运行的某个时间点创建快照。第三方软硬件可以提供这样的工具但成本很高。使用快照的优势是你能随时进行备份。
  8、本地硬盘备份vs.网络备份
  进行网络备份会对网络i/o设备造成一定压力。像硬盘i/o设备一样,利用网络进行大量数据传输同样会产生一些问题。考虑网络备份时,创建备份所使用的时间根据不同情况也会大有不同。最好的办法是备份到连接本地服务器的硬盘。备份完成后再拷贝到磁带以便归档。
  9、使用连续数据保护(cdp)
  一个新的数据备份方法就是连续数据保护(cdp)。这个方法可以备份发生的事务,你可以在另一台服务器上重建.mdf和.ldf文件以便进行容错,报告等任何你需要的服务。这避免了在主服务器上做完全备份的情况。timespring software公司就提供此项服务。
  10、运行差异备份
  这一选项可你使你只在上次完全备份的基础上做部分备份。差异备份只包括上次完全备份之后发生变化的部分。完全备份每周运行一次就可以,差异备份运行就更频繁了。差异备份的速度比较快但运行完全备份时还是要花很长时间。根据变化部分的不同,有时差异备份可能会和完全备份的大小一样。
  总结
  正如你所见的,有这么多种办法进行快速备份。我始终认为你应该先备份到硬盘然后再拷贝到磁带以便归档。根据这一方法,引入第三方备份压缩软件是最简单的方法但成本颇高。根据你自身的情况,再决定使用哪种方法最适合你。