Мне нужна ваша помощь, поэтому я могу решить некоторые проблемы на моей работе.Персонализация Dynamics AX Синхронизация
У нас есть несколько отчетов, которые мы запускаем в Sql Server Reporting Services. Запрос на нем своем языке T-SQL, но отчет очень медленно, так что я побежал «Ориентировочный план выполнения» на SQL Server Management Studio и он говорит мне, что мне нужен следующие индексы для запроса:
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, он содержит столбец «Разделение» и не подходит для моего внешнего запроса, так как он все еще очень медленный.
Заранее за вашу помощь.
Спасибо за ваш ответ Джей. Я понял это, и у меня уже есть эта часть, готовая и работающая. Дело в том, что в рабочей области разработки, когда я делаю щелчок правой кнопкой мыши (или в командном меню) в таблице, и я нажимаю «Синхронизировать», также удаляет индексы, но этот процесс не проходит Application.dbSynchronize(), я могу скажите, потому что я добавил точку останова на нем. Есть ли у вас какие-либо идеи о том, из какого класса этот процесс выполняется? – JGutierrezC