SQL Server 维护计划实现数据库备份(Step by Step)
转自:http://www.cnblogs.com/gaizai/archive/2011/11/18/2254445.html
一、前言
SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server 数据库最小宕机迁移方案,里面使用SQL脚本(T-SQL)完成完全备份、差异备份、完全还原、差异还原等;
有了上面的基础,我们加入了数据库的备份元素,通过维护计划来生成数据库的备份文件,这包括两种文件,数据库的完全备份与差异备份,有了这两个文件,我们可以通过SQL Server 备份和还原全攻略(图形操作)或者SQL Server 数据库最小宕机迁移方案(代码操作)的方法来还原我们的数据;
二、场景设计
假设我们的数据库不是很大,但是我们的数据会比较重要,大概一天一个备份就能满足我们的业务需要,那我们应该如何设计我们的备份方案呢?
星期天晚上02:00做一次数据库的完全备份,其它时间星期一至星期六晚上02:00做一次差异备份,基本逻辑如下图所示:
(图:数据库备份文件生成逻辑)
Tips:
1. 如果你的数据库比较大,而且流数据(就是一些记录性的流水数据)比较多,我们的做法是把这些大表分离出一个新的数据库(纵向切割数据库),这样接下来的问题,这篇文章就可以解决了;
2. 如果无法把流数据分离出数据库,那么可以考虑表分区,分区之后再对其它表进行数据备份(主分区备份);这些备份是无法使用差异备份了,每次都只能使用完全备份,而且还原的时候表分区是不可以用的,只能修改表名之后再创建新表,请参考:SQL Server 维护计划备份主分区
3. 如果一天一次的备份满足不了业务上的需求,那么可以考虑发布订阅方案,在两台机器上进行事务复制,可以调整复制的频率,加强数据的安全性,这个会在以后的文章中说明;
三、实战操作
1. 数据库 -> 【管理】-> 【维护计划】 -> 【新建维护计划】;
(图1)
2. 勾选【备份数据库(完整)】和【备份数据库(差异)】;
(图2)
3. 设置 完整备份 文件的路径和备份文件的扩展名;注意特定数据库的选择;
(图3)
4. 填写 完整备份 作业计划的名称,执行间隔勾选星期日,设置执行时间;
(图4)
5. 设置 差异备份 文件的路径和备份文件的扩展名;注意特定数据库的选择;
(图5)
6. 填写 差异备份 作业计划的名称,执行间隔勾选除星期日之外的日期,设置执行时间;
(图6)
7. 这就生成 完整备份 与 差异备份 的子计划了,
(图7)
8. 在完整备份的设计界面中,从左边拖拉一个【清除历史记录】的控件到右边,并双击进行下图的设置;
(图8)
9. 从左边拖拉一个【清除维护】的控件到右边,并双击进行下图的设置,这里需要设置 完整备份 的路径和文件的扩展名;
(图9)
10. 在步骤上加上箭头形成 完全备份 作业的流程图;
(图10)
11. 在差异备份的设计界面中,从左边拖拉一个【清除历史记录】的控件到右边,并双击进行下图的设置;
(图11)
12. 从左边拖拉一个【清除维护】的控件到右边,并双击进行下图的设置,这里需要设置 差异备份 的路径和文件的扩展名;
(图12)
13. 在步骤上加上箭头形成 差异备份 作业的流程图;
(图13)
14. 在维护计划下生成Ant_Backup,在代理中生成 完整备份与差异备份的作业;
(图14)
四、参考文献
SQL Server 维护计划实现数据库备份(Step by Step)的更多相关文章
- SQL Server 维护计划实现数据库备份(Step by Step)(转)
SQL Server 维护计划实现数据库备份(Step by Step) 一.前言 SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server ...
- SQL Server 维护计划实现数据库备份(策略实战)
一.背景 之前写过一篇关于备份的文章:SQL Server 维护计划实现数据库备份,上面文章使用完整备份和差异备份基本上能解决数据库备份的问题,但是为了保障数据更加安全,我们需要再次完善我们的备份计划 ...
- SQL Server 维护计划(数据库备份)
公司的项目都需要定期备份,程序备份关掉iis站点复制文件就可以了,难受的地方就是数据库的备份了.服务器上装的大都是英文版,一看见英文,操作都变得小心翼翼起来,生怕哪里搞错,第二天就要被安排写辞职申请了 ...
- SQL Server如何提高数据库备份的速度
对于一个数据库完整备份来说,备份的速度很大程度上取决于下面两个因素:读磁盘数据.日志文件的吞吐量,写磁盘数据文件的吞吐量. 下图是备份过程中磁盘的变化情况: 读吞吐量 读吞吐量的大小取决于磁盘读取数据 ...
- 使用SQL Server维护计划实现数据库定时自动备份
在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库.要实现数据库的定 ...
- 【转载】使用SQL Server维护计划实现数据库定时自动备份
在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员 每天守到晚上1点去备份数据库.要实现数据库的 ...
- SQL Server 2012将数据库备份到网络中的共享文件夹
把计算机computer1 中的数据库备份到计算机computer2(IP:192.168.0.130)中的一个共享文件夹下 在computer2中的F盘下建一个共享文件夹叫DBBackupShare ...
- Microsoft SQL Server 2008 R2数据库备份 - 人工备份
业务介绍 数据库人工备份是指由相关管理人员通过主动的手工方式备份数据库文件.在一些特殊的时间节点,如重要资料的录入完成.软硬件环境更新前等需要特别关注数据库安全的时候,一定要进行数据库的人工备份,以保 ...
- 【数据库-Azure SQL Database】SQL Server 如何将数据库备份到 Azure Storage
打开本地的 SQL Server Management Studio.首先创建 Credentials.命令如下: IF NOT EXISTS (SELECT * FROM sys.credent ...
随机推荐
- 蓝牙防丢器原理、实现与Android BLE接口编程
本文是对已实现的蓝牙防丢器项目的总结,阐述蓝牙防丢器的原理.实现与android客户端的蓝牙BLE接口编程.在这里重点关注如何利用BLE接口来进行工程实现,对于BLE的协议.涉及到JNI的BLE接口内 ...
- block做方法参数时--block的参数传值过程 例1
说明:此例子中方法的调用在此文中是从下到上调用的.(即: 方法五调用方法四: 方法四调用方法三) 方法一:- (void)setCompletionBlockWithSuccess: ...
- 转 Android--加载大分辨率图片到内存
在使用ImageView显示图片的时候,直接加载一个图片资源到内存中,经常会出现内存溢出的错误,这是因为有些图片的分辨率比较高,把它直接加载 到内存中之后,会导致堆内存溢出的问题.这篇博客就来讲解一下 ...
- 图解SQL的inner join、left join、right join、full outer join、union、union all的区别
转自:http://blog.csdn.net/jz20110918/article/details/41806611 假设我们有两张表.Table A 是左边的表.Table B 是右边的表.其各有 ...
- jQuery form插件的使用--ajaxForm()和ajaxSubmit()的可选参数项对象
一.前提说明 Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 二.简单介绍 本文演示的是:jQue ...
- hbase shell 常用命令
进入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos认证,需要事先使用相应的keytab进行一下认证(使用kinit命令),认证成功之 ...
- APACHE重写去除入口文件index.php
下面我说下 apache 下 ,如何 去掉URL 里面的 index.php 例如: 你原来的路径是: localhost/index.php/index 改变后的路径是: localhost/ind ...
- POJ 2777 Count Color(线段树之成段更新)
Count Color Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 33311 Accepted: 10058 Descrip ...
- Lua面向对象编程
Lua中的table就是一种对象,看以下一段简单的代码: , b = } , b = } local tb3 = tb1 if tb1 == tb2 then print("tb1 == t ...
- C++ macro(宏)使用小结
谈起C++中的宏,我们第一个想到的应该就是“#define”,它的基本语法长得像这样: #define macroname(para1, para2, para3, ... ,paran) macro ...