zoukankan      html  css  js  c++  java
  • 使用SQL Server 2008的事务日志传送功能备份数据库

    引言:SQL Server的事务日志传送备份是仅次于镜像的高可靠性备份方案,可以达到分钟级的灾难恢复能力。其项目实施成本,又远小于镜像的投入,因此是一种非常实用的备份解决方案。本文详细讲解了事务日志传送备份的实施过程。

    一:系统要求

    数据库服务器,名称Server-DW,Windows Server 2003 X64,安装SQL Server 2008,需要备份的数据库为"JKL_DW"。

    备份服务器,名称Server-ETL,Windows Server 2003 X32,安装SQL Server 2008。

    二:准备工作

    1、在Server-ETL上创建文件夹,用于存放备份数据库,此例中命名为"jklDW"。

    2、在Server-ETL上创建文件夹,用于存放为备份数据传送过来的事务日志。此例中命名为"LogBackup",然后共享此文件夹,共享名称为"Server-ETL\LogBackup$"。

    3、在Server-ETL上创建文件夹,用于存放为还原数据库复制的事务日志。此例中命名为"LogCopy",然后共享此文件夹,共享名称为"Server-ETL\LogCopy$"。

    4、为数据库"JKL_DW"创建一个完整备份。

    (1)备份数据库常规页

     

    在“目标”处选择将数据库备份文件的路径。

    (2)备份数据库选项页

    覆盖媒体:改为"备份到新媒体集并清除所有现有备份集",然后随便起一个名称即可。

    可靠性:勾选"完成后验证备份"和"写入媒体前检查校验和"这两项。

    压缩:选择"压缩备份",可以节省80%左右的空间。

    5、将备份好的文件复制到Server-ETL上。

    6、还原数据库备份到Server-ETL上。

    (1)还原数据库常规页

    目标数据库:此例中命名为"jklDW"。这里多说一句,目标数据库的名称可以与原始数据库名称相同,也可以不同。本例中名称就是不同的。

    指定用于还原的备份集的源和位置:选择源设备,然后浏览选择并指定备份文件路径。在"指定备份"对话框中,添加复制到本机的备份文件"JKL_DW.bak"后确定即可。

    选择用于还原的备份集:因为我们备份数据库时选择了清除原有备份集,所以这里只有一个可选项,选中即可。

    (2)还原数据库选项页

    还原选项:勾选"覆盖现有数据库(WITH REPLACE)"。

    将数据文件还原为:修改数据库文件的"还原为"路径,改到新建的jklDW文件夹下。

    恢复状态:选择"不对数据库执行任何操作,不回滚提交的事务。可以还原其它事务日志(RESTORE WITH NONRECOVER)",也就是恢复模式。

    (3)确定后开始还原。还原后数据库显示为"正在还原"状态。

    三:设置事务日志传送.

    1、启用"事务日志传送"

    数据库右键菜单,选择属性,切换到"事务日志传送"选项卡,勾选"将此数据库其用为日志传送配置中的主数据库",启用"事务日志传送"。

    事务日志备份:点击"备份设置",可以打开"事务日志备份设置"窗体。

    辅助数据库:点击"添加",可以打开"辅助数据库设置"窗体。

    2、配置"事务日志备份"

    (1)事务日志备份─设置备份操作

    备份文件夹的网络路径:此处填写备份服务器上建立的用于存放事务日志备份的文件夹的网络路径。此例中为"Server-ETL\LogBackup$"。这里说明一下,此例中将备份文件夹放在了备份服务器上,但这不是必需的,也可以将备份文件夹放在数据库服务器上,或者放在第三台服务器上,只要保证此文件夹能从网络上被数据库服务器和备份服务器访问即可。但实际工作中,不推荐存放在主服务器上,否则主服务器出问题后,备份文件就无法读取了。

    如果备份文件夹位于主服务器上,则键入该文件夹的本地路径:这个没必要添,确定后系统会自动设置为与上一项相同。如果备份文件夹位于主服务器,可以添加本地路径,也可以使用网络路径。个人认为输入本地路径,主要是可以免去主服务器通过网络共享间接访问本地备份文件夹这一步,提高一些性能,设成网络路径影响不大。

    备份作业─作业名称:此例中命名为"jklDW事务日志备份:事务日志备份作业",然后设置计划。

    (2)事务日志备份─设置作业计划属性

    名称:命名为"jklDW事务日志备份:事务日志备份作业"。

    频率:设为"每天每小时"执行一次。因为此例中备份的是数据仓库,数据每天更新一次,频率没有必要设置得太高。如果是业务系统,则可以设置得短一些,保证数据安全。

    3、设置"辅助数据库"(也就是备份的目标数据库)

    (1)连接备份数据库所在的服务器

    首先需要连接到备份数据库所在实例,点击"连接",打开"连接到服务器"窗口。

    连接到Server-ETL,连接后下面的选项生效,可以进行设置。

    (2)初始化辅助数据库

    辅助数据库:此处选择还原的目标数据库,此例中为"jklDW"。

    初始化辅助数据库:因为前面已经还原了数据库,所以此处选择"否,辅助数据库已初始化"。

    (3)设置复制文件

    复制文件的目标文件夹:此处输入复制文件夹的网络路径。此例中为"\\Server-ETL\LogCopy$"。

    作业名称:命名为"jklDW事务日志备份:事务日志复制作业",然后"编辑作业"。

    名称:命名为"jklDW事务日志备份:事务日志备份作业计划"。

    频率:设为"每天每小时"执行一次。这个频率中可以根据业务的具体需要决定。

    (4)还原事务日志

    还原备份时的数据库状态:选择"备用模式"。

    作业名称:命名为"jklDW事务日志备份:事务日志还原作业",然后"编辑作业"。

    名称:命名为"jklDW事务日志备份:事务日志还原作业计划"。

    频率:设为"每天20点"执行一次。因为此例中数据都是在白天写入的的,18点以后基本就没有变动了,所以设置为20点执行还原操作。

    4、成功执行备份任务后,备份数据库变为"备用/只读"状态。

  • 相关阅读:
    ASP.NET MVC + EF 利用存储过程读取大数据,1亿数据测试很OK
    ASP.NET MVC+EasyUI+Entity FrameWork 整合开发
    ASP.NET MVC局部验证及相关问题
    asp.net mvc常用的数据注解和验证以及entity framework数据映射
    Entity Framework 一次加载许多个 Fluent API 映射
    Entity Framework Code First 常用方法集成
    ASP.NET MVC 应用程序的安全性,看一眼你就会了
    Entity Framework SqlFunctions 教你如何在EF调用sqlserver方法的函数存根
    ASP.NET MVC 及 Areas 简单控制路由
    ASP.NET MVC 表单的几种提交方式
  • 原文地址:https://www.cnblogs.com/benbenkoala/p/1407793.html
Copyright © 2011-2022 走看看