データベースへの可能なアクセス方法を、ストアド プロシージャのみを使用するように制限したいと考えています。以外はすべて正常に動作しますSystem.Data.SqlClient.SqlBulkCopy
。大量のデータをインポートするために、1 つのクラスでのみ使用しています。
この問題を回避することは可能ですか?
呼び出す前に権利を付与し、SqlBulkCopy
後に削除しようとしました:
EXEC [db_mod].[sys].[sp_addrolemember] N'db_datawriter', N'my_user'
EXEC [db_mod].[sys].[sp_droprolemember] N'db_datawriter', N'my_user'
しかし、そのようなアプローチではエラーが発生します:
ユーザーには、このアクションを実行する権限がありません。
同じユーザーで実行しています。必要なものを許可するにはどうすればよいですか?