Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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-查询以查看数据库中每个表的权限_Sql_Sql Server_Tsql_Permissions - Fatal编程技术网

SQL Server-查询以查看数据库中每个表的权限

SQL Server-查询以查看数据库中每个表的权限,sql,sql-server,tsql,permissions,Sql,Sql Server,Tsql,Permissions,我们正在使用DB project跟踪DB更改,并使用一个标准XML文件在本地发布更改,以测试服务器、生产等。目前,我们只是复制粘贴代码,如下所示,以向我们创建的新表授予权限 GRANT SELECT ON [dbo].[OrganisationSite] TO [Company_FullAccess] AS [dbo]; GO GRANT UPDATE ON [dbo].[OrganisationSite] TO [Company_FullAccess] AS [

我们正在使用DB project跟踪DB更改,并使用一个标准XML文件在本地发布更改,以测试服务器、生产等。目前,我们只是复制粘贴代码,如下所示,以向我们创建的新表授予权限

GRANT SELECT
    ON [dbo].[OrganisationSite] TO [Company_FullAccess]
    AS [dbo];
GO
GRANT UPDATE
    ON [dbo].[OrganisationSite] TO [Company_FullAccess]
    AS [dbo];
GO
GRANT INSERT
    ON [dbo].[OrganisationSite] TO [Company_FullAccess]
    AS [dbo];
GO
GRANT DELETE
    ON [dbo].[OrganisationSite] TO [Company_FullAccess]
    AS [dbo];
GO
这很容易出错,因为我们可能会忘记授予特定的权限

是否有任何方法可以创建SQL查询,以查看为数据库中的每个表授予的权限?因此,我们可以检查已授予的权限


此外,对于如何使其更加强大,我们将不胜感激。

在这种情况下,最好的办法是使用,并根据需要添加成员

从:

角色是数据库级别的安全性。创建角色后,使用GRANT、DENY和REVOKE配置该角色的数据库级权限


这将使您在根据需要创建
角色后变得容易,您只需在其上添加成员,无需检查每个成员的权限。

为什么不
创建角色
,这样您只需检查成员。@Sami,非常感谢您的帮助:)