只读访问存储过程内容

ada*_*101 26 sql-server sql-server-2005 sql-server-2008

是否可以设置SQL Server以便为开发人员提供对生产数据库中存储过程内容的只读访问权限?

SQL*_*ace 43

授予他们 VIEW DEFINITION特权给那些procs,请看这里http://msdn.microsoft.com/en-us/library/ms175808.aspx

  • 服务器范围

  • 数据库范围

  • 架构范围

  • 个别实体

您还可以使用查询来生成脚本.所以如果你有一个用户Bob

select 'GRANT VIEW DEFINITION ON ' + quotename(specific_schema) 
+ '.' + quotename(specific_name)
+ ' TO ' + 'BOB'
  from INFORMATION_SCHEMA.routines
where routine_type = 'PROCEDURE'
Run Code Online (Sandbox Code Playgroud)

这会给你这样的东西,你可以运行

GRANT VIEW DEFINITION ON [dbo].[aspnet_RegisterSchemaVersion] TO BOB
GRANT VIEW DEFINITION ON [dbo].[aspnet_CheckSchemaVersion] TO BOB
GRANT VIEW DEFINITION ON [dbo].[aspnet_Applications_CreateApplication] TO BOB
Run Code Online (Sandbox Code Playgroud)


sla*_*man 10

在dbo的模式范围级别执行的示例.

将schema :: [dbo]上的视图定义授予BOB

MSDN


小智 6

我需要授予对域帐户的访问权限..这个语法是

将schema :: [dbo]上的视图定义授予"domain\BOB"


VK_*_*217 5

数据库名称 --> 安全 --> 用户 --> 右键单击​​用户名 --> 属性 --> 选择安全对象 --> 单击搜索 --> 选择所有类型的对象 --> 检查存储过程 --> 检查视图定义 --> 好的。

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述