Log Shipping搭建
1. 概述
SQL Server 使用日志传送,您可以自动将“主服务器”实例上“主数据库”内的事务日志备份发送到单独“辅助服务器”实例上的一个或多个“辅助数据库”。事务日志备份分别应用于每个辅助数据库。可选的第三个服务器实例(称为“监视服务器”)记录备份和还原操作的历史记录及状态,还可以在无法按计划执行这些操作时引发警报。当主服务器因故障停机时,您就可以将备份服务器更改为新的主服务器。如果原来的主服务器可重新上线使用,那么您可以将其设定为新的备份服务器 - 事实上就是对调两台服务器的角色。
2. 目的
主要测试SQLSERVER2008R2企业版日志自动传送、自动装载功能、主运行服务器与备份服务器的角色切换功能及通过监视服务器对日志传送及备份服务器进行维护。
3. 测试环境
3.1. 主服务器
Windows 2008R2 64bit,2G Mem,CPU 2.0GHz,局域网,IP:192.168.102.4x
3.2. 辅助服务器
Windows 2008R2 64bit,2G Mem,CPU 2.0GHz,局域网,IP:192.168.102.4y
3.3. 监视服务器
Windows 2008R2 64bit,2G Mem,CPU 2.0GHz,局域网,IP:192.168.102.4z
3.4. 共享服务器
Windows 2008R2 64bit,2G Mem,CPU 2.0GHz,局域网,IP:192.168.102.4w
4. 配置日志传送
4.1. 准备工作
4.1.1. 账户建立
Windows账户建立:分别在”主服务器”,”辅助服务器”,”监视服务器”,”共享服务器”上建立本地帐号”daleadmin”,密码设置相同,并加入administrators组。
4.1.2. 文件夹建立及共享安全设置
在共享服务器上建立文件夹”Logfiles”,同时设置共享,在”权限”中加入帐号”daleadmin”,允许其对该文件夹有读写权限。该文件夹主要用于主服务器日志备份。
在主服务器及辅助服务器上建立文件夹Logfiles,权限同上设置。该文件夹主要用于拷贝及还原日志备份文件。
4.1.3. SQLServer启动账户设置
主服务器,辅助服务器,监视服务器 上的SQLServer的服务及代理服务均以daleadmin
账户启动。
4.1.4. 主服务器上备份数据库
|
use master |
4.1.5. 辅助服务器上还原数据库
|
--还原全备份 |
4.2. 配置日志传送
在主服务器上配置日志传送
4.2.1. 事务日志备份设置,如下图

4.2.2. 添加辅助服务器并设置辅助数据库如下图



