0

こんにちは、お時間をいただきありがとうございます。

私はsql2008を使用していますが、関連性のないデータベースを作成しました。ここでは、他のデータベースにアクセスするビューを追加します。次に、関連性のないユーザーをデータベースに追加し、ビューへのアクセスを許可します。

私の明らかな問題は、ユーザーがビューを実行しようとすると、情報を表示する権限がない場合にエラーが発生することです。(管理者タイプのユーザーを使用すると、ビューにアクセスして結果を問題なく確認できます)

ユーザーが結果を確認できるように、2つの別々のデータベース上のすべてのSELECTに対するビューへのアクセス許可を作成できますか?または、ユーザーは、照会されたすべてのテーブルに対する読み取り権限を必要としますか?

ありがとうございました。

これは私が試したものです(そして他の多くのものですが、うまくいきませんでした)

USE no-relevance-server
GRANT REFERENCES ON OBJECT[important-server::dbo.table] TO [the view]
4

1 に答える 1

2

ここでの問題は、クロス データベース所有権チェーンの 1 つです。

http://support.microsoft.com/kb/810474の指示に従って動作させることができます。

EXEC sp_configure 'Cross DB Ownership Chaining', '1'; RECONFIGURE 
EXEC sp_dboption 'YourDatabase', 'db chaining', 'true'

Cross Database Ownership Chainingただし、関連するリスクについてよく読んでください。

http://msdn.microsoft.com/en-us/library/ms188676.aspx

于 2012-09-26T15:30:28.200 に答える