Sql server 个性化动态AX同步

Sql server 个性化动态AX同步,sql-server,indexing,dynamics-ax-2012,axapta,ax,Sql Server,Indexing,Dynamics Ax 2012,Axapta,Ax,我需要你的帮助,这样我才能解决工作中的一些问题 我们有一些在Sql Server Reporting Services上运行的报表。它上的查询使用T-SQL语言,但报告速度非常慢,因此我在SQL Server Management Studio上运行了“Show Estimated Execution Plan”,它告诉我需要以下索引来进行查询: CREATE NONCLUSTERED INDEX [InventJournalTable_JournalIdDataAreaId] ON [dbo]

我需要你的帮助,这样我才能解决工作中的一些问题

我们有一些在Sql Server Reporting Services上运行的报表。它上的查询使用T-SQL语言,但报告速度非常慢,因此我在SQL Server Management Studio上运行了“Show Estimated Execution Plan”,它告诉我需要以下索引来进行查询:

CREATE NONCLUSTERED INDEX [InventJournalTable_JournalIdDataAreaId]
ON [dbo].[INVENTJOURNALTABLE] ([JOURNALID],[DATAAREAID])

CREATE NONCLUSTERED INDEX [InventTrans_InventTransOrigin]
ON [dbo].[INVENTTRANS] ([INVENTTRANSORIGIN],[DATAAREAID],[DATEPHYSICAL])
INCLUDE ([ITEMID],[QTY],[COSTAMOUNTPHYSICAL],[INVENTDIMID])
我创建了它们,查询(在25分钟或更长时间内执行)现在只需两秒钟即可运行。但无论何时在AX上运行同步,显然都必须删除创建的索引

当同步器完成时,是否有任何触发器或东西可以执行,以便我可以再次创建所需的索引或任何其他未来操作

如果我在AX上创建它,它包含“Partition”列,对我的外部查询不好,因为它仍然非常慢


提前感谢您的帮助。

如果您需要在同步数据库时执行自定义SQL语句,您可以将代码添加到
Application.dbSychronize()
。例如,您可以在该函数中查看系统如何处理将存储过程添加到
ShipCarrierStaging
表中的操作。

谢谢您的回答。我想出来了,我已经准备好了那个部件并开始工作了。问题是,在开发工作区中,当我右键单击一个表(或在命令菜单上)并单击“同步”时,它也会删除索引,但该过程不会传递到Application.dbSynchronize(),我可以告诉您,因为我在表上添加了一个断点。你知道进程是从哪个类运行的吗?