开发者社区> 问答> 正文
1
0
分享

授予访问数百个SP的权限?

在Sql Server 2000/2005中,我有几个NT用户组需要被授予对数百个存储过程的访问权限。

有一个简单的好方法吗?

展开
收起
心有灵_夕 2019-12-27 18:55:43 722 0
举报
飞天免费试用计划
领取免费云资源,开启云上实践第一步
RDS SQL Server Serverless
2-4RCU 50GB 3个月
额度3个月内有效
云数据库 RDS SQL Server
基础系列 2核4GB
额度1个月内有效
1 条回答
写回答
取消 提交回答
  • 这是我用于向许多过程授予权限的脚本:

    DECLARE @DB  sysname ; set @DB = DB_NAME()
    DECLARE @U  sysname ; set @U = QUOTENAME('UserID')
    
    DECLARE @ID           integer,
            @LAST_ID     integer,
            @NAME        varchar(1000),
            @SQL         varchar(4000)
    
    SET @LAST_ID = 0
    
    WHILE @LAST_ID IS NOT NULL
    BEGIN
        SELECT @ID = MIN(id)
        FROM dbo.sysobjects
        WHERE id > @LAST_ID  AND type = 'P' AND category = 0
    
        SET @LAST_ID = @ID
    
        -- We have a record so go get the name
        IF @ID IS NOT NULL
        BEGIN
            SELECT @NAME = name
            FROM dbo.sysobjects
            WHERE id = @ID
    
            -- Build the DCL to do the GRANT
            SET @SQL = 'GRANT EXECUTE ON ' + @NAME + ' TO ' + @U
    
            -- Run the SQL Statement you just generated
            EXEC master.dbo.xp_execresultset @SQL, @DB
    
        END   
    END
    
    

    您可以修改选择以进入一组更特定的存储过程。

    2019-12-27 18:56:01 举报
    赞同 评论 打赏

    评论

    全部评论 (0)

    登录后可评论
问答排行榜
最热
最新

相关电子书

更多
《用管控策略设定多账号组织全局访问边界》 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等