设为首页 加入收藏

TOP

SQL Server Always On 读写分离配置方法
2017-03-03 08:15:38 】 浏览:405
Tags:SQL Server Always 读写 分离 配置 方法


需要自定义来解决这个问题。?


主角色中的连接


可读辅助副本


?


第一种


第二种


第一种方式能够进行更多地自定义,但是已经脱离sqlserver always on技术了,因此不讨论了


第二种方式对于客户端来讲更傻瓜点,但是自定义力度小,全依托于ms未来怎么改进这块了,而且这里有些坑。


坑1:UI图形界面设置后,还需要执行脚本来建立读写分离支持


建立read指针 - 在当前的primary上为每个sqlserver instance建立[instance name=>instance tcp url] Map


建立primary, read db ur list关系 - 在当前的primary上为各个primary建立对应的read only url 列表(有优先级概念)


可以通过如下语句查看这个关系,以及相应的优先级:



这里的routing_priority就是优先级


坑2:客户端需要指定访问的数据库以及加入ReadOnly关键字


C#连接字符串


SSMS方式


坑3:Hosts文件设置


由于SQL Server Always On依赖于Windows集群,而Windows集群依赖于活动目录,而客户端程序所在server很可能没有加入域,因此这里的解析存在问题


由于这种读写分离的方式,实际上是客户端先连接到侦听器ip,然后通过协商后,让客户端再连接到具体的副本上(用tcp url,使用了全名的,如:sql1.ad.com这种格式,在ad外部默认无法解析),因此需要修改hosts文件,为每个可能成为read的全名增加记录,如下:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle固定SQL的执行计划(一)---S.. 下一篇SQL Server 数据库分离与附加图文..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目