有没有办法可以生成 CRM 中所有实体的列表以及它们是否打开了审核历史记录?

问题描述 投票:0回答:5

我检查了 CRM SQL 数据库中的实体,但没有指定有关审核历史记录的列。我知道有一种方法可以通过 CRM 的在线门户启用/禁用它,但这需要相当长的时间才能查看哪些实体启用了它,哪些实体禁用了它。

我尝试四处寻找,但找不到太多关于这个主题的信息,所以我想我会看看这里是否有人了解它或有任何经验。

这里引用了 Microsoft 页面上有关通过在线门户访问它的内容:

单击您要开始或停止审核的实体。要开始审核,请在“常规”选项卡的“数据服务”部分中,选中“审核”复选框。要停止审核,请清除该复选框。

http://crmbook.powerobjects.com/basics/data-management-in-microsoft-dynamics-crm/auditing-in-microsoft-dynamics-crm/

如果我可以添加任何内容以使我的问题更清楚,请告诉我。

c# sql-server dynamics-crm crm
5个回答
3
投票

再次向您推荐 XrmToolbox...元数据浏览器可以满足您的需求:

请注意,对于此屏幕截图,我使用“列”按钮将 IsAuditEnabled 列尽可能移至左侧。

既然您表明您有权访问 SQL,那么这里有一个查询:

SELECT EntityId, Name, IsAudited
FROM MyOrg_MSCRM.MetadataSchema.Entity

如果您想在 C# 中执行此操作,RetrieveAllEntitiesRequest 类是一个很好的起点。


1
投票

下载 XrmToolBox 并在单次拉伸中启用/禁用审核。

审核中心插件将帮助您完成魔法。

了解更多

更新: 安装 xrmtoolbox 后,连接到组织,单击“审核中心”,单击“加载数据” - 将列出已审核的实体和属性:


0
投票

使用名为 SQL 4 CDS 的 XRMToolbox 工具,并使用以下查询获取启用审核的所有实体和属性。您可以将数据复制到 Excelsheet 中,然后就可以开始使用了。祝你好运。

  SELECT attribute.displayname AS "Attribute Display Name",
       attribute.logicalname AS "Attribute Logical Name",
       entity.displayname AS 'Entity Display Name',
       attribute.entitylogicalname AS "Entity Logical Name"
FROM   attribute
       INNER JOIN
       entity
       ON attribute.entitylogicalname = entity.logicalname
WHERE  attribute.isauditenabled = 1
and entity.isauditenabled =1;

0
投票

请考虑在浏览器中添加“Pascalcase Metadata Browser”插件,以帮助您检查表格 Fieldoncedownloadedtoexcel

StepstocheckauditenabledfieldusingPascalcase Metadata Browser


-1
投票
SELECT  E.displayname, E.logicalname FROM metadata.entity E
WHERE E.isauditenabled = 1
© www.soinside.com 2019 - 2024. All rights reserved.