ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在SqlServer2000中給用戶賦予表,視圖,存儲過程的權限

在SqlServer2000中給用戶賦予表,視圖,存儲過程的權限

原创 Linux操作系统 作者:hwtong 时间:2010-10-20 14:29:50 0 删除 编辑
--1 赋予jrzsfc对所有用户表select,insert,update,delete权限
  DECLARE   ACUR   CURSOR   FOR   
  SELECT   name  FROM   SYSOBJECTS   WHERE   TYPE='U'   
    
  DECLARE   @NAME   VARCHAR(100)  
  DECLARE   @SQL   VARCHAR(512)  
  OPEN   ACUR  
  FETCH   NEXT   FROM   ACUR   INTO   @NAME  
  WHILE   @@fetch_status=0  
  BEGIN  
  EXEC   ('grant select,insert,delete,update ON ['+   @NAME+'] TO jrzsfc;')  
   
  FETCH   NEXT   FROM   ACUR   INTO   @NAME  
   
  END  
   
  CLOSE   ACUR  
  DEALLOCATE   ACUR

--2 赋予jrzsfc对所有用户视图select,insert,update,delete权限

  DECLARE   ACUR   CURSOR   FOR  
  SELECT   name  FROM   SYSOBJECTS   WHERE   TYPE='V' and status>0
   
  DECLARE   @NAME   VARCHAR(100)  
  DECLARE   @SQL   VARCHAR(512)  
  OPEN   ACUR  
  FETCH   NEXT   FROM   ACUR   INTO   @NAME  
  WHILE   @@fetch_status=0  
  BEGIN  
  EXEC   ('grant select,insert,delete,update ON ['+   @NAME+'] TO jrzsfc;')  
   
  FETCH   NEXT   FROM   ACUR   INTO   @NAME  
   
  END  
   
  CLOSE   ACUR  
  DEALLOCATE   ACUR

--3 赋予jrzsfc对所有procedure execute权限,剔除系统存储过程
  DECLARE   ACUR   CURSOR   FOR  
  SELECT   name  FROM   SYSOBJECTS   WHERE   TYPE='P' and name not like 'dt%'
   
  DECLARE   @NAME   VARCHAR(100)  
  DECLARE   @SQL   VARCHAR(512)  
  OPEN   ACUR  
  FETCH   NEXT   FROM   ACUR   INTO   @NAME  
  WHILE   @@fetch_status=0  
  BEGIN  
  EXEC   ('grant execute ON ['+   @NAME+'] TO jrzsfc;')  
   
  FETCH   NEXT   FROM   ACUR   INTO   @NAME  
   
  END  
   
  CLOSE   ACUR  
  DEALLOCATE   ACUR

--4 赋予jrzsfc对所有標量值函数execute权限
  DECLARE   ACUR   CURSOR   FOR  
  SELECT   name  FROM   SYSOBJECTS   WHERE   TYPE='FN'
   
  DECLARE   @NAME   VARCHAR(100)  
  DECLARE   @SQL   VARCHAR(512)  
  OPEN   ACUR  
  FETCH   NEXT   FROM   ACUR   INTO   @NAME  
  WHILE   @@fetch_status=0  
  BEGIN
   
  EXEC   ('grant execute ON ['+   @NAME+'] TO jrzsfc;')  
   
  FETCH   NEXT   FROM   ACUR   INTO   @NAME  
   
  END  
   
  CLOSE   ACUR  
  DEALLOCATE   ACUR



--5 賦予jrzsfc對表值函數select權限

  DECLARE   ACUR   CURSOR   FOR  
  SELECT   name  FROM   SYSOBJECTS   WHERE   TYPE='TF'
   
  DECLARE   @NAME   VARCHAR(100)  
  DECLARE   @SQL   VARCHAR(512)  
  OPEN   ACUR  
  FETCH   NEXT   FROM   ACUR   INTO   @NAME  
  WHILE   @@fetch_status=0  
  BEGIN
   
  EXEC   ('grant select ON ['+   @NAME+'] TO jrzsfc;')  
   
  FETCH   NEXT   FROM   ACUR   INTO   @NAME  
   
  END  
   
  CLOSE   ACUR  
  DEALLOCATE   ACUR





 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16754036/viewspace-676374/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-07-06

  • 博文量
    116
  • 访问量
    313574