2009-08-21 47 views
1

有什么办法可以让用户从SQL Server隐藏存储过程?隐藏存储过程

+0

? – mezoid 2009-08-21 06:47:23

+1

什么版本的SQL服务器?模式可能是你想要的。 – 2009-08-21 06:47:55

回答

2

你可以加密存储过程的文本,如果这是你的意思。

CREATE PROCEDURE my_procedure 
WITH ENCRYPTION 
AS 
BEGIN 
    SELECT * 
    FROM my_table 
END 

加密不是牢不可破的,但至少它是第一道防线。

+0

加密存储过程也是防止程序员(或自我)动态调整事情的好方法,而不是更新源脚本等。:-) – 2009-08-21 07:08:30

3

对于SQL Server 2005及更高版本,请不要授予他们权限。然后,"Metadata visibility"表示它不可见并且不可运行。想要隐藏它们但授予它们权限是没有意义的。

注意:db_owners和syadmins将始终看到它们。

否则你唯一的选择是加密存储过程,如上所述(这很容易被免费工具击败)。来自所有用户或特定用户的