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

SQL Server 2005 のストアド プロシージャに CONTROL 権限を与える必要がありますか?

    ストアド プロシージャが EXECUTE AS CALLER (これがデフォルトだと思います) を使用して作成された場合、呼び出し元は、プロシージャの EXECUTE に加えて、ストアド プロシージャが行うことを行うために必要なすべてのアクセス許可を持っている必要があります。

    EXECUTE AS の SQL Server ドキュメントから:

    SQL Server が所有権チェーンを使用してアクセス許可チェックを処理する方法のため、これは常に厳密に正しいとは限らないことに注意してください。プロシージャに CONTROL を付与すると (所有権ステータスが被付与者に付与されます)、これらのアクセス許可チェックがバイパスされました。

    EXECUTE AS OWNER を使用してプロシージャを作成する場合、プロシージャに対する EXECUTE 以外の権限を付与する必要はありません。



    1. MySQLで最大2つの値を取得するにはどうすればよいですか?

    2. ランクウィンドウ関数を使用したPostgresUPDATE

    3. MySQLで末尾の空白を削除する方法

    4. 最後から2番目のレコードのみを取得します-mysql-query