首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SqlServer 禁止登录用户进行的操作有关问题

2013-10-12 
SqlServer 禁止登录用户进行的操作问题--授予tony对具有创建表、视图、存储过程等的操作权限GRANT CREATE TA

SqlServer 禁止登录用户进行的操作问题


--授予tony对具有创建表、视图、存储过程等的操作权限
GRANT CREATE TABLE,CREATE VIEW,CREATE PROC TO tony 
--禁止tony对具有创建表、视图、存储过程等的操作权限
DENY CREATE TABLE,CREATE VIEW,CREATE PROC TO tony

像上面的语句一样, 可以禁止数据库tony登录名用户 对数据库进行 创建表视图 存储过程操作。
哪位还知道 怎么禁止创建触发器,索引, 已经对应的授权行为 sqlserver 数据库
[解决办法]
CREATE TRIGGER connection_limit_trigger
ON ALL SERVER 
FOR Create_trigger
AS
BEGIN
IF ORIGINAL_LOGIN()= 'login_test' 
    ROLLBACK;
END;

[解决办法]
好像,sql sever没办法防止某个登录不能创建触发器,只能通过服务器级别的触发器,或者数据库级别的触发器,来限制用户在创建触发器是报错,无法创建成功:

   
--建立服务器级别触发器   
create trigger gyy_server  
on all server  
for create_table,create_view,create_procedure,create_index,create_trigger
as  
  
if ORIGINAL_LOGIN() = 'tony'
begin   
   rollback;
   Raiserror('你没有权限创建触发器!',16,-1)
end
go  

--接下来用tony登陆后create trigger,就会报错的

热点排行