sql >> データベース >  >> RDS >> Sqlserver

SQL Server テーブル値パラメーター (TVP) をストアド プロシージャ パラメーターとして使用するには、どのようなアクセス許可が必要ですか?

    呼び出し元が PROC を使用するために テーブル値パラメーターを使用すると、(直感的には) 実行権限を付与する TVPPROC を呼び出す人に入力します つまり

    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 に対する許可。



    1. 原因:android.database.sqlite.SQLiteException:そのようなテーブルはありません:(コード1)Android

    2. ConcatのGroup_ConcatがNULL値で機能しない

    3. SQLServerの復元モードからデータベースをオンラインにする方法

    4. エラー:モジュール'sequelize/types'が見つかりません