zoukankan      html  css  js  c++  java
  • 批量赋予用户所有存储过程或函数的执行权限

    --*********************查询数据库所有对象**********************************

    --存储过程
    select * from sysobjects where xtype='P' --表值函数  xtype='IF',标量值函数  xtype='FN',聚合函数 xtype='AF'

    --*********************批量生成权限操作SQL**********************************

    --存储过程
    select 'GRANT EXEC ON dbo.['+name+'] TO 数据库用户名;' from sysobjects where xtype='P'
    --表值函数
    --select 'GRANT EXEC ON dbo.['+name+'] TO 数据库用户名;' from sysobjects where xtype IN('IF','TF') --表值函数不需要单独赋予权限
    --标量值函数
    select 'GRANT EXEC ON dbo.['+name+'] TO 数据库用户名;' from sysobjects where xtype='FN'
    --聚合函数
    select 'GRANT EXEC ON dbo.['+name+'] TO 数据库用户名;' from sysobjects where xtype='AF'


    --*********************查询拥有对象具体操作权限**********************************

    --查询用户是否拥有存储过程(proc_AddQrcode)权限
    SELECT * FROM sys.database_permissions WHERE major_id=OBJECT_ID('dbo.proc_AddQrcode')

    --*********************赋予用户对象操作权限**********************************

    --赋予存储过程(proc_AddQrcode)执行权限 给用户lyx
    GRANT EXECUTE ON dbo.proc_AddQrcode TO lyx;

    --赋予标量值函数(f_AddDateByType)执行权限 给用户lyx
    GRANT EXECUTE ON dbo.f_AddDateByType TO lyx;

    其他权限:

    INSERT
    DELETE
    UPDATE
    SELECT
    CONNECT
    EXECUTE
    REFERENCES
    TAKE OWNERSHIP
    VIEW DEFINITION
    ALTER


    --*******************************************************

    SELECT OBJECT_ID(name),name from sysobjects where xtype='FN' AND OBJECT_ID(name)=855415857
    --SELECT OBJECT_ID('pro_DeleteAndCopyHsCase')

    SELECT major_id,TB.name,COUNT(DISTINCT TA.type)
    FROM sys.database_permissions TA
    LEFT JOIN sysobjects TB ON TA.major_id=OBJECT_ID(TB.name)
    WHERE TB.xtype='P' --'FN'
    GROUP BY major_id,TB.name
    HAVING COUNT(DISTINCT TA.type)>1


    SELECT * FROM sys.database_permissions WHERE major_id=855415857

  • 相关阅读:
    sql server版本、组件和管理工具
    asp.net WebService如何去掉asmx后缀
    通过C#发送自定义的html格式邮件
    asp.net上传图片到服务器
    分享一个C#自定义事件的实际应用
    推荐一个ASP.NET网站内容管理系统源码
    asp.net读取模版并写入文本文件
    Win10命令提示符(cmd)怎么复制粘贴
    配置IIS的通配符应用程序映射
    用c-free 5写一个入门的程序
  • 原文地址:https://www.cnblogs.com/My-Dream/p/11189699.html
Copyright © 2011-2022 走看看