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

ストアドプロシージャとアクセス許可-EXECUTEで十分ですか?

    テーブルとprocの所有者が同じである場合、テーブルの権限はチェックされません(DENYを含む)。スキーマの所有者が同じである限り、それらは異なるスキーマに存在することもできます。

    MSDNの所有権の連鎖を参照してください

    削除された回答のコメントから編集します。

    EXECUTE ASでない限り、コンテキストは常に現在のログインです。 使用時:参照されるオブジェクトのDML権限のみがチェックされません。参照テーブルに権限が割り当てられていないストアドプロシージャでOBJECT_ID(referencedtable)を試してください。 NULLを与えます。ストアドプロシージャの所有者によって実行された場合、owenerはreferencedtableに対する権限を持っているため、値が与えられます



    1. MariaDBクラスター10.4の新機能

    2. Postgresqlを修正するためにHomebrewのreadlineバージョン6.xに戻りますか?

    3. SQLServerの履歴テーブルに履歴レコードを保存する方法

    4. OracleForms10gでのカスタムログイン画面の作成