4.2.3. 设置监视服务器
4.2.4. 测试日志传送效果
经过以上配置,日志传送已经配置成功,观察辅助服务器,将处于(备用/只读)模式。
下面我们来测试是否真正成功。
主服务器执行
|
create table table11(id int) |
过几分钟查看辅助服务器,发现已成功创建table11,同时我们也可以通过在监视服服务器执行以下存储过程,查看日志传送的状态。
|
use master |
同时也可以通过查看错误日志了解日志传送的结果。
5. 辅助服务器切换为主服务器
5.1. 模拟故障
5.1.1. 将主服务器(192.168.102.4x)的SQLServer服务器停止
5.1.2. 到指定文件夹下删除Northwind数据文件
5.1.3. 重启SQLServer服务,此时数据库Northwind已损坏,为不可用状态。
5.1.4. 尾日志备份(假定此时主数据库实例尚未损坏,仍可以执行T-SQL)
|
backup log Northwind |
5.2. 拷贝文件
5.2.1. 执行辅助服务器的上的拷贝作业或者手动的拷贝还没拷贝的日志文件到”D:\logfiles”
5.2.2. 手动拷贝主数据库的尾日志备份文件Northwindlog.bak到D:\logfiles
5.3. 还原日志
5.3.1. 执行辅助服务器上的还原作业还原尚未还原的日志文件
5.3.2. 手动还原尾日志备份文件
|
restore database Northwind |
6. 主/辅助服务器角色互换
6.1. 作业禁用
6.1.1. 禁用原主服务器(192.168.102.4x)上的备份作业
6.1.2. 禁用辅助服务器(192.168.102.4y)上的拷贝及还原作业
6.1.3. 禁用监视服务器(192.168.102.4z)上的警报作业
6.2. 重新配置日志传送
配置方法参照上面方法
6.2.1. 192.168.102.4y上配置日志传送,此时该服务器为主服务器
6.2.2. 192.168.102.4x 为辅助服务器
6.2.3. 192.168.102.4z 为监视服务器
6.3. 删除日志传送
删除原主服务器(192.168.102.4x)上的日志传送,取消勾选”将此数据库启用为日志传送配置中的主数据库”即可
7. 总结
7.1. 问题总结
7.1.1. 注意点
7.1.1.1. 如果主服务器上的SQL Server服务账户运行在本地系统账户下,必须在主服务器本地建立文件夹,并指定该文件夹的本地路径。一般建议建立专门的账户
作为SQLServer及SQLAgent 服务的启动账户。
7.1.1.2. 如果选择让”Management Studio”从数据库备份中初始化辅助数据库,默认情况下辅助数据库的数据文件及日志文件将于master数据库的数据文件和日志文件放置在同一位置。此位置可能与主数据库的数据及日志文件处于不同的位置。
7.1.1.3. 若要监视此日志传送,必须添加监视服务器,若要以添加监视服务器,则需要删除此日志传送配置,然后重新配置。
7.1.1.4. 主服务器日志截断只能通过备份日志,然后收缩日志文件完成,且备份的日志文件必须手动拷贝至辅助服务器进行手动还原否则,日志传送会失败。
7.1.2. 错误日志分析
7.1.2.1. 错误日志内容
错误14421,严重性16,状态1
the log shippingsecondary database TestServer2.Northwind has restore threshold of 8 mintues and is out of sysnc.
No restore wasperformed for 1 minitues.
Check agent log andshipping monitor information
7.1.2.2. 导致该问题的可能原因
7.1.2.2.1. 主备服务器日期时间相差很大(待测试)
7.1.2.2.2. 辅助服务器与监视服务器之间验证出现了问题,辅助服务器运行的还原作业不能连接到监视服务器的MSDB数据库以更新log_shipping_secondaries表中正确的值。
7.1.2.2.3. 如果还原采用备用模式,且没有勾选”在还原备份时候断开与用户的连接”,还原时候有用户连接上来也会报类似错误。
7.1.2.2.4. 主数据库手动进行了日志备份但没有手动复制过去还原也会报类似的错误。
Log Shipping搭建的更多相关文章
- Configure Log Shipping
准备工作 两台装有的Windows Server 2012R2以及SQL Server 2012的服务器 下载评估版 Windows Server 2012 R2 下载 Microsoft SQL S ...
- SQL Server Log Shipping学习总结
SQL Server的日志传送(log shipping)技术一直比较鸡肋,尤其当SQL Server 推出了Always On技术以后,估计使用日志传送(log shipping)这种技术方案的 ...
- SQL Server数据库log shipping 灾备(Part2 )
3.配置步骤: 主服务器(A机)设置 (1) 启用Log Shipping Configuration 右键单击需要配置日志传输的数据库->Tasks-> Ship Transaction ...
- SQL Server数据库log shipping 灾备(Part1 )
1.概述 Log Shipping为SQL Server提供的数据库备份过程.它可以将数据库整个复制到另一台服务器上.在这种情况下,交易日志也会定期发送到备份服务器上供恢复数据使用,这使得服务器一直处 ...
- 转 ORA-16191 "Primary log shipping client not logged on standby
###sample 0 原因未知: 解决办法,重建密码文件 primary db :alter system set log_archive_dest_state_2=defer sid='*' sc ...
- 第三篇——第二部分——第二文 计划搭建SQL Server镜像
原文:第三篇--第二部分--第二文 计划搭建SQL Server镜像 本文紧跟上一章:SQL Server镜像简介 本文出处:http://blog.csdn.net/dba_huangzj/arti ...
- SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之AlwaysOn可用性组搭建
因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...
- DatabaseMirroring搭建
1. 概述 数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎 服务器实例上.通常,这些服务器实例驻留在不同位置的计算机上.启动数据库上的数据库镜像 ...
- ApexSql Log 2016破解版&补丁
绿色破解版: http://download.csdn.net/detail/gsyifan/9316993 官网: https://www.apexsql.com/sql_tools_log.asp ...
随机推荐
- 001.SSH配置文件
一 ssh配置文件路径 1.1 ssh客户端配置文件: 路径:/etc/ssh/ssh_config 1.2 ssh服务端配置文件: 路径:/etc/ssh/sshd_config 二 服务器端常用配 ...
- [原创]Linux下网络性能测试Netperf工具介绍及安装
[原创]Linux下网络性能测试Netperf工具介绍及安装 1 官方网站 http://www.netperf.org/netperf/ 2 Netperf介绍 Netperf是一种网络性能的测试工 ...
- 任务调度框架Hangfire 简介
任务调度是我们项目中常见的功能,虽然任务调度的功能实现本身并不难,但一个好用的轮子还是可以给我们的开发的效率提升不少的. 在.net环境中,较为有名的任务调度框架是HangFire与Quartz.NE ...
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(三)——基本操作
CefSharp本身提供了WPF和WinForm两个版本的控件,这两个版本的控件使用方法大同小异,由于我WPF的版本用的较多,这里就简单的介绍下WPF版的CEFSharp控件的用法. 加载页面: Ch ...
- Project 03- STM32F4xx PID controller
Project 03- STM32F4xx PID controller CMSIS files from ARM provides ARM Math functions. There are als ...
- C#基于SMTP协议和SOCKET通信,实现邮件内容和附件的发送,并可隐藏收件人
经过几天的努力,从完全不懂SMTP到折腾出个可以发送邮件内容和附件的DEMO.话少说,直接上代码. using System; using System.Collections.Generic; us ...
- PGXZ-腾讯全功能分布式关系数据集群
PGXZ-腾讯全功能分布式关系数据集群
- 初探C++类模版学习笔记
类模板 实现:在定义类的时候给它一个或多个參数,这个些參数表示不同的数据类型. -->抽象的类. 在调用类模板时, 指定參数, 由编译系 ...
- Linux声卡驱动框图
1.声卡驱动注册完成后的框图 2.open & hw_params 完.
- AngularJS路由系列(3)-- UI-Router初体验
本系列探寻AngularJS的路由机制,在WebStorm下开发. AngularJS路由系列包括: 1.AngularJS路由系列(1)--基本路由配置2.AngularJS路由系列(2)--刷新. ...