Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 向SQL Server 2005中除1个(或更多)表以外的所有表授予SELECT、UPDATE、INSERT、DELETE权限_Sql Server 2005_Security_Roles - Fatal编程技术网

Sql server 2005 向SQL Server 2005中除1个(或更多)表以外的所有表授予SELECT、UPDATE、INSERT、DELETE权限

Sql server 2005 向SQL Server 2005中除1个(或更多)表以外的所有表授予SELECT、UPDATE、INSERT、DELETE权限,sql-server-2005,security,roles,Sql Server 2005,Security,Roles,我拥有的用户应该有权访问数据库中的所有表-选择、插入、更新、删除和执行(ASP代码:-p),但1个表除外,例如用户 当授予db\u datareader和db\u datawriter时,这使他们能够完全访问所有内容,删除users表上的删除权限将不起作用 有60多个表,我们正在寻找一种比使用SSM更快的方法来遍历每个表并执行此操作 我该怎么做呢 您可以显式拒绝应该优先的权限。语法是 deny delete on dbo.users to username 您可以显式拒绝应该优先的权限。语法是

我拥有的用户应该有权访问数据库中的所有表-选择、插入、更新、删除和执行(ASP代码:-p),但1个表除外,例如
用户

当授予
db\u datareader
db\u datawriter
时,这使他们能够完全访问所有内容,删除
users
表上的删除权限将不起作用

有60多个表,我们正在寻找一种比使用SSM更快的方法来遍历每个表并执行此操作


我该怎么做呢

您可以显式拒绝应该优先的权限。语法是

deny delete on dbo.users to username

您可以显式拒绝应该优先的权限。语法是

deny delete on dbo.users to username

您可以使用hacky游标和sp_executeSQL(GRANT不能接受变量tablename)


小调。。。请注意,不能在表上授予exec;)

您可以使用一个粗糙的游标和sp_executeSQL(GRANT不能使用变量tablename)


小调。。。请注意,不能在表上授予exec;)

所以我可以添加db_datareader和db_datawriter,然后分别排除这个特定表上的权限,应该可以吗?是的。从MSDN
db_datawriter,固定数据库角色可以添加、删除或更改所有用户表中的数据。
因此,如果减去该表上的权限,您应该得到所需的权限集。因此,我可以添加db_datareader和db_datawriter,然后分别排除该特定表上的权限,这样应该可以吗?是的。从MSDN
db\u datawriter,固定数据库角色可以添加、删除或更改所有用户表中的数据。
因此,如果您减去该表上的权限,您应该得到所需的设置。
        END
        fetch next FROM ctable into @Name
    end
close ctable
deallocate ctable