拒绝只读用户查看存储过程的DDL MS SQL

问题描述:

几个只读用户拥有Management Studio并运行他们自己的查询,这不是问题。但是,我想保护存储过程和视图的代码,以便通过右键单击对象并选择脚本过程为>创建到>新查询窗口,人们无法看到背后的代码。拒绝只读用户查看存储过程的DDL MS SQL

我试着添加WITH ENCRYPTION,但是这块甚至阻止DBO看到代码。所以这不是一个好的解决方案。

有没有其他办法可以实现这个目标?

+0

为什么这些用户首先安装了SSMS? –

+0

我希望不是这种情况,但它是一个非常快速的步调项目,人们可以在事情发展的时候找出答案。我们的确为大多数人创建了报告服务报告,但大约有10位用户认为他们的技术足够用来编写自己的查询。我不喜欢它,他们这样做,这就是为什么我想阻止他们看到代码的原因。 –

+0

我认为,如果你拒绝执行sp_helptext的权限,他们将无法再执行此操作。目前无法仔细检查。 –

另一种选择是拒绝VIEW DEFINITION权限。以下文章详细介绍了此功能。

https://www.mssqltips.com/sqlservertip/1828/options-for-hiding-sql-server-code/

见 “ALTERNATE与ENCRYPTION子句通过”。

+0

非常感谢! –