Sql server 2005 向SQL Server 2005中除1个(或更多)表以外的所有表授予SELECT、UPDATE、INSERT、DELETE权限
我拥有的用户应该有权访问数据库中的所有表-选择、插入、更新、删除和执行(ASP代码:-p),但1个表除外,例如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 您可以显式拒绝应该优先的权限。语法是
用户
当授予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,然后分别排除该特定表上的权限,这样应该可以吗?是的。从MSDNdb\u datawriter,固定数据库角色可以添加、删除或更改所有用户表中的数据。
因此,如果您减去该表上的权限,您应该得到所需的设置。
END
fetch next FROM ctable into @Name
end
close ctable
deallocate ctable