1.用读写分离的原因:
- O、读写量很大,为了提升数据库读写性能,将读写进行分离;
- O、如果多机房下写少读多,同时基于数据一致性考虑,只有一个主库存入所有的数据写入,本地再做从库提供读取,减少多机房间直接读取带来的时延。
2.sqlserver AlwaysOn读写分离配置
Alwayson相对于数据库镜像最大的优势就是可读副本,带来可读副本的同时还添加了一个新的功能就是配置只读路由实现读写分离,2016及以上版本甚至实现只读负载。
- 设置高可用Always On
- 右击可用性组设置属性常规设置,设置主角色允许读写连接,可读副本设置为只读意向。
- 然后关键性一步就是设置只读路由
2016以下版本数据库可视化连接工具可能没显示只读路由的选项,你可以也可以用命令实现路由指定。
2014只读只支持单负载命令
--设置集群路由
ALTER AVAILABILITY GROUP [可用性组名]
MODIFY REPLICA ON
N'DB1(DB名)' WITH
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('DB2','DB3')));
ALTER AVAILABILITY GROUP [SQLAlwayOn_Te