alwayson 只读副本权限控制问题解决思路征集
山寨DBA 2015-09-02 06:12:02 环境:Windows server 2012 + sqlserver 2012 R2
功能:alwayson 实现读写分离 + 自动故障转移
问题(目前测试环境我已经折腾出来了,但是反复测试过程正发现如下坑爹的问题):即,可读副本权限控制问题。因为alwayson是针对于库级别的高可用性组,而且只读副本是“只读”的,导致alwayson搭好之后无法添加账号到只读副本上的各个库,所以故障切换之后主库(故障转移之前是只读辅库)没有原来主库的登录名等权限。
我这边目前的方案有两个,但是都非常不理想:
方案1:
主库写库正常read/write权限,并且准备一份主库写库程序访问的账号create的 脚本,随时在故障转移的时候执行(工作量较大,而且非常不灵活,人工干预过多,容易出错),同时 赋予程序访问只读辅库的账号sysadmin权限(这个凶险程度可想而知) 。
方案2:
辅助库+主库账号 全部授予sysadmin权限(凶险程度更上一层,但是相对而言管理简单,而且切换非常灵活,几乎不需要人工干预)
诸位大神对alwayson有深层研究的,有什么好的建议,请不吝赐教。
灰常感谢。。。