概述

可以使用日志传送将事务日志不间断地从一个数据库(主数据库)发送到另一个数据库(辅助数据库)。不间断地备份主数据库中的事务日志,然后将它们复制并还原到辅助数据库,这将使辅助数据库与主数据库基本保持同步。目标服务器充当备份服务器,并可以将查询处理从主服务器重新分配到一个或多个只读的辅助服务器。日志传送可与使用完整或大容量日志恢复模式的数据库一起使用;使用日志传送,您可以自动将“主服务器”实例上“主数据库”内的事务日志备份发送到单独“辅助服务器”实例上的一个或多个“辅助数据库”。事务日志备份分别应用于每个辅助数据库。可选的第三个服务器实例(称为“监视服务器”)记录备份和还原操作的历史记录及状态,还可以在无法按计划执行这些操作时引发警报

操作组成

  1. 在主服务器实例中备份事务日志。
  2. 将事务日志文件复制到辅助服务器实例。
  3. 在辅助服务器实例中还原日志备份。

主服务器和数据库

日志传送配置中的主服务器是作为生产服务器的 SQL Server 数据库引擎实例。主数据库是主服务器上希望备份到其他服务器的数据库。通过 SQL Server Management Studio 进行的所有日志传送配置管理都是在主数据库中执行的。

主数据库必须使用完整恢复模式或大容量日志恢复模式,将数据库切换为简单恢复模式会导致日志传送停止工作。

辅助服务器和数据库

日志传送配置中的辅助服务器是您想要在其中保留主数据库备用副本的服务器。一台辅助服务器可以包含多台不同主服务器中数据库的备份副本。例如,某个部门可能有五台服务器,每台服务器都运行关键数据库系统。在这种情况下,可以只使用一台辅助服务器,而不必使用五台单独的辅助服务器。五个主系统上的备份都可以加载到这个备份系统中,从而减少所需的资源数量并节省开支。不太可能出现多个主系统同时发生故障的情况。另外,为了应对多个主系统同时不可用的罕见情况,辅助服务器的规格可以比各主服务器高。

辅助数据库必须通过还原主数据库的完整备份的方法进行初始化。还原时可以使用 NORECOVERY 或 STANDBY 选项。这可以手动或通过 SQL Server Management Studio 实现。

监视服务器

监视服务器是可选的,它可以跟踪日志传送的所有细节,包括:

    • 主数据库中事务日志最近一次备份的时间。
    • 辅助服务器最近一次复制和还原备份文件的时间。
    • 有关任何备份失败警报的信息。

监视服务器应独立于主服务器和辅助服务器,以避免由于主服务器或辅助服务器的丢失而丢失关键信息和中断监视。一台监视服务器可以监视多个日志传送配置。在这种情况下,使用该监视服务器的所有日志传送配置将共享一个警报作业。

步骤方法

在配置数据库之前首先要将主数据库进行一个完整备份,然后在辅助服务器上进行还原,还原脚本如下,注意保持数据库为正在还原状态(norecovery)

RESTORE DATABASE [test] FROM  DISK = N'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\test.bak' WITH  FILE = 1,
MOVE N'test' TO N'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\useData\test.mdf',
MOVE N'test_log' TO N'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\useData\test_1.ldf',
NORECOVERY, NOUNLOAD, STATS = 10

1.配置主数据库

选择需要进行日志传输的数据库,鼠标右键属性-事务日志传输-勾选"将此数据库启用为日志传输配置中的主数据库"

点击“备份设置”,此过程也就是创建一个主数据库的备份计划(LsBack_test123),在这里之前你要在本机创建一个用于存放主数据库的备份文件夹,同时你要将这个文件夹设共享,供辅助服务器访问,文件夹权限设为everyone可读写,最后添加一个来宾组的读取权限,配置如下,同时你也可以对备份作业进行备份时间计划,这个计划具体根据备份需求

备份计划

配置主数据库要注意的地方主要就是共享文件夹的读写权限问题。

2.配置辅助服务器和数据库

点击添加添加辅助数据库

连接辅助服务器(我这里是做为测试连接的是本地服务器,实际是需要连接辅助服务器)

选择复制文件(该步骤会创建一个复制计划“LSCopy_C-3A89048AF8DF4_test123”,将刚才主数据库的日志备份文件复制到辅助服务器中设定的文件夹中)

首先要在辅助服务器(假如是:192.168.1.3)上建立一个共享文件夹,该文件夹权限需要可以读写,可以设置为everyone可以读写权限

该步骤计划的计划实际可以设置为最短时间也就是主数据库备份完成立刻复制

还原事务日志(该步骤会创建一个还原计划“LSRestore_C-3A89048AF8DF4_test123”,将拷贝过来的日志文件在辅助服务器上进行还原,同时可以选择数据库状态是否截断用户连接)

同样还原计划时间可以间隔可以设置的比较短,可以第一时间还原备份

整个辅助服务器就配置完成了,这样同样容易出现的问题就是辅助服务器文件夹的共享问题,会出现拷贝不了的问题

3.监视服务器配置

