我想立即更改SQL-Server数据库中所有表的权限。有没有办法做到这一点?
答案 0 :(得分:2)
运行此脚本的结果(根据您的要求进行更改):
SELECT
'GRANT SELECT ON ' + OBJECT_NAME(o.object_id) + ' TO myRole'
FROM
sys.objects o
WHERE
OBJECTPROPERTY(o.object_id, 'IsMSSHipped') = 0
AND
OBJECTPROPERTY(o.object_id, 'IsTable') = 1
ORDER BY
OBJECT_NAME(o.object_id)
答案 1 :(得分:2)
如果您的所有表都属于同一模式,则可以在模式级别修改权限。
答案 2 :(得分:0)
您可以编写一个脚本来检索一组表,然后通过动态SQL授予/拒绝权限。
但是,我认为更好的方法是创建角色,为该角色授予权限,然后根据需要添加/删除该角色中的个人。