原文:SQL Server高可用——日志传送(4-3)——使用

顺接上一篇:SQL Server高可用——日志传送(4-2)——部署

本文为本系列最重要的一篇,讲述如何使用日志传送及一些注意事项。从上一篇可以看到,其实配置不难,难是难在一旦出现问题,如何处理。这些是4大高可用的同性。配置都不会很难,只是如何故障排除而已。

监控日志传送:

在配置好日志传送之后,需要进行监控,监控备份、复制及还原的作业运作情况。这三类作业任何一个没有成功都意味着日志传送失败。

有两种方法可以监控辅助服务器是否与主服务器同步以及两者的时间差:

1、 使用“事务日志传送状态”

2、 执行master.dbo.sp_help_log_shipping_monitor

还可以使用sys.sp_check_log_shipping_monitor_alert来检查是否超过预先设置的阈值。如果超过了,存储过程会发出一个警报。

在监控服务器上执行存储过程:sp_help_log_shipping_monitor,可以看到主服务器和辅助服务器的信息,该结果和使用方法1中的结果基本一致。

故障排查:

日志传送由三部分组成:备份事务日志、复制文件和还原事务日志。所以当出现故障的时候,检查这三部分。

可以查看SQL代理的日志传送作业历史和windows事件查看器来确认真正的错误信息。

如复制文件失败,可能是网络不正常,如果还原失败,可能服务器不可用或者数据库处于standby模式时用户正在使用数据库。另外,如果数据库恢复模式改为“简单”,会中断日志传送,因为会截断日志。而不是备份日志。这时需要重新配置事务日志。

要注意一点,在日志传送之外不应该存在任何其他的事务日志备份操作。因为这样会引起主服务器和辅助服务器的日志链不匹配,从而导致日志传送的中断。

数据库备份计划:

在日志传送中,,对于备份,要考虑以下几点:

l 数据库备份进程和事务日志备份进程不能并发运行。所以一个大型、活跃的数据库,备份可能要花费一段时间,引起日志快速的增长,从而导致辅助服务器和主服务器不同步。因为数据库备份完成之前无法及时地收到事务日志。

l 除日志传送之外不能有其他事务日志备份,因为会断开日志链。

l 截断事务日志将断开日志链,从而导致日志传送无法正常工作。

l 如果把数据库恢复模式转换成“简单”,那么SQLServer会截断事务日志。从而导致日志传送无法正常工作。

删除日志传送:

在删除日志传送数据库之前,先要删除数据库中的日志传送。当删除日志传送后,所有的时间表、作业、历史以及错误信息都会被删除。

使用ssms删除:

只需要把主服务器中下面红框处取消勾选即可。

也可以用下面那里点击【删除】

使用T-SQL删除:

在主服务器上:

Use master;

Sp_delete_log_shipping_primary_secondary @primary_database,@secondary_server,@secondary_database 

这个命令是删除主服务器上的msdb.dbo.log_shipping_primary_secondaries表中辅助服务器的信息。

在辅助服务器上:

Use master;

Sp_delete_log_shipping_secondary_database @secondary_database;

删除辅助服务器上有关服务服务器的信息和作业。

然后再回到主服务器:

Use master;

Sp_delete_log_shipping_primary_database @database

该存储过程删除对应的信息和作业。

日志传送性能:

1、 日志传送备份目录存放到与数据库不同的磁盘驱动器上。并使用备份压缩(2008出现)

2、  需要监控I/O性能计数器以找到所有的瓶颈(如每个物理驱动器的队列平均程度大于2)

3、 在空间时段进行数据库管理活动(如索引碎片整理),因为碎片越多,日志文件越大,备份和还原的时间就越长。

4、为了确保角色切换中数据库能快速恢复,辅助服务器应该与主服务器完全一样的容量。

5、需要把文件复制目录与数据库分离。

6、确保网络不会成为瓶颈。

