请教关于SQLSEVER2012高可用性与负载均衡的问题!请大家指教!

一只熊猫 2016-06-23 10:30:55
我这边有三台sqlserver,分别在北京、河南、四川,配置故障转移集群后开启了高可用性服务,请问能否在此基础上实现:全国的用户访问高可用性组时,后台能自动选择延迟最低的物理服务器?

谢谢大家。
...全文
440 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 楼主 Going1981 的回复:
我这边有三台sqlserver,分别在北京、河南、四川,配置故障转移集群后开启了高可用性服务,请问能否在此基础上实现:全国的用户访问高可用性组时,后台能自动选择延迟最低的物理服务器? 谢谢大家。
sqlserver2012根本就不支持负载均衡,只会连接到你的主库,如果有查询业务可以直接指定连接备库地址。只能这样变通分担主库压力!
kingtiy 2016-06-24
  • 打赏
  • 举报
回复
说下我的一种设想的方法. 其实现实中我也用过 有种方法,可以以使用分布式分区视图来实现. 假设有数据库服务器A,B,C 有数据表:TB,TB表需要建立分区+约束, 如哪一段时间的数据,或者哪个范围的数据在TB表.--服务器A, 服务器B,限定另个和A不重叠的时间.或范围 服务器C限定和A,B不重叠的时间或范围 这样,就通过约束把一个表的数据拆分到三台服务器存储了. 在A,B,C服务器上面分别建立TB表,及A,B,C之间的内数据库链接服务器(DBLINK) 在A,B,C上面分别建立视图.V_TB create view V_TB as select * from.DB.dbo.TB union select * from B.DB.dbo.TB union select * from C.DB.dbo.TB 三台服务器均建立此视图. 注意修改链接服务器的名称. 操作的时候不直接操作TB表,而是操作视图,如insert into V_TB ..... 操作数据的时候就把数据分布到三台(N)服务器了. 查询的时候,按条件来查询,也会从三台(N)不的服务器查询数据. 这样一定程度通过数据库的实现了类似的负载均衡. 当然这里约束需要加在主键,或者分区键上面,效果才好. 大概的原理及思路如上,希望对楼主有点用
一只熊猫 2016-06-24
  • 打赏
  • 举报
回复
谢谢版主! 我想多了,哈哈。
一只熊猫 2016-06-24
  • 打赏
  • 举报
回复
引用 5 楼 kingtiy 的回复:
说下我的一种设想的方法. 其实现实中我也用过 有种方法,可以以使用分布式分区视图来实现. 假设有数据库服务器A,B,C 有数据表:TB,TB表需要建立分区+约束, 如哪一段时间的数据,或者哪个范围的数据在TB表.--服务器A, 服务器B,限定另个和A不重叠的时间.或范围 服务器C限定和A,B不重叠的时间或范围 这样,就通过约束把一个表的数据拆分到三台服务器存储了. 在A,B,C服务器上面分别建立TB表,及A,B,C之间的内数据库链接服务器(DBLINK) 在A,B,C上面分别建立视图.V_TB create view V_TB as select * from.DB.dbo.TB union select * from B.DB.dbo.TB union select * from C.DB.dbo.TB 三台服务器均建立此视图. 注意修改链接服务器的名称. 操作的时候不直接操作TB表,而是操作视图,如insert into V_TB ..... 操作数据的时候就把数据分布到三台(N)服务器了. 查询的时候,按条件来查询,也会从三台(N)不的服务器查询数据. 这样一定程度通过数据库的实现了类似的负载均衡. 当然这里约束需要加在主键,或者分区键上面,效果才好. 大概的原理及思路如上,希望对楼主有点用
我也差不多这么考虑的,哈。 看来还是版主说得对,得在应用层想办法。
一只熊猫 2016-06-24
  • 打赏
  • 举报
回复
引用 6 楼 Going1981 的回复:
那请问在高可用组的情况下,多个辅助副本都设为可读的情况时,用户进行读操作时到底连接的是哪台物理服务器呢?
好吧,测试了,通过可用性组的IP去访问数据时,始终连接的都是组中角色为“主要”的物理服务器。
kingtiy 2016-06-24
  • 打赏
  • 举报
回复
引用 6 楼 Going1981 的回复:
那请问在高可用组的情况下,多个辅助副本都设为可读的情况时,用户进行读操作时到底连接的是哪台物理服务器呢?
只有一个主服务器.业务连接的是这台主服务器.
一只熊猫 2016-06-24
  • 打赏
  • 举报
回复
那请问在高可用组的情况下,多个辅助副本都设为可读的情况时,用户进行读操作时到底连接的是哪台物理服务器呢?
卖水果的net 版主 2016-06-23
  • 打赏
  • 举报
回复
这个不是数据库的范畴; 你可以在应用服务器上配置负载均衡;
唐诗三百首 2016-06-23
  • 打赏
  • 举报
回复
高可用性服务仅仅是确保高可用, 无法实现负载均衡. 据我所知, SQL Server暂无负载均衡的功能,建议考虑读写分离.
一只熊猫 2016-06-23
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:
这个不是数据库的范畴; 你可以在应用服务器上配置负载均衡;
好的

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