2017-05-11 20 views
1

これは私の最初の質問です。sql server 2012 - select文で複数の文のテーブル値関数を指定することはできません

私は(もちろん)テーブルを返す、マルチステートメントのテーブル値関数(fn)を持っています。 データベースロール(dbrという)も作成しました。

許可を追加しようとしました 私のdbrが私のfnから選択できます。

私はdbrを開いて、セキュリティターゲットにfnを追加し、Selectで許可し、エラーが表示されます。キーはnullにはなりません。パラメータ名:key(mscorelib)

これは私のfnの主キーがreturn-table-variableにあり、keyもnullにはなりません。特定のキーになるには、dateFrom、dateTo、article

の3つのフィールドを持つビルドがありますが、機能は完全に機能しますが、私のdbrメンバーには利用できません。

訴訟はありますか?

+0

あなたはこのことを認識した。https://docs.microsoft.com/en-us/sql/t-sql/statements/execute-as-clause-transact-sql –

+0

機能やストアドプロシージャと同じ実行許可を与える必要があります。 – Wendy

答えて

0

パッチが適用されていないManagement Studioのバグであるか、間違った場所をクリックすると、代わりにT-SQLを使用しないのはなぜですか?

grant select on dbo.fn to dbr 
+0

これはおそらくパッチの問題がなくなっているはずです - 私はサーバー管理者ではありません。ですから、finnalyはT-SQLでは動作しますが、SQL MSでは動作しません。 – mtz

関連する問題