如何给数据库用户设置存储过程执行权限(SQL语句)?

解决方案 »

  1.   

    --tryGRANT EXECUTE ON 存储过程名 TO 用户名
      

  2.   

    通过授予权限而允许访问的方法(企业管理器)
    通过授权而允许访问(对象上) 展开服务器组,然后展开服务器。
    展开"数据库"文件夹,然后展开对象所属的数据库。
    根据对象类型,单击下列对象之一: 

    视图
    存储过程 
    在"详细信息"窗格中,右击授予权限所在的对象,指向"所有任务",然后单击"管理权限"。
    单击"列出全部用户/用户定义的数据库角色/public",然后选择授予每位用户的权限。 
    选中标记表示授予权限。只列出适用于该对象的权限。
    请参见
      

  3.   

    SQL:用户 Jean 拥有表 Plan_Data。Jean 将表 Plan_Data 的 SELECT 权限授予 Accounting 角色(指定 WITH GRANT OPTION 子句)。用户 Jill 是 Accounting 的成员,他要将表 Plan_Data 上的 SELECT 权限授予用户 Jack,Jack 不是 Accounting 的成员。因为对表 Plan_Data 用 GRANT 语句授予其他用户 SELECT 权限的权限是授予 Accounting 角色而不是显式地授予 Jill,不能因为已授予 Accounting 角色中成员该权限,而使 Jill 能够授予表的权限。Jill 必须用 AS 子句来获得 Accounting 角色的授予权限。/* User Jean */
    GRANT EXECUTE ON Plan_Data TO Accounting WITH GRANT OPTION/* User Jill */
    GRANT EXECUTE ON Plan_Data TO Jack AS Accounting