我们正在使用数据库项目来跟踪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查询,查看为数据库中的每个表授予的权限?因此,我们可以查看已授予的权限。
此外,任何有关使其更加强大的建议都将受到赞赏。
答案 0 :(得分:2)
在这种情况下,最好的想法是使用 ROLE ,并根据需要添加成员。
角色是数据库级别的安全性。创建角色后,使用GRANT,DENY和REVOKE配置角色的数据库级权限
根据需要创建ROLES
之后,这样可以轻松实现,只需在其上添加成员,无需检查每个成员权限。