2009-08-21 8 views
1

ユーザーからSQL Serverのストアプロシージャを非表示にできる方法はありますか?ストア手順を非表示

+0

すべてのユーザーまたは特定のユーザーからですか? – mezoid

+1

どのバージョンのSQL Serverですか?スキーマはおそらくあなたが望むものです。 –

答えて

2

ストアドプロシージャのテキストを暗号化することができます。

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

暗号化は解除できませんが、少なくとも防御の第一線です。

+0

ストアドプロシージャを暗号化することは、ソーススクリプトなどを更新するのではなく、プログラマ(または自分自身)がその場で「微調整」するのを防ぐ良い方法です。 –

3

SQL Server 2005以上については、それらのアクセス許可を与えないでください。次に、"Metadata visibility"は、表示されず、実行可能でないことを意味します。それを隠したいが、パーミッションを与えることは意味がない。

注:db_ownersとsyadminsは常にそれらを表示します。

これ以外のオプションは、前述のストアドプロシージャを暗号化するオプションです(無料のツールを使用すると簡単に無効になります)。

関連する問題