sql server 从库创建的用户名登录后访问提示数据库无权限

在主副本库创建登录名并且用户映射赋权指定的数据库权限,副副本库也创建登录名,主副本有权限访问数据库的权限,但是副副本没有权限访问数据库。

解决方案:

检查数据库用户是否映射到登录名

如果数据库用户已存在,但未正确映射到登录名,也会导致此错误。

  • 在目标数据库上运行以下查询,检查用户是否映射到登录名:

    USE your_database_name;

  • SELECT name, sid FROM sys.database_principals WHERE name = 'your_user_name';

  • 在服务器级别运行以下查询,检查登录名的 SID:

    SELECT name, sid FROM sys.sql_logins WHERE name = 'your_login_name';

如果两者的 SID 不一致,说明用户未正确映射到登录名。从库删除 login名后,通过指定sid(和主库的sid一样)重建:

drop login login_name;

GO

CREATE LOGIN login_name WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

重建之后密码可以不对,在修改密码即可。

相关推荐
captain3768 小时前
MyBatis(入门5)其他查询操作
java·数据库·spring boot·mybatis
小此方9 小时前
Re:Mysql数据库基础篇(八):详细讲解复合查询、多表查询、自连接、多行、多列子查询与合并查询
数据库·mysql
xszivvvv9 小时前
Mariadb数据库frm文件异常,如何恢复数据
数据库·mariadb
smile_life_9 小时前
MySQL 设置 防止账户被暴力破解
数据库·mysql
ShineWinsu10 小时前
对于Qt:QRadioButton常见属性以及QButtonGroup的解析
数据库·c++·qt·microsoft·gui·qradiobutton·qbuttongroup
测试盐10 小时前
oracle数据库卡顿排查
数据库·oracle
滕州市燕猫虎计算机科技工作室个体工商户10 小时前
MySQL、MVCC、多版本并发控制
数据库·mysql·mvcc·数据库事务
明航咨询-陈老师10 小时前
ITSS运行维护服务能力成熟度认证技术纵深:标准模型、等级路径、2026审核趋势与CS/CMMI对比
服务器·数据库·cmmi
缓慢更新11 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
AI小百科11 小时前
向量数据库:AI 的「记忆仓库」是怎么工作的
数据库·人工智能·oracle