SQLServer 快速备份的十种方法

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、运行差异备份
  这一选项可你使你只在上次完全备份的基础上做部分备份。差异备份只包括上次完全备份之后发生变化的部分。完全备份每周运行一次就可以,差异备份运行就更频繁了。差异备份的速度比较快但运行完全备份时还是要花很长时间。根据变化部分的不同,有时差异备份可能会和完全备份的大小一样。
  总结
  正如你所见的,有这么多种办法进行快速备份。我始终认为你应该先备份到硬盘然后再拷贝到磁带以便归档。根据这一方法,引入第三方备份压缩软件是最简单的方法但成本颇高。根据你自身的情况,再决定使用哪种方法最适合你。

(0)

相关推荐

  • SQLServer 快速备份的十种方法

    SQL Server备份是一项系统工程,十分耗费时间.由于运行期间数据库持续增长,所以相应的备份也要花掉更多时间.通常100G的数据库就被视为非常大的数据库了,如今100G已经是非常普遍的,现在许多数据库已经达到TB级别了.在本文中我们将分十种方法来讨论如何进行SQL Server的快速备份. 1.硬盘来备份 磁带来存档 备份到硬盘比备份到磁带要快得多,大多数经验丰富的DBA都偏向于此法.除追求高速I/O率之外,你手边还需要有最新的备份以便做数据恢复.当做完硬盘备份后,你需要把数据存档到磁带上以

  • MySQL数据库误操作后快速回滚的方法

    基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了.假如这还是线上环境核心业务数据,那这事就闹大了.误操作后,能快速回滚数据是非常重要的. binlog2sql快速回滚 首先,确认你的MySQL server开启了binlog,设置了以下参数: [mysqld] server-id = 1 log_bin = /var/log/mysql/mysql-bin.log max_binlog_siz

  • Mysql误操作后利用binlog2sql快速回滚的方法详解

    前言 在日常工作或者学习中,操作数据库时候难免会因为"大意"而误操作,需要快速恢复的话通过备份来恢复是不太可能的,下面这篇文章主要给大家介绍关于Mysql误操作后利用binlog2sql快速回滚的方法,话不多说,来一起看看详细的介绍: 一.总体解释: DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL(data definition la

  • mysql 数据库备份和还原方法集锦 推荐

    作/译者:叶金荣(Email: ),来源:http://imysql.cn/,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. 日期:2006/10/01 本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22. 目前 MySQL 支持的免费备份工具有:mysqldump.mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INT

  • SqlServer事务语法及使用方法详解

    事务是关于原子性的.原子性的概念是指可以把一些事情当做一个不可分割的单元来看待.从数据库的角度看,它是指应全部执行或全部不执行的一条或多条语句的最小组合.为了理解事务的概念,需要能够定义非常明确的边界.事务要有非常明确的开始和结束点.SqlServer中的每一条select.insert.update.delete语句都是隐式事务的一部分.即使只发出一条语句,也会把这条语句当做一个事务-或执行语句的所有内容或什么都不执行.但是如果需要的不只是一条,而是多条语句呢?在这种情况下,就需要有一种方法来

  • Hadoop对文本文件的快速全局排序实现方法及分析

    一.背景 Hadoop中实现了用于全局排序的InputSampler类和TotalOrderPartitioner类,调用示例是org.apache.hadoop.examples.Sort. 但是当我们以Text文件作为输入时,结果并非按Text中的string列排序,而且输出结果是SequenceFile. 原因: 1) hadoop在处理Text文件时,key是行号LongWritable类型,InputSampler抽样的是key,TotalOrderPartitioner也是用key去

  • Oracle RMAN自动备份控制文件方法介绍

    RMAN(Recovery Manager)是一种用于备份(backup).还原(restore)和恢复(recover) 数据库的 Oracle 工具.RMAN只能用于ORACLE8或更高的版本中.它能够备份整个数据库或数据库部件,如表空间.数据文件.控制文件.归档文件以及Spfile参数文件.RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块.而且,通过RMAN提供的接口,第三方的备份与恢复软件如veritas将提供更

  • python实现备份目录的方法

    本文实例讲述了python实现备份目录的方法.分享给大家供大家参考.具体如下: 备份脚本1: #!/usr/bin/python # Filename: backup_ver1.py import os import time # 1. The files and directories to be backed up are specified in a list. source = ['/home/swaroop/byte', '/home/swaroop/bin'] # If you ar

  • SqlServer批量备份多个数据库且删除3天前的备份

    废话不多说了,直接给大家贴代码了,具体代码如下所示: /******************************************* * 批量备份数据库且删除3天前的备份 *******************************************/ DECLARE @backupfile VARCHAR(1024) DECLARE @backdesc VARCHAR(1024) DECLARE @filename VARCHAR(1024) DECLARE @path VA

  • CentOS 7下用yum快速安装MongoDB的方法教程

    前言 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.MongoDB是深受广大开源爱好者支持和研究的NoSQL数据库之一,它基于灵活的JSON文档方式,非常适合敏捷开发,其高可用功能强大,支持水平扩展等众多关键特性.一如其简约而不简单的MySQL一样,安装起来也非常方便,支持源码编译安装,rpm安装以及yum安装等众多方式.本文主要讲述在CentOS 7下用yum方式快速安装MongoDB的方法,下面来一起看看吧. 一.安装环境及配置

随机推荐