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、运行差异备份

  这一选项可你使你只在上次完全备份的基础上做部分备份。差异备份只包括上次完全备份之后发生变化的部分。完全备份每周运行一次就可以,差异备份运行就更频繁了。差异备份的速度比较快但运行完全备份时还是要花很长时间。根据变化部分的不同,有时差异备份可能会和完全备份的大小一样。

  总结

  正如你所见的,有这么多种办法进行快速备份。我始终认为你应该先备份到硬盘然后再拷贝到磁带以便归档。根据这一方法,引入第三方备份压缩软件是最简单的方法但成本颇高。根据你自身的情况,再决定使用哪种方法最适合你。

时间: 2024-10-23 20:48:31

SQLServer 快速备份的十种方法的相关文章

SQLServer 快速备份的十种方法_MsSql

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

Windows7下快速备份输入法的方法

我们在使用win 7系统中,有些朋友想备份输入法,可是不懂怎么备份,今天三聯網就要为大家介绍下载win7系统中如何备份输入法!希望对大家有所帮助. 1.在Windows 7操作系统桌面上,右击"计算机"图标,在弹出的快捷菜单中选择"打开"选领.执行相应操作后,即可打开"计算机"窗口.在"计算机"窗口的菜单栏中单击"工具"菜单,在弹出的菜单列表中单击"文件夹选项"命令. 2.执行操作后,即

NAS如何进行快速备份

如何对NAS进行快速备份已经成为NAS厂商和用户关注的一个问题,特别是IO瓶颈方面的问题.近来,Isilon公司简要介绍了一个新产品的补充,其中包括他们的备份加速器和操作系统OneFS的升级.他们所提供的把Isilon公司的产品线推到了存储主流,并且他们也继续专注解决存储IO瓶颈的问题,这个问题是越来越多的数据中心要面对的. 现在,NAS备份的实现方法一般是二选一,或者是跨成串文件系统备份,这种方法可能会碰到任何基于网络备份的所有问题,加上不得不通过NFS/CIFS协议连通:或者是通过NDMP直

SqlServer定时备份数据库和定时杀死数据库死锁解决

原文:SqlServer定时备份数据库和定时杀死数据库死锁解决 上周五组长更我说了一句要杀死数据库的死锁进程,因为自己对数据库不是很熟悉,突然组长说了我也就决定一定要倒腾一下,不然自己怎么提高呢?现在不研究,说不定下次还是要研究呢,倒腾出来了就可以在下次用到了,后来组长又补了一句:"还有定是备份数据库的问题要解决",说干就干. PS:Sqlserver 2008 R2,windows 8 64位 1.备份数据库  因为要备份,我们就要用到Sqlserver的代理,默认数据库的代理是不开

ASP.NET MVC 应用提速的十种方法

[编者按]本文作者为 DZone 社区的最具价值博主(MVB) Jonathan Danylko,主要介绍为 ASP.NET MVC 应用提速的十种方法.由国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 每个人都想快速掌握最新消息. 我是说,人们恨不得预知第二天的头条.没有人喜欢等待. 排队等待,遇到红灯要等待,开个网页要等待,等等等. 理所当然,没有人喜欢等待网页慢吞吞地加载,尤其是在移动端访问网站时.其实,Web 开发者敏感的神经决定了我们等待与否. 现在,快速响应不仅是来自

十种方法保持云中数据安全

问题描述 当云数据存储这个概念出现时,人们着实高兴了一回.云数据存储的出现,让人们在与恶意软件.键盘监听.PC监测软件等等的斗争中得以喘息.但是在人们把数字化的行李迁移到云中后,却忘记了确保数据安全所需的措施.与在Android系统中放到安全栅栏进行保护相比,云中数据保护没有那么难,但有时它也不会像在公园中散步那么简单.因此为了减少疑惑,帮助消除对新技术的恐惧,本文罗列了十种方法,让你在云中的生活乐不思蜀.1.密码优先如果我们讨论的是理想的情况的话,那么你的用户名和密码对于每一个服务或网站都应该

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

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

MySQL数据库备份与还原方法总结

备份策略一:直接拷贝数据库文件(不推荐) 备份策略二:使用mysqlhotcopy备份数据库(完全备份,适合小型数据库备份) 备份策略三:使用mysqldump备份数据库(完全+增量备份,适合中型数据库备份) 备份策略四:使用主从复制机制(replication)(实现数据库实时备份) 备份策略一.直接拷贝数据库文件 直接拷贝数据文件最为直接.快速.方便,但缺点是基本上不能实现增量备份.为了保证数据的一致性,需要在备份文件前,执行以下 SQL 语句: FLUSH TABLES WITH READ

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

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