SQL Server登录名和数据库用户:为什么没有数据库角色?

时间:2018-09-06 10:32:08

标签: sql-server

我有一个服务器登录名myuser,并映射到它的数据库用户myuser。 数据库用户myuser具有数据库角色:mydbrole。 我可以看到它正在执行查询:

SELECT  dbo.sysusers.uid, dbo.sysusers.name,IS_MEMBER(dbo.sysusers.name) as ismemeber
FROM    dbo.sysusers 
WHERE dbo.sysusers.issqlrole = 1 
AND IS_MEMBER(dbo.sysusers.name)=1

然后,我将服务器角色“ sysadmin”添加到登录名“ myuser”,并且相同的查询不再显示该用户具有数据库角色“ mydbrole”。如果我从登录名中删除“ sysadmin”,则一切正常。 我的错误在哪里?什么不对?

1 个答案:

答案 0 :(得分:1)

sysadmin服务器角色的成员隐式映射到所有数据库中的dbo用户。用户角色成员资格与sysadmin角色成员无关,因为未检查权限。