我有一个服务器登录名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”,则一切正常。 我的错误在哪里?什么不对?
答案 0 :(得分:1)
sysadmin
服务器角色的成员隐式映射到所有数据库中的dbo
用户。用户角色成员资格与sysadmin
角色成员无关,因为未检查权限。