SQL Server 2005存储过程签名(二)

日期: 2008-07-31 作者:stswordman 来源:TechTarget中国 英文

  – 这需要服务器级别的alter ANY LOGIN权限


  – 和数据库级别的alter ANY USER权限 







   create procedure sp_createPrincipal 
   @name varchar(256), 
   @password varchar(128) 
   as 
   declare @sqlcmd varchar(2000); 
   
   begin tran;    
   
   — create login 
   set @sqlcmd = ’create login ’ + quotename(@name) + ’ with password = ’ + quotename(@password, ’’’’); 
   &#101xec (@sqlcmd); 
   if @@error <> 0 
   
   begin 
   
   rollback tran; 
   print ’Cannot create login’ 
   return; 
   end 
     
   — create user 
   set @sqlcmd = ’create user ’ + quotename(@name); 
   &#101xec (@sqlcmd); 
   if @@error <> 0 
   begin 
   rollback tran; 
   print ’Cannot create user’ 
   return; 
   end    
     
   commit tran; 
  go 
  
  – 调用这个存储过程


  – 创建主体







sp_createPrincipal ’alice’, ’Apufe@))%’; 
 


  –我们需要让alice可以调用这个存储过程,创建新的主体,


  – 但并不直接授予她权限(创建主体的权限,译者注)







grant &#101xecute on sp_createPrincipal to alice; 


  – 目前 alice还不能创建主体

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