Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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/4/sql-server-2008/3.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 确定哪些表已向特定自定义角色授予SELECT权限_Sql_Sql Server 2008 - Fatal编程技术网

Sql 确定哪些表已向特定自定义角色授予SELECT权限

Sql 确定哪些表已向特定自定义角色授予SELECT权限,sql,sql-server-2008,Sql,Sql Server 2008,我们被要求获取SQL Server 2008数据库中所有表的列表,这些表具有特定角色的SELECT权限。它需要在查询中,因为然后我们需要编写一个脚本来撤销授予SELECT权限的操作 谢谢。这并不是一个完整的答案(也不可能是-我没有SQL Server安装可供摆弄),但希望它能让您走上正轨。它正在执行一个存储过程 USE yourDB; GO EXEC sp_table_privileges @table_name = '%'; 在结果集中,您主要感兴趣的是第三列表名,第六列权限 资料来

我们被要求获取SQL Server 2008数据库中所有表的列表,这些表具有特定角色的SELECT权限。它需要在查询中,因为然后我们需要编写一个脚本来撤销授予SELECT权限的操作


谢谢。

这并不是一个完整的答案(也不可能是-我没有SQL Server安装可供摆弄),但希望它能让您走上正轨。它正在执行一个存储过程

USE yourDB;
GO
EXEC sp_table_privileges 
   @table_name = '%';
在结果集中,您主要感兴趣的是第三列
表名
,第六列
权限

资料来源:

在我看来,下一步——假设这是您正在查找的数据——将使用一个SQL语句包装该SQL语句,该语句将EXEC语句的结果插入到一个临时表中,然后您可以根据需要对该表进行切片。这项工作留给读者作为练习(轻推)。关于的第三个答案可能在扩展上面给出的查询时有所帮助,但始终是YMMV