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;

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

相关推荐
向上的车轮1 分钟前
如何用DeepSeek定制大模型——智能Text-to-SQL专家系统
数据库·sql
一个有温度的技术博主8 分钟前
Redis主从同步进阶:深入理解增量同步与性能优化
数据库·redis·性能优化
榮華18 分钟前
DOTA全图透视辅助下载DOTA全图科技辅助下载DOTA外挂下载魔兽争霸WAR3全图下载
数据库·科技·游戏·游戏引擎·游戏程序·ai编程·腾讯云ai代码助手
蓝眸少年CY24 分钟前
Hbase - 入门到实战
大数据·数据库·hbase
DROm RAPS28 分钟前
SQL中如何添加数据
数据库·sql
zzh08130 分钟前
MySQL故障排查与优化笔记
数据库·笔记·mysql
光泽雨31 分钟前
mysql外键
数据库·mysql
惺忪979834 分钟前
Redis安装与启动
数据库·redis·缓存
|华|37 分钟前
PostgreSQL日常维护
数据库·postgresql
APguantou39 分钟前
NCRE-三级数据库技术-第9章-安全管理
数据库·安全·sqlserver