CREATE ROLE [user_dev] AUTHORIZATION db_securityadmin;
GO
GRANT CREATE PROCEDURE TO [user_dev];
GRANT SELECT, INSERT, UPDATE, DELETE, ALTER, EXECUTE, VIEW DEFINITION ON SCHEMA::dbo TO [user_dev]
创建用于测试的用户和登录,并添加到user_dev角色
CREATE LOGIN test WITH PASSWORD = 'dfgdfg'
CREATE USER test
EXEC sp_addrolemember @rolename = 'user_dev', @membername = 'test';
GO
然后创建一个触发器以限制user_dev role创建表并删除
CREATE TRIGGER tr_db_DenyDropAlterTable
ON DATABASE
FOR DROP_TABLE, ALTER_TABLE
AS
BEGIN
IF IS_MEMBER('user_dev') = 1
BEGIN
PRINT 'Not allowed';
ROLLBACK TRAN;
END;
END;
GO
2条答案
按热度按时间bvuwiixz1#
尝试这个解决方案从msql服务器管理工作室
打开数据库安全
然后
v64noz0r2#
你试试下面路
创建角色
创建用于测试的用户和登录,并添加到user_dev角色
然后创建一个触发器以限制user_dev role创建表并删除