监视服务器不是必须的选项也就是可以不进行配置,此过程就是创建一个监视作业(警报作业)“LSAlert_C-3A89048AF8DF4”

总结

事务日志传输与跟复制订阅相比:事务日志传输操作更简单而复制订阅更具体;

事务日志传输与跟数据库镜像相比:事务日志传输比数据库镜像的成本低,事务日志传输也可以在单数据库实例上进行,

状态图:

备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。

《欢迎交流讨论》

SQL Server 事务日志传输的更多相关文章

  1. 人人都是 DBA(VI)SQL Server 事务日志

    SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consisten ...

  2. SQL Server事务日志介绍

    SQL Server中的数据库都是由一或多个数据文件以及一或多个事务日志文件组成的. 顾名思意,数据文件主要存储数据库的数据,包括数据库内容结构,数据页,索引页等等.那么事务日志到底是干什么的呢?它主 ...

  3. SQL SERVER 事务日志 解析

    1 基本介绍 每个数据库都具有事务日志,用于记录所有事物以及每个事物对数据库所作的操作. 日志的记录形式需要根据数据库的恢复模式来确定,数据库恢复模式有三种: 完整模式,完全记录事物日志,需要定期进行 ...

  4. SQL Server 事务日志截断、回绕与收缩(转载)

    每个 SQL Server 数据库都具有事务日志,用于记录所有事务以及每个事务对数据库所做的修改. 必须定期截断事务日志以避免它被填满. 但是,一些因素可能延迟日志截断,因此监视日志大小很重要. 某些 ...

  5. SQL Server 事务日志文件已满,收缩日志文件(9002)

    错误如下图: 1.数据库 → 属性 → 选项 → 恢复模式 → 选择‘简单’:如下图: 2.任务 → 收缩 → 文件类型‘文件’ → 收缩模式‘在释放未使用的空间前重新组织页’,将文件收缩到K,大小填 ...

  6. sql 事务日志传输

    原文:sql 事务日志传输 概述 可以使用日志传送将事务日志不间断地从一个数据库(主数据库)发送到另一个数据库(辅助数据库).不间断地备份主数据库中的事务日志,然后将它们复制并还原到辅助数据库,这将使 ...

  7. 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结

    为什么说JAVA中要慎重使用继承   这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...

  8. SqlServer 事务日志传输

    基本概念 可以使用日志传送将事务日志不间断地从一个数据库(主数据库)发送到另一个数据库(辅助数据库).不间断地备份主数据库中的事务日志,然后将它们复制并还原到辅助数据库,这将使辅助数据库与主数据库基本 ...

  9. SQL Server 使用日志传送

    参考文献: http://msdn.microsoft.com/en-us/library/ms187103.aspx 概述 SQL Server 使用日志传送,您可以自动将“主服务器”实例上“主数据 ...

随机推荐

  1. [Java] CPU 100% 原因查找解决

    CPU 100%肯定是出现死锁,这个时候观察内存还是够用的,但是CPU一直100%,以下几步解决: 1. 找到进程消耗cpu最大的 $top top - :: up days, :, user, lo ...

  2. PLSQL操作excel

    一.plsql数据库操作: 删除数据前备份一张表: create table plat_counter_def_bf as select * from plat_monitor_counter_def ...

  3. 前端知识杂烩(Javascript篇)

    1. JavaScript是一门什么样的语言,它有什么特点?2.JavaScript的数据类型都有什么?3.请描述一下 cookies,sessionStorage 和 localStorage 的区 ...

  4. AOJ 0118 Property Distribution【DFS】

    题意:在H * W的矩形果园里有苹果.梨.蜜柑三种果树, 相邻(上下左右)的同种果树属于同一个区域,给出果园的果树分布,求总共有多少个区域. 输入:多组数据,每组数据第一行为两个整数H,W(H < ...

  5. VS低版本打开高版本解决方案(如08打开10、12、13版本vs编译的项目)

    一.vs2005打开vs2008编译的项目:1.用记事本打开sln文件,将: Microsoft Visual Studio Solution File, Format Version 10.00 # ...

  6. 【iOS 单例设计模式】底层解析与运用

    [iOS 单例设计模式]底层解析与运用 一.单例设计名词解释: (官方解释)单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例.(形象比喻)程序 — 公司   单例实例 - 管理 ...

  7. Proxy setting

    1. git git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080 2. gradleScena ...

  8. 用wget命令下载jdk

    Oracle官网上下载jdk,需要点击accept licence的才能下载,使用下面的命令,直接可以下载.wget --no-check-certificate --no-cookies --hea ...

  9. bing的简单英文字典工具

    今天看到园友心白水撰写的<简单翻译工具--必应字典第三方API使用方法>,感觉很不错,所以用Python也写了一个.源码如下: import urllib.request import j ...

  10. 简述HTML DOM及其节点分类

    在JavaScript中,document这个对象大家一定很熟悉,哪怕是刚刚开始学习的新人,也会很快接触到这个对象.而document对象不仅仅是一个普通的JavaScript内置对象,它还是一个巨大 ...