Sql Server主副本和辅助副本间账号同步以及权限同步

问题描述

SqlServer如果配置了AlwaysOn,其数据库账号信息同步会出现问题。

我遇到的情况是在主副本添加了账号信息,且给某个数据库添加了权限,这个账号会同步至辅助副本,但是数据库角色信息没有同步,也就是数据库权限信息没有同步至辅助副本

这是一个比较头疼的问题,因为直接在辅助副本添加不了权限信息或数据库角色信息,因为辅助副本只读。

解决方式

以下是我采用的解决方法,用于主副节点同步账号和权限信息:

1.先在主副本建立建立登录账号以及赋予数据库角色和权限

2.如果在辅助节点有账号但是没有角色和权限信息,则直接把副本节点的登录账号删除(安全性中的登录名),如果本来只有主副本有账号直接进入第3步

3.查询主副本的词账号的sid信息

SELECT * FROM [dbName]..Sysusers

4.在辅助副本建立账号(这时会同步权限信息)

CREATE LOGIN [ogg_wkc] WITH PASSWORD='?',SID=?,
DEFAULT_DATABASE=[dbNames],
CHECK_EXPIRATION=OFF,
CHECK_POLICY=OFF

 

posted @ 2019-07-01 18:29  Liar。  阅读(561)  评论(0编辑  收藏  举报