您的位置:首页 > 数据库

ms sql server 2000 GRANT EXECUTE on database to Roles

2009-07-28 11:40 453 查看
今天想把当前数据库所有执行存储的权限给一个角色,于是写

GRANTEXECUTEonDTOPPRoles
结果是有语法错误,
开联机丛书,
貌似只能on单个存储过程
statement

是被授予权限的语句。语句列表可以包括:

CREATEDATABASE
CREATEDEFAULT
CREATEFUNCTION
CREATEPROCEDURE
CREATERULE
CREATETABLE
CREATEVIEW
BACKUPDATABASE
BACKUPLOG
好像没有指定库的Execute.于是。。。
sql2005可以实现晕。。
/*CREATEANEWROLE*/
CREATEROLEdb_executor

/*GRANTEXECUTETOTHEROLE*/
GRANTEXECUTETOdb_executor

sql2000实现方法。。。。拼sql字符串
(1)
SELECT'grantexecon'+QUOTENAME(ROUTINE_SCHEMA)+'.'+
QUOTENAME(ROUTINE_NAME)+'TO<insert_username>'FROMINFORMATION_SCHEMA.ROUTINES
WHEREOBJECTPROPERTY(OBJECT_ID(ROUTINE_NAME),'IsMSShipped')=0

(2)

declare@sqlnvarchar(4000)
declare@dbsysname;set@db=DB_NAME()
declare@usysname;set@u=QUOTENAME('<insert_username>')
set@sql='select''grantexecon''+QUOTENAME(ROUTINE_SCHEMA)+''.''+
QUOTENAME(ROUTINE_NAME)+''TO'+@u+'''FROMINFORMATION_SCHEMA.ROUTINES'+
'WHEREOBJECTPROPERTY(OBJECT_ID(ROUTINE_NAME),''IsMSShipped'')=0'
execmaster.dbo.xp_execresultset@sql,@db
[url:http://www.sqldbatips.com/showarticle.asp?ID=8]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐
章节导航