SQL Server数据库备份方法

数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段。一个合理的数据库备份方案,应该能够在数据丢失时,有效地恢复重要数据,同时需要考虑技术实现难度和有效地利用资源。

数据库备份有四种类型,分别应用于不同的场合,下面简要介绍一下。

1、完全备份

这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,一般推荐一周或一月做一次完全备份。

2、事务日志备份

事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以只需要很少的时间。为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志。

3、差异备份

也叫增量备份。它是只备份数据库一部分的另一种方法,它不使用事务日志,相反,它使用整个数据库的一种新映象。它比最初的完全备份小,因为它只包含自上次完全备份以来所改变的数据库。它的优点是存储和恢复速度快。推荐每天做一次差异备份。

4、文件和文件组备份

可以备份和还原数据库中的个别文件或文件组。这种备份方法平常使用的机率比较少,常常用于对重要数据的备份。它要求在数据库设计时,就做好考虑,把需要单独做特别备份的表进行分组,给它们分配不同的文件组(表只能放在文件组上,不能放在具体的文件上,一个文件组可以是一个文件或多个文件),这样才能在做备份的时候,单独备份这些数据。这种的备份的处理技术难度相对来说比较高,不但要掌握备份/还原的方法,还必须对数据库结构和数据库中的各表数据情况掌握得比较好。

平时日常备份方法

如果你平时只做全备份,那么受限于全备份的大小和备份时间,不可能常做。而且只有全备份,不能将数据库恢复至某个时间点。所以,我们需要全备份+日志备份。比如每天一个全备份,每隔1小时或若干分钟一个日志备份。说到差异备份,因为微软的差异备份记录的是上一次全备份以来发生的变化,所以,如果数据库的改动很频繁的话,没过多久,差异备份就会和全备份的大小接近,因此这种情况下就不合适了。因此,全备份+日志备份的方案适合绝大多数的用户。

备份文件传送至备机后,就可以高枕无忧了吗?错。作为DBA还需要检查备机上的备份文件是否能将数据库恢复至最新,如果采用日志备份,会不会因为丢失某一个日志备份文件而导致数据库不能恢复至最新?如何检查日志备份文件之间存在断档?

数据库在备份的时候,并不会检查数据页面的完整性,如果数据页坏了,备份作业仍会执行,而且不会报错,等到你发现数据页有错误的时候,你也很可能已经因为磁盘空间不足,而删除了早期的备份,而此时剩下的那些备份可能都是包含损坏的数据页,如果损坏的数据页是某个表的表头的话,那这个表你就再也没办法恢复了。

时间: 2024-10-28 11:28:23

SQL Server数据库备份方法的相关文章

SQL server数据库备份还原问题备忘(亲测有效)

问题一:SQL server数据库备份还原方法 http://www.cnblogs.com/zgqys1980/archive/2012/07/04/2576382.html 问题二:无法执行 BACKUP LOG,因为当前没有数据库备份 http://blog.csdn.net/aojiancc2/article/details/46316451 问题三:还原数据库失败 备份集中数据库备份与现有数据库不同 http://jingyan.baidu.com/article/fb48e8be52

在.Net中进行SQL Server数据库备份与还原操作实用类

#region 类说明 //----------------------------------------------------------------------------- // // 项目名称:*** // 文件名称:DBBakManager.cs // 文件说明:对数据库备份文件进行管理.提供备份.还原.备份文件管理操作. // // 开始日期:2007年04月04日 // 开发人员:*** // //----------------------------------------

SQL Server数据库备份:通过Windows批处理命令执行

通过Windows批处理命令执行SQL Server数据库备份 建立mybackup.bat ,输入以下内容直接运行该脚本,即可开始自动备份数据库也可把该脚本加入windows任务计划里执行. ----------------------------------------------------------------------------@echo off set path=%path%;C:Program Files\Microsoft SQL Server\80\Tools\Binn

SQL Server数据库备份(本机)

基础的SQL Server数据库备份存储过程 /****************************************************************************************************** ** 功能:本机备份数据库 ** 作者:Danny,Li ** 日期:2012-11-05 ** --------------------------------------------------------------------------

SQL SERVER 数据库备份的三种策略及语句

1.全量数据备份    备份整个数据库,恢复时恢复所有.优点是简单,缺点是数据量太大,非常耗时 全数据库备份因为容易实施,被许多系统优先采用.在一天或一周中预定的时间进行全数据库备份使你不用动什么脑筋.使用这种类型的备份带来的问题是非常缺乏灵活性,而且当数据库被冲掉后,你面临丢失大量数据的潜在威胁.例如,假设你每天在午夜备份数据库. 如果服务器在晚上11点崩溃了,你将丢失前面23个小时对数据所做的全部修改.对大多数系统来说,这是无法接受的.对此规则,为数不多的例外如下: 1.系统中所存的数据可以

详解连接SQL Server数据库的方法,并使用Statement接口实现对数据库的增删改操作

总结一下,连接SQL Server数据库需要以下几个步骤: 1. 导入驱动Jar包:sqljdbc.jar 2. 加载并注册驱动程序 3. 设置连接路径 4. 加载并注册驱动 5. 连接数据库 6. 操作数据库 7. 关闭连接 代码如下: ******************连接数据库******************* 1 package zj6_Test; 2 import java.sql.*; 3 public class Zj6_3 { 4 /** 5 * 使用Statement接口

远程连接sql server 数据库的方法

今天找了半天,终于解决了如何从本地连接到远程sql server服务器的方法. 1.首先确保打开远程服务器的sql server配置管理器,确保TCP/IP协议开启 2.WebConfig的连接字符格式 <add name="SQLConnectionString" connectionString="Data Source=10.10.78.180,1433;Initial Catalog=db_Blog;User ID=sa;Password=123456;Pack

优化SQL Server数据库查询方法

SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没有优

SQL Server数据库备份恢复(Simple Recovery Model和Full Recovery Model)(链接)

下面这篇微软文档,介绍了SQL Server数据库在Simple Recovery Model下的备份和恢复机制: Complete Database Restores (Simple Recovery Model) 下面这篇微软文档,介绍了SQL Server数据库在Full Recovery Model下的备份和恢复机制: Complete Database Restores (Full Recovery Model) 原文地址:https://www.cnblogs.com/OpenCod