我有一个用户(d2user),此用户的角色只能读写..所以我们使用db_datareader
sys proc添加了角色db_datawriter
和sp_addrolemember
。
但是当我使用此用户登录时..我可以更改此用户拥有的表模式。
这完全适用于不应该工作的地方。
ALTER SCHEMA guest TRANSFER dbo.TestData;
GO
我尝试使用以下方法限制它:
REVOKE Alter any schema ON ROLE::db_datareader FROM d2user CASCADE;
然而没有运气我得到错误的语法错误,这个用户仍然可以改变架构..有人可以帮助plss吗?
答案 0 :(得分:0)
用户拥有ALTER权限,因为他们拥有
之一您可以撤销ddl_admin,但其他2 总是有权更改内容
您可以使用这些
检查角色权限EXEC sp_helprolemember; -- uses sys.database_role_members if you prefer to query this
EXEC sp_helpsrvrolemember;