sqlserver从库创建的用户名登录后访问提示数据库无权限
- 创业
- 2025-08-24 02:33:01

在主副本库创建登录名并且用户映射赋权指定的数据库权限,副副本库也创建登录名,主副本有权限访问数据库的权限,但是副副本没有权限访问数据库。 解决方案: 检查数据库用户是否映射到登录名
如果数据库用户已存在,但未正确映射到登录名,也会导致此错误。
在目标数据库上运行以下查询,检查用户是否映射到登录名:
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;
重建之后密码可以不对,在修改密码即可。
sqlserver从库创建的用户名登录后访问提示数据库无权限由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“sqlserver从库创建的用户名登录后访问提示数据库无权限”