ユーザーが大きなデータ ファイルをアップロードし、そのデータを解析して SQL Server 2008 R2 データベースに保存できるアプリがあります。
ユーザーはデータに関するレポートを実行でき、データ量が非常に多いため、データがインポートされているテーブルで UPDATE STATISTICS を自動的に実行したいと考えています。
データ アクセスはストアド プロシージャを介して行われ、ユーザーはテーブルに対する権限を持たず、ストアド プロシージャでのみ実行されます。
テーブル名を取得し、sp_Executesql を使用して、渡されたテーブル名に対して UPDATE STATISTICS を実行するストアド プロシージャを作成しました。ストアド プロシージャとテーブルの両方が dbo によって所有されています。「存在しないか権限がないため、オブジェクト「テーブル」が見つかりません」というエラーが表示されます。ユーザーにテーブルの変更を許可すると、正常に機能しますが、それを避けたいと思います。テーブルとストアド プロシージャが同じ所有者によって所有されている場合、ユーザーのアクセス許可は無視されると思いました。
テーブルの変更権限がなくても UPDATE STATISTICS を実行することはできますか?