我正在使用 MS-SQL 2008 R2 中的数据库,但遇到了问题。
基本设置是这样的: 有两个感兴趣的表:dbo.Assesments 和 audit.Assesments。dbo.Assesments 是工作数据表,并具有数据更改(插入、更新、删除)触发器以更新带有更改日志的 audit.Assesments。据我所知,这已经工作了多年,到目前为止一切顺利。
我们的 L2 支持有一个名为 SupportRole 的角色,他们通过 WinAuth 进入该角色,并且该角色具有一些存储过程的选择权限和执行权限。其中一个存储过程会更新 dbo.Assesments。这就是问题所在:更新进入,存储过程触发以将审计行插入到 audit.Assesments,然后他们立即得到“插入被拒绝,插入权限不足”,事务角色返回等。
这让我很困惑:我曾认为触发器更像是存储过程,如果它们被创建,他们有权做任何他们正在做的事情,但这让我三思而后行。我不想为审计表/模式的支持角色授予插入权限。我该怎么办?