私の webapp は、5 つのスキーマを持つ SQL 2008 データベースでストアド プロシージャの読み取り、書き込み (INSERT、UPDATE、DELETE)、および実行を行う必要があります。
SQL を介して認証するユーザーを作成し、[セキュリティ] -> [ログイン] -> [(ユーザー名) プロパティ] -> [ユーザー マッピング] を介して、ユーザーに db_datareader、db_datawriter、および db_procedureexec を付与しました。次に、ユーザー名と適切なパスワードを使用してデータベースに接続するようにアプリを構成しましたが、ストアド プロシージャを実行しようとすると、次のエラーが発生しました。
The EXECUTE permission was denied on the object '(stored procedure name)', database '(new database)', schema '(schema 1)'.
データベースのセキュリティ セクションでこのユーザーを見つけ、DB 内の 5 つのスキーマの所有者にしました。
付与した特権が多すぎませんか? プロシージャの読み取り、書き込み、および実行を行うために、アプリケーション レベルのユーザーはスキーマの所有者である必要がありますか?