首先,sry,因为我不是一个DBA,我不熟悉所有的权限。
我的问题是,如果我对一个数据库授予用户db_owner权限。是否还需要授予db_datareader和db_datawriter权限才能完全控制?我认为db_owner足以在数据库上执行所有类型的查询?(创建、删除、更改、选择和所有其他内容)。
因此,简而言之:如果我选择db_owner,那么db_datareader、db_datawriter就会自动包括在内。我说的对吗?
发布于 2015-12-16 09:48:45
根据数据库级角色的说法:
db_owner固定数据库角色的成员可以在数据库上执行所有配置和维护活动,也可以删除数据库。
此数据库级别角色的成员可以在数据库上做他想做的任何事情。这还包括选择、插入、更新和删除数据。
你仍然需要确保当你让一个用户成为db_owner的掌门人时,你不会给他太多的权利.
您可以与数据库上的此用户连接,并使用sys.fn_我的_权限运行此查询以查看有效的数据库级权限:
SELECT *
FROM sys.fn_my_permissions(null, 'database')
--WHERE permission_name IN ('SELECT', 'UPDATE', 'DELETE', 'INSERT')
ORDER BY permission_name只有db_owner的输出包括以下行:
entity_name subentity_name permission_name
... ... ...
database DELETE
database INSERT
database SELECT
database UPDATE
... ... ...发布于 2015-12-16 09:48:31
如果您已经给了db_datareader和db_datawriter许可,您就不需要给予db_owner和db_owner许可。根据BOL
db_owner: db_owner固定数据库角色的成员可以在数据库上执行所有配置和维护活动,也可以删除数据库。
即使您选中相应角色的复选框,它也不会产生任何影响。
https://dba.stackexchange.com/questions/123804
复制相似问题