sql - 有没有办法默认触发器在特定用户上运行以进行 DML 操作?
问题描述
我在数据库 A 中的表 A 上有一个触发器,它将数据插入到数据库 B 中的表 b 中,两个数据库都在同一台服务器上。
对数据库 A 中的表 A 具有开发人员访问权限的用户在执行 dml 操作时遇到错误,因为他的角色仅限于使用数据库 A。有没有办法默认触发器在特定连接上运行?
解决方案
在 SQL Server 中,触发器(以及存储过程和函数)具有EXECUTE AS
子句。这使您可以在执行代码时控制权限。
推荐阅读
- c - 野牛说开始符号不派生任何句子
- php - 我从头开始的第一个 WordPress 主题。在 functions.php 文件中加入样式表
- php - 将基本 php 更改为 if 语句 php
- javascript - 如何操作 socket.io 数据,可能是通过代理,或者作为中间件?
- sql - 在 AppMaker 中使用计算模型连接两个大表
- c# - ASP.Net Core MVC/API/SignalR - 更改身份验证方案(Cookie 和 JWT)
- jquery - 去抖错误,“TypeError:$.debounce 不是函数”
- typescript - 如何修复`没有'new'就不能调用类构造函数LitElement`?
- database - 无法使用 go_client 放置 GridDB 容器
- javascript - Puppeteer 转到不同的页面