MS-SQL,GRANT创建表,但DENY删除表

时间:2019-06-27 08:13:10

标签: sql-server database roles

目标是创建一个ROLE,允许用户执行通常的工作,包括创建表,但拒绝放置表。

这就是我所拥有的:

CREATE ROLE db_All_CreateTable
DENY ALTER ANY SCHEMA TO db_All_CreateTable
GRANT CREATE TABLE, EXECUTE, SELECT, INSERT, DELETE, UPDATE TO db_All_CreateTable

EXEC sp_addrolemember 'db_All_CreateTable', "DOMAIN\DOMAIN_USER";

由于没有DENY“ DROP TABLE”角色,因此我必须授予所有需要的东西。刚刚添加了“ DENY ALTER”行,以指定我根本不需要该角色。

看起来它正在按预期运行,但可能很幸运。

问题:这是创建角色的一种有效方法,可以完成通常的数据库工作并创建表,还是有更好的方法,谢谢。

0 个答案:

没有答案