呼び出し元が PROC
を使用するために テーブル値パラメーターを使用すると、(直感的には) 実行権限を付与する
TVP
で PROC
を呼び出す人に入力します つまり
GRANT EXECUTE ON TYPE::[schema].[MyTVP] to [SomeRole]
プレ>編集
ユーザーに付与された最小限のアクセス許可セットから作業することで、問題を再現できたと思います。重要なステップは、TVP の DBO またはスキーマ所有者が、
PROC
で使用できるようにするために、TVP への次のアクセス権を付与することです。 (このアクセスがなければ、TVP 型の緩い変数を宣言できましたが、PROC では使用できませんでした)。GRANT REFERENCES ON TYPE::[schema].[MyTVP] to YOURROLE -- Or User.
プレ>参照をここに許可 (もちろん
CREATE PROCEDURE
も必要です 許可、および PROC で使用されるすべてのオブジェクトへの関連アクセス)PROC の利用者は、
GRANT EXECUTE
も持つ必要があります。 最初の回答に従って、Proc および Type に対する許可。