SQL Server2012高可用之日志传送测试

image

 

 

(一)日志传送架构

image

(1.1)相关服务器

主服务器   :用于生产的服务器,上面运行这生产SQL Server数据库;

辅助服务器:用于存放主服务器上数据库的一个“镜像”数据库;

监控服务器:用来监控日志传送状态的一个服务器,可选;

(1.2)文件夹

与日志传送有关的文件夹一共有2个:

共享文件夹:该文件夹用于存放主数据库上备份出来的日志,一般位于主服务器上,主服务器和辅助服务器都必须要能够访问该文件夹

目标文件夹:该文件夹用来接收从共享文件夹拷贝过来的日志,位于辅助服务器上;

(1.3)作业

与日志传送相关的作业一共有3个:

主服务器的备份作业:在主服务器上备份事物日志,把日志存放到共享文件夹中;

辅助服务器上的复制作业:把共享文件夹中的日志复制到目标文件夹中;

辅助服务器上的还原作业:将目标文件夹中的日志还原到辅助数据库上;

通过上图,可以总结出日志传送的流程:

1.主库的备份作业定期执行日志备份操作,将日志保存到共享文件夹

2.备库的复制作业定期从共享文件夹将新的日志文件拷贝到备库的目标文件夹

3.备库的还原作业定期使用目标文件夹中的日志还原备库;

 

(二)基础环境

 

主库

备库

操作系统

Windows Server 2012 R2 64bit

Windows Server 2012 R2 64bit

数据库版本

cn_sql_server_2012_enterprise_edition_x86_x64

cn_sql_server_2012_enterprise_edition_x86_x64

服务器名称(IP)

WIN-PRIMARY(192.168.10.111)

WIN-STANDBY(192.168.10.112)

同步数据库信息

lijiamandb

lijiamandb

 

(三)搭建过程中遇到的问题

(3.1)报错信息

由于在写文档之前多次搭建均没有成功,报错如下:

wps85

标题: Microsoft SQL Server Management Studio

------------------------------

SQL Server Management Studio 无法还原数据库“masterdb”

其他信息:

执行 Transact-SQL 语句或批处理时发生了异常。 (SqlManagerUI)

无法打开备份设备 '\\WIN-PRIMARY\logshipping_master\masterdb.bak'。出现操作系统错误 5(拒绝访问。)。

RESTORE FILELIST 正在异常终止。 (Microsoft SQL Server,错误: 3201)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=11.00.2100&EvtSrc=MSSQLServer&EvtID=3201&LinkId=20476

(3.2)解决方案

该报错提示备库无法打开主库上的共享文件夹\\WIN-PRIMARY\logshipping_master\masterdb.bak,但是我手动从备库上去访问主库的共享文件夹是可以正常访问的,不知道是什么原因,找了很久也没有找到方案。

最终我是搭建了域环境,主库为域服务器,备库加入到主库的域中,然后创建了域账号test\loguser,使用test\loguser账号启动主库和备库的代理,最终才同步成功。因此本文的日志传送是在域环境中搭建成功的。

 

(四)域环境搭建

(4.1)主库搭建域服务器

STEP1:打开“服务器管理器”-->“添加角色和功能”

wps86

STEP2:开始之前。默认,下一步

STEP3:安装类型。选择“给予角色或功能的安装”,下一步

STEP4:服务器选择。默认,下一步

STEP5:服务器角色。勾选“Active Directory域服务”

wps87

STEP6:功能。默认,下一步

STEP7:AD DS。默认,下一步

STEP8:确认。点击“安装”

wps88

STEP9:安装完成,在服务器管理器中进行配置

wps89

STEP10:部署配置,指定根域名

wps90

STEP11:域控制选项,输入DSRM密码,随便填写

wps91

STEP11:DNS选项,有告警信息,忽略,直接下一步

wps92

STEP12:其它选项。默认,下一步

wps93

STEP13:路径。默认,下一步

STEP14:查看选项。默认,下一步

STEP15:先决条件检查。安装

STEP16:安装完成后,服务器会自动重启,重启后,我们就可以看到这台服务器已经加入了域

wps94

(4.2)备库服务器加入到域中

STEP1:修改备库服务器的DNS信息,将AD服务器的IP填入里面

wps95

STEP2:点击“这台电脑”-->“属性”

