【问题标题】:Server Level Trigger Breaks CRM服务器级触发器破坏 CRM
【发布时间】:2019-12-03 04:07:46
【问题描述】:

我们刚刚在 SQL Server 2014 实例上实现了服务器级触发器。它按预期工作......除了它破坏了托管在同一服务器上的 Dynamics CRM。

简而言之,没有开发人员能够更改实体。每当他们这样做时,他们都会收到此错误:

发生 SQL Server 错误。
Microsoft Dynamics CRM 遇到错误。管理员或支持的参考编号:#EFBBF1B9

如果我们禁用触发器,那就没问题了。 SQL Server 日志中没有任何内容。触发器本身是一个非常标准的审计类型触发器。

有什么想法吗?

【问题讨论】:

  • 贴一下触发代码可能会有帮助
  • 创建原始 ddl 语句的用户的安全上下文 - 这是您必须使用 GRANT CONTROL SERVER 以便原始上下文可以运行此触发器的场景。类似于 WITH EXECUTE AS OWNER (我只是把东西扔在那里)

标签: sql-server dynamics-crm database-trigger


【解决方案1】:

把它留给未来的人。这是由于权限。

我为 CRM 登录到 db_owner 权限的用户提供了权限,并且它起作用了,所以我将从这里向后工作并找到他们需要的最低限度。

【讨论】:

  • On Prem CRM 创建了几个具有足够最低权限的帐户 - 有几个帐户执行“一半”操作。您可能需要对多个帐户进行此“数据库所有者”更改。此外,您刚刚提升了一个被 MS 故意限制的帐户。
  • 是的,我同意我不会就这样离开它。我只是想说明解决方案是权限——因为我发布的错误几乎没有说明,SQL 日志中也没有说明。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-26
  • 2018-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-27
相关资源
最近更新 更多