4

データベース ユーザー ("ApplicationUser") がスキーマ内のビューを作成、変更、および削除する権限を持つセキュリティ状況を設定したいと考えています。

ステートメントを実行すると

GRANT ALTER ON SCHEMA :: MySchema TO ApplicationUser;

次に、データベースに接続してステートメントを実行します。

CREATE VIEW [MySchema].[MyView] AS SELECT * FROM SomeTable

エラーメッセージが表示されます

CREATE VIEW permission denied in database 'MyDatabase'.

私が望むようにセキュリティを構成することは可能ですか、それともデータベース全体に「ALTER」を付与する必要がありますか? または、他の何か?

ご協力いただきありがとうございます!

4

2 に答える 2

8
create schema myschema authorization ApplicationUser
GO

grant create view to ApplicationUser
GO

これを行うには、スキーマの承認を変更する必要があります。これにより、他の結果が生じる可能性があるか、データベース DDL トリガーなどを使用する必要があります。

既存のスキーマの場合:

alter authorization on schema::myschema to ApplicationUser

私が言うように、この方法は慎重に行う必要があります。逆にhttp://msdn.microsoft.com/en-us/library/ms186406(v=sql.105).aspx

于 2013-02-20T20:14:15.743 に答える