wps96

STEP3:点击“更改设置”

wps97

STEP4:点击“更改”

wps98

STEP5:添加域配置

wps99

STEP6:添加成功,会有提示

wps100

STEP7:重启计算机,域配置才会生效

(4.3)主库域服务器上创建域账号(在域服务器上操作)

STEP1:点击“服务器管理器”-->“工具”-->“Active Directory用户和计算机”

wps101

STEP2:选择“Users”-->右键“新建”-->“用户”

wps102

STEP3:创建域账户

wps103

输入密码,这里建议把“用户下次登录时须修改密码”去除勾选

wps104

STEP4:完成创建

wps105

(4.4)关闭防火墙(主库和备库)

域环境搭建完成后,会多出一个域网络的防火墙,全部关闭

wps106

 

(五)日志传送环境搭建

(5.1)主库创建共享文件夹

主库创建共享文件夹,用于存放日志。

STEP1:创建文件夹logshipping,我直接放在C盘,如果是生产环境,建议不要放在C盘

wps107

STEP2:点击文件夹“logshipping”,右键“属性”-->“共享”

wps108

STEP3:添加共享用户“loguser”,权限设为“读取/写入”,经过测试,还需要把everyone用户也给加上

wps109

STEP4:从备库服务器访问共享,确认无问题

wps110

(5.2)备库创建日志目标文件夹

备库创建logrepl文件夹,并授权给test\loguser用户

wps111

wps112

(5.3)修改SQL Server代理的登录身份为test\loguser(主库备库均修改)

打开“SQL Server配置管理器”,点击“SQL Server服务”-->“SQL Server代理”,双击弹出“SQL Server代理属性”,修改用户为test\loguser,最后确定。

wps113

(5.4)主库配置日志传送

(1)主库基础环境

为了后续验证数据是否同步,先在待同步的数据库“lijiamandb”中建2个表,test01和test02,数据如下

wps114

(2)日志传送配置

STEP1:点击“lijiamandb”-->“任务”-->“传送事物日志”

wps115

STEP2:勾选“将此数据库启用为日志传送配置中的主数据库”,然后点击备份设置

wps116

STEP3:填写备份路径,该路径是之前创建的共享文件夹,在“计划”中修改备份时间,改为3分钟1次,代表每隔3分钟主库会将产生的日志存放到共享文件夹。

wps117

STEP4:备份配置完成后,开始配置辅助数据库,点击“添加”

wps118

STEP5:点击“连接”,输入辅助数据库(备库)的连接信息

wps119

STEP6:初始化辅助数据库。因为没有可用的备份,故勾选“是,生成主库的完整备份...”

wps120

复制文件。填写备库的目标文件夹,修改复制作业的时间为每3分钟执行一次,代表每隔3分钟,备库会将共享文件夹中的新日志复制到目标服务器的目标文件夹

wps121

还原事物日志。数据库状态改为备用模式,还原作业改为每隔3分钟执行一次,代表每隔3分钟,备库会将目标文件夹的日志进行还原操作

  • 无恢复模式:用户不可以只读访问数据库;
  • 备用模式  :备库处于只读状态。但是,备库值执行还原操作时,还原进程需要独占访问数据库,如果用户正在运行SQL语句,那么还原进程将无法还原数据库,还原作业会等到下一个还原间隔时再次尝试还原数据库。如果勾选了“在还原备份时断开数据库中用户的连接”,那么数据库在进行还原操作时,会断开用户的连接,保证还原操作正常进行。

wps122

STEP6:最后点击确定即可

wps123

STEP7:开始进行备库还原操作

wps124

(5.5)备库确认数据是否正常产送过来

经确认,主库的所有数据均以同步到备库

wps125

 

(六)日志传送测试

(6.1)添加新表

结果:主库添加新表,备库自动同步过去。

(6.2)删除表

结果:主库删除表,备库也会自动删除。

(6.3)修改表结构

结果:主库修改表结构,备库自动修改

(6.4)插入、更新、删除数据

结果:主库执行插入、更新、删除操作,备库也会自动同步操作

(6.5)truncate表

结果:主库执行truncate操作,备库也会同步操作

 

(七)监控日志传送

(7.1)主库查看日志备份作业是否运行正常

打开主库SSMS“对象资源管理器”-->“SQL Server代理”-->”作业”,右键“查看历史记录”,即可看到日志备份作业的运行情况。

