SQL server数据库的备份和还原

SQL server的备份有如下三种:
1、完整备份:完整备份包括对整个数据库、部分事务日志、数据库结构和文件结构的备份。它代表的是备份完成时刻的数据库。是所有备份类型的基础。

2、差异备份:是指对上一次完整备份之后所有更改的数据做备份,备份过程能够识别出数据库中哪一部分被修改了,并只对这一部分做备份。

差异备份的优势是速度快,备份数据库所需要的时间很少,但差异备份要求事先已经执行过一次完整备份。

3、事务日志备份:记录了数据库的所有改变,在备份事务日志时,需要考虑以下因素:

  • 在执行了至少一次完整备份后,才能备份事务日志;
  • 在简单恢复模式下不能备份事务日志;
  • 如果没有与其相一致的数据库备份,则不能恢复事务日志。
    在执行数据库事务日志备份期间,SQL server将做以下工作:
  • 备份事务日志:从上一次成功的事务日志备份到当前事务日志的尾部;
  • 截断事务日志:到事务日志活动部分的开始,丢弃不活动的部分。

事务日志备份主要是T-SQL语句,而不是整个数据库结构、文件结构或数据。

恢复模式也有三种:
1、简单恢复模式:在简单恢复模式下,不活动的日志将被删除,所以不支持事务日志备份。也正是因为不支持事务日志备份,数据库只能恢复到备份的时间点,而无法将数据库还原到故障点或特定的时间点。因此,简单恢复模式只适用于小型数据库和不经常改动的数据库。

2、完整恢复模式:对于十分重要的生产数据库,如银行、电信系统,在发生故障时可能要求恢复到历史上某个时刻,一旦发生故障,必须保证数据不丢失,保证数据能够恢复到发生故障的状态。这样,就必须采用完整恢复模式。

完整恢复模式可在最大范围内防止出现故障时丢失数据,它包括数据库备份和事务日志备份,并提供全面保护,使数据库免受媒体故障的影响。

由于支持事务日志备份,因此完整恢复模式可以将数据库恢复到任意一个指定的时间点。

3、大容量日志恢复模式:
DBA在某些场合需要对数据库执行一些大批量的数据插入、更新或删除等操作,如一次需要导入上百万条数据,如果在完整恢复模式下,那么这些操作将产生大量的日志记录,导致数据库性能很低。在这种情况下,可以采用大容量日志恢复模式来提高性能。

虽然大容量日志恢复模式会完整的记录其他事务,但它只对大容量操作进行最小记录,只要日志备份包含大容量操作,数据库就只能恢复到日志备份的结尾,而不能恢复到某个时间点或日志备份中某个标记的事务。

备份设备:
在进行备份时,一般是建立一个文件来存储备份的数据,这个备份文件就叫做备份设备,如下图中的backup就是创建的一个备份设备:

如何设置自动备份?需要注意的是,若想创建自动备份,那么SQL server代理必须启用:

创建备份计划:
右击“维护计划”,点击“维护计划向导”即可根据向导来进行做备份计划:


勾选要执行的工作

定义详细信息

设置自动清除历史备份:

由于每天对数据库进行备份,时间久了,其备份文件占用的磁盘空间也越来越大,通过修改维护计划,可以自动清除历史备份,具体步骤如下所示:

所有的备份设置,最好在初次备份时,进行全面的检查,以确保备份的万无一失。

原文地址:https://blog.51cto.com/14154700/2378456

时间: 2024-07-31 23:08:02

SQL server数据库的备份和还原的相关文章

第一章、关于SQL Server数据库的备份和还原(sp_addumpdevice、backup、Restore)

在sql server数据库中,备份和还原都只能在服务器上进行,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,当在非服务器的机器上启动sql server客户端的时候,也可以通过该客户端来备份和还原数据库,但是这种操作实质是在服务器上进行的,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,这个原则不会变,只是使用了客户端的一个工具来操作这个过程而已. 1.1.备份数据库 备份数据库有两种方式: 第一种是在企业管理器中,利用工具对数据库进行备份,这种备份的文件只会有一个,即以