SQL Server高可用——日志传送(4-3)——使用的更多相关文章

  1. SQL Server高可用——日志传送(4-2)——部署

    原文:SQL Server高可用--日志传送(4-2)--部署 前文再续,书接上一回.本章演示一下日志传送的具体过程 准备工作: 由于时间关系,已经装好了3台虚拟机,且同在一个域里面: SQL01:主 ...

  2. SQL Server高可用——日志传送(4-1)——概论

    原文:SQL Server高可用--日志传送(4-1)--概论 本文作为学习总结,部分内容出自联机丛书及其他书籍 日志传送是什么? SQLServer 2012之前(2012出现了AlwaysOn), ...

  3. sql server 高可用日志传送

    一. 日志传送概述 SQL Server使用日志传送,可以自动将主服务器的事务日志备份发送到一个或多个辅助数据库上.可选的监视服务器,记录备份和还原操作的历史记录及状态. 优点 提供灾难恢复解决方案 ...

  4. 深入解析 SQL Server 高可用镜像实现原理

    作者:郭忆 本文由 网易云 发布. SQL Server 是 windows 平台 .NET 架构下标配数据库解决方案,与 Oracle.MySQL 共同构成了 DB-Engines Ranking ...

  5. 深入解析SQL Server高可用镜像实现原理

    本文来自网易云社区 SQL Server 是windows平台.NET架构下标配数据库解决方案,与Oracle.MySQL共同构成了DB-Engines Ranking的第一阵营,在国内外企业市场中有 ...

  6. SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn可用性组(理论篇)

    因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...

  7. 京东云数据库RDS SQL Server高可用概述

    数据库的高可用是指在硬件.软件故障发生时,可以将业务从发生故障的数据库节点迁移至备用节点.本文主要讲述SQL Server高可用方案,以及京东云RDS数据库的高可用实现. 一.高可用解决方案总览 1. ...

  8. SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之AlwaysOn可用性组搭建

    因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...

  9. SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之建立活动目录域、DNS服务器和Windows故障转移群集(准备工作)

    因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...

随机推荐

  1. SWT的CheckBoxTreeView的上级菜单与下级菜单的选中的实现

    是不是很神奇? treeViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStat ...

  2. 屌丝程序猿赚钱之道之taobao 2

    续上篇,之前写的案例,都是比較0基础的. 案例4:  代写情书.软文.论文等等. 这是我一个同学的真实故事.     我隔壁寝室的小王平时没事就爱谢谢博客.逛逛论坛.大二的时候接触了威客网,開始在网上 ...

  3. oracle database 12c R1 安装文档

    INSTALLORACLE DATABASE 12C 完整的安装文档下载地址: http://download.csdn.net/detail/royjj/5665869 OS:ORALCE LINU ...

  4. Android permission 访问权限

    程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 完整列表如下: android.permission.ACCESS_CHECKIN_PROPERTIES ...

  5. 23设计模式(3):Abstract Factory模式

    定义:要创建一组相关或依赖对象提供一个接口,而你并不需要指定其具体类别. 类型:创建一个类模型 类图: 抽象工厂模式与工厂方法模式的差别 抽象工厂模式是工厂方法模式的升级版本号,他用来创建一组相关或者 ...

  6. leetCode Min Stack解决共享

    原标题:https://oj.leetcode.com/problems/min-stack/ Design a stack that supports push, pop, top, and ret ...

  7. Linux学习记录--命名管道通信

    命名管道通信 什么是命名管道 一个主要的限制是,它是匿名管道的应用还没有名字,因此,只有它可以用于进程间通信的方式与亲缘关系.在命名管道(named pipe或FIFO)提出后,该限制得到了克服.FI ...

  8. Linux Kernel(Android) 加密算法汇总(四)-应用程序调用OpenSSL加密演算法

    Linux Kernel(Android) 加密算法总结(三)-应用程序调用内核加密算法接口 讲到了怎样调用内核中的接口的方法. 本节主要是介绍怎样Android C/C++应用程序调用Openssl ...

  9. 802.11(wi-fi)的PHY层(编码与调制方法)

    版本概要: 802.11-2007是目前的基础版本,之前的过时版本不考虑. 2009是较新的版本,就是目前最普及的802.11n.(100Mb/s) 2012就是传说中的802.11ac,工作在5G, ...

  10. HttpClient使用具体解释

    Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,添加�了易用性和灵活性(详细差别,日后我们再讨论),它不仅是client发送Http请求变得e ...