SQL Server AlwaysOn部署后的主从数据库用户映射问题

SQL Server AlwaysOn部署后的主从数据库用户映射问题

问题

在部署完Sql Server Always on之后,遇到用户登陆SQL数据库的问题,用户分为两种,一种windows用户验证登陆,一种是SQL Server登陆用户登陆,前者映射没有问题,但是通过第二种方式登陆时出现了问题:DB01主库 DB02从库 ,业务数据库CRM, 01创建完用户 映射CRM数据库之后,切换到02库 创建用户,映射CRM数据库时 提示映射用户已存在。

原因

这是因为CRM数据库已经和DB01做了映射关系,虽然DB02的登陆用户名一样,但是SID不一致,在DB02上用相同的名字去映射CRM库时就会出现一样的名字,映射存在。

解决办法

1. 笨办法

在02数据库创建登陆用户时名字和DB01做区分,映射数据完了之后,再将登陆名改为一样的。这样就可以通过监听来直接登陆到高可用组的数据库。缺点:每次修改用户权限都要调整两次 而且还需要切换主从库。

2. 好办法

既然在DB02上创建映射时 是因为名字一样,SID不一样,那么我们可以保持DB02的登陆用户名字和sid和DB01的一样就可以了。

  1. 查询DB01上的登录用户sid:
select sid,name,* from sys.syslogins
  1. 在DB02上创建一样的账号:
create login [登陆用户名] with password = '密码',
SID = sid,
default_database = [CRM_MSCRM], --- 默认数据库
check_expiration =OFF, --- 强制密码过期 
check_policy = OFF   ---- 强制密码策略

运行,查看,完美解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mu_sang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值