C#对SQL Server数据库的备份与还原

备份数据库: string connectionString = "server=服务器名称;database=数据库名;uid=登入名;pwd=登入密码";         //登入名和密码在SQL Server中查找 private void btnBackDataBase_Click(object sender, EventArgs e) { try { SaveFileDialog sf = new SaveFileDialog(); DialogResult dr = sf.

关于 SQL Server 数据库批量备份与还原的一些 Tips

一.前提 最近需要将服务器 A 上的数据库全部备份,并在服务器 B 上进行还原,30多个数据库一个一个地用鼠标点,先是 backup,之后时 restore……整个过程实在是太浪费时间了!于是直接写一个小工具来批量备份还原数据库,这里记录一下一些 Tips,方便自己以后查看. 二.写配置文件 首先,我将数据库连接字符串和自动备份的目录路径写在了配置文件里,方便在以后数据库连接或者存储目录变动时,直接修改配置文件里的对应值就可以了. App.config 具体结构如下: <?xml version

项目经验——Sql server 数据库的备份和还原____还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员” .

在对数据库备份与还原的过程中,我遇到一个问题“介质集有2个介质簇,但只提供了1个.必须提供所有成员”,下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两天用户测试我们做的评教系统小软件,有点问题我们过去看了看,想将他们的测试数据备份一下,以便我们修改软件测试使用. 我是这样备份的,数据库备份默认有一个路径:C\...,而我又添加了一个新路径,没将默认路径删除,而是选中新路径,我就理所当然的认为数据库中的数据备份到我新加的路径下了. 今天还原数据库时

对 sql server 数据库的备份进行加密

原文:对 sql server 数据库的备份进行加密 嗯,最近在研究数据库备份相关的东西,考虑到应该为数据库备份加个密,就准备从网上搜索一下看看有什么好办法,没想到还挺乱... 首先,我从网上搜到的,对数据库备份加密的方法,主要有三种:   1.在使用 BACKUP 语句时,添加 PASSWORD 参数[此方法适用于 sql server 2012 以前的版本(不包含 2012)] 不过呢,其实这个 PASSWORD 参数的加密,并不是我们想象中的对数据完整的加密. 根据 MSDN 中的介绍:h

如何让SQL Server数据库自动备份并压缩成rar文件

1.  先开启xm_cmdshell服务 xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出.由于xp_cmdshell 可以执行任何操作系统命令,所以一旦SQL Server管理员帐号(如sa)被攻破,那么攻击者就可以利用xp_cmdshell 在SQL Server中执行操作系统命令,如:创建系统管理员,也就意味着系统的最高权限已在别人的掌控之中.由于存在安全隐患,所以在SQL Server 2005中, xp_cmdshell

《SQL Server企业级平台管理实践》读书笔记——关于SQL Server数据库的备份方式

数据备份一直被认为数据库的生命,也就是一个DBA所要掌握的主要技能之一,本篇就是介绍SQL Server备份原则,SQL Server数据库分为数据文件和日志文件.为了使得数据库能够恢复一致点,备份不仅需要拷贝数据数据文件里的内容,还要拷贝日志文件里的内容.那么根据每次备份的目标不同,我们可以将备份分为数据备份和日志备份. 数据备份的范围可以是完整的数据库.部分数据库.一组文件或文件组.所以根据备份下来的数据文件的范围,又分为了完整数据库备份.文件备份和部分备份. 完整数据库备份 完整数据库备份

SQL Server数据库的备份和还

转:http://blog.csdn.net/zwj7612356/article/details/8188025 在sql server数据库中,备份和还原都只能在服务器上进行,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,当在非服务器的机器上启动sql server客户端的时候,也可以通过该客户端来备份和还原数据库,但是这种操作实质是在服务器上进行的,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,这个原则不会变,只是使用了客户端的一个工具来操作这个过程而已. 1.1.

SQL Server 2012不支持从SQL Server 2000的备份进行还原

错误: dbbackup failed: Unable to restore database 'ppt'Not valid backupThe database was backed up on a server running version 8.00.2039. That version is incompatible with this server, which is running version 11.00.3000. Either restore the database on