2012-05-02 17 views
0

SQL 2005データベースでSQLユーザーID、ロール、およびスキーマを作成しました。私は、このスキーマの下でdboスキーマ内のテーブルから選択するSQLビューを作成しました。しかし、私はSQLユーザーがこのテーブルから選択できるようにしたくありません。例えばSQL 2005へのSELECTアクセス制限された基盤へのアクセスによるビュー

CREATE VIEW [MySchema].[vwMyView] 
AS 
SELECT 
    * 
FROM 
    dbo.MyTable 

ユーザーがはMySchemaビューへのアクセス権を持っており、問題なくvwMyViewを照会することができます。ただし、dbo.MyTableからSELECTを行うこともできます。

すべてのアクセスを制限するにはdbo.MyTable? dboスキーマのSELECT権限を拒否した場合、ユーザーはビューから選択できません。

+0

あなたはビューへのアクセスを取り消そうとしましたか? REVOKE特権名 ONオブジェクト名 FROM {user_name | PUBLIC | role_name} – Brian

+0

私はビューへのアクセスを取り消したいとは限りません。 –

答えて

0
REVOKE select 
ON tablename 
FROM {user_name} 

selectを取り消すだけでは、他の権限を取り消すことはできません。

次に、ビューで明示的な許可選択を行います。私はこの方法を試みたことがないが、ショットの価値があるので、これがうまくいくかどうかは分かりません。

+0

これで問題が解決するかどうかはわかりません。 OPは依然として、ユーザーがビューから選択できるようにしたい、ちょうど基礎となるテーブルから直接選択することができないようにしたい。 –

+0

このステートメントは、ビューに対するSELECT許可を取り消します。 SQLユーザーは、ビューからSELECTにアクセスできますが、テーブルにはアクセスできません。 –

+0

が正しい。私はテーブルとビューの要件を横断しました。試しに何かを与える答えを編集しました。これがうまくいけば今私は好奇心です – Brian

関連する問題