做数据库的朋友都知道, 其实数据库的工作大致可以分为三类: 数据库设计与开发, 数据库管理, 数据库商业智能. 其中数据库管理的工作大部分是由DBA在做, DBA们除了要保证正常的数据库运行, 还要采取必要措施提升数据库的性能, 比如数据库的性能优化, 以及保证数据库系统的高可用性. 我在前面发了几篇对SQL Server数据库进行调优的文章, 下面会再开一个SQL Server高可用性解决方案的主题.
笔者工作中也有很多场景会用到HA, 但因为没有进行过系统的学习, 所以处理HA问题时总觉得捉襟见肘. 索性, 就下决心把这几种高可用性解决方案都系统地过了一遍. 一下手, 才知道, 除了枯燥的MSDN文档, 完整讲解HA知识点的文档真心不多, 视频更是找不到, 估计很多朋友都跟我有相同的感受. 好吧, 那我就自己学, 自己配, 自己录, 把知识点及配置的过程都以视频形式记录下来, 以后用到的时候好复习, 有机会发到网上, 其他朋友看到后也更容易接受. 需要提一下的是, 这期间, 刚好有个IT学习网站让帮忙做些数据库视频, 所以中间会有一些他们的Logo, 希望大家不要介意.
今天上传的是第一种高可用性解决方案: 日志传送。 它的特点是设置简单, 对环境的要求相对比较低, 更多时候用在报表数据库上。 不足是实现的功能也相对简单, 不能实现自动故障转移群集, 不能进行双向更改。
视频链接
视频提纲:
o 事务日志传送是如何工作的
建立一个备用的服务器
更新时间可以被配置
需要使用完整恢复模型或大容量日志模型
依赖于备份/还原操作
不需要特殊的硬件支持
可以有多个备用数据库
o 角色:
主数据库,备用数据库,监测数据库
o 过程:
在主服务器上创建事务日志备份
文件被复制到备用服务器上
日志被还原到备用服务器上
NORECOVERY (数据库保持脱机状态)
STANDBY (数据库是只读的)
o 使用SSMS上设定日志传送:
准备主数据库
应用监测数据库
初始化备用数据库
复制日志文件
安全性设定/代理账户
可以计划备份与还原操作的间隔
创建需要的作业
o 管理日志传送
避免手动的备份(除了仅-复制备份)
日志传送信息 (存储在msdb数据库中)
主服务器(备份详细)
备用服务器(复制与还原详细)
监测服务器(上面两者中所有的数据)
事务日志传送报表(SSMS)
o 手动实施故障转移
禁用所有的日志传送作业
主数据库:备份并复制事务日志(如果必要的话)
在备用服务器上还原事务日志(记得加上with NORECOVERY选项)
在最后的一个日志还原上使用with RECOVERY选项
重新建立日志传送(可选的)
切换主从角色
可以通过禁用/启用作业来实现