目标是创建一个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”行,以指定我根本不需要该角色。
看起来它正在按预期运行,但可能很幸运。
问题:这是创建角色的一种有效方法,可以完成通常的数据库工作并创建表,还是有更好的方法,谢谢。