小弟最近遇到一个问题,那就是使用sql server AlwaysOn高可用组进行读写分离,我有几个疑问点如下:
我建立了一个两个节点的高可用组,例如A和B,也进行了同步,并且创建了一个侦听器L,A和B的配置如下图:
同时已经配好了“只读路由表”
这个时候,我如果在应用程序里的连接字符串添加ApplicationIntent=ReadOnly选项,那么我想插入数据的时候,就会出错,
这个问题应该就是因为在“可读辅助副本”设置了仅读意向,所以造成了不可写。
我看了一些资料,上面在使用侦听器作为连接字符串的地址时候,会先发送请求到主副本,然后主副本根据只读路由表,把只读请求分到辅助副本上,那么问题来了,如果主副本和辅助副本都设置了只读,那么怎么写数据呢?难道需要写两个连接字符串,写的时候去掉ReadOnly,读的时候加上? 或者读写分离不是这么配置的,怎么才能实现在我应用程序写的时候能够将数据插入到A数据库,而读数据的时候从B中读?
或者对于AlwaysOn读写分离大家有什么指导,请不吝赐教。万分感谢!!
我最近也在做测试,好象加上ReadOnly后,就只能做读的讲求,不能写入,目前做法是,写两个连接字符串,对于有写讲求,使用不加ReadOnly的连接字符串,对于只读的才调用加ReadOnly的连接字符串。
我也做了测试但侦听器怎么连不上