wps126

(7.2)备库查看日志复制作业和日志还原作业是否运行正常

打开主库SSMS“对象资源管理器”-->“SQL Server代理”-->”作业”,右键“查看历史记录”,即可看到日志复制作业和日志还原作业的运行情况。

wps127

 

(八)总结

优点 无论主库做什么操作,备库均可以同步过来,无需DBA介入
缺点 1.备库数据同步存在延迟,时效性较差
2.备库在做恢复操作时,是不可以查询数据库的,体验较差

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


本篇内容主要讲解“sqlalchemy的常用数据类型怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“sqlalche...
今天小编给大家分享一下sqlServer实现分页查询的方式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家
这篇文章主要介绍“sqlmap之osshell怎么使用”,在日常操作中,相信很多人在sqlmap之osshell怎么使用问题上存在疑惑,小编查阅了各式资料,整理出
本篇内容介绍了“SQL注入的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧...
1. mssql权限sa权限:数据库操作,文件管理,命令执行,注册表读取等system。是mssql的最高权限db权限:文件管理,数据库操作等 users-administratorspublic权限:数据库操作 guest-users2、sql server注入执行命令查
sql执行计划如何查看?在SPL庞大的数据中我们不知道如何查看实际数据库中发生了什么事情,有必要定期进行查询优化和索引否则会影响我们后期的SQL的查询速度。那么针对这样的问题我们必须要知道SQL执行的计划,在本文中winwin7小编给大家分享下SQL执
SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点应用非常广泛。不过在使用中,我们会遇到非常多的错误,面对这么庞大的数据库环境,当然会有精确的错误代码的对照季,下面小编分享的
SQL Server本地账户无法登陆出现错误提示:error:40-Could not open a connenction to SQL Server的问题很常见,对于初学者来说可能不知道如何解决,一起来看看下面的解决方案。解决步骤如下:1、这种情况需要开启 SQL Server service
微软推出的SQL2008是一款非常好用的数据库软件,它稳定、功能强大,为众多企业提供了最佳的数据库解决方案,那么我们如何在Windows中安装它呢,一些朋友对SQL Server 2008的安装过程还不是很熟悉,下面就一起来看看SQL Server 2008详细安装图解...
本页概要如果您使用的是 SQL Server 2005备份和还原Sp_detach_db 和 Sp_attach_db 存储过程关于排序规则的说明导入和导出数据(在 SQL Server 数据库之间复
DBCC CHECKIDENT 检查指定表的当前标识值,如有必要,还对标识值进行更正。 语法 DBCC CHECKIDENT ( 'table_name' [ , { NORESEED
这里对 SQL Server 字符串函数进行分门别类地列出,便于查阅和记忆,相信大家都在其它方面有高深的编程基础,从字面上来说大家都知道这些函数的意义,就不对这些函数作过多的解释了,主要谈些经验,具体
查询及删除重复记录的方法 1、查找表(people)中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select*frompeoplewherepeopleIdin(selectpe
微软发SQL Server 2008第二个CTP预览版from: http://news.csdn.net/n/20070807/107158.html8月7日消息,微软公司本周发布了SQL Serv
症状当您将数据库备份恢复到另一台服务器时,可能会遇到孤立用户的问题。SQL Server 联机丛书中的孤立用户疑难解答主题中没有讲述解决此问题的具体步骤。本文介绍了如何解决孤立用户问题。更多信息虽然术
当登录SQL Server 2005时可能碰到错误: 'No Process is on the Other End of the Pipe'。解决方法:(1)Open up SQL
概要本文描述如何映射标准登录和集成登录来解决在运行 SQL Server 的服务器之间移动数据库时的权限问题。更多信息当您将数据库从一个运行 SQL Server 的服务器移到另一个运行 SQL Se
----------------------------------------问题:该用户与可信的SQL SERVER 连接无关联使用sa用户或自建用户使用“SQL SERVER 身份认证”连接数据
更新日期: 2007 年 5 月 20 日 使用下表可以确定各种版本的 Microsoft SQL Server 2005 支持哪些功能。有关 SQL Server 2005 Enterprise E
当从Excel导入数据到Sql Sever中,可能会出现以下问题:
对于指定的缓冲区大小而言,源列的数据太大