Добрый день!
Сколько не искал, похожих проблем как-будто ни у кого не было.
Время от времени аксапта делает до этого работавшие запросы неправильно - с ошибкой в синтаксисе. И получаем ошибку:
Цитата:
Невозможно выбрать запись в Акции по приоритетам (PublicityPriorTempDb). Код акции: 0.
База данных SQL обнаружила ошибку.
Описание ошибки SQL: [Microsoft][SQL Server Native Client 11.0][SQL Server]Неправильный синтаксис около конструкции "(".
Оператор SQL: SELECT TOP 1 T1.PUBLICITYJOURNALRECID,T1.ITEMID,T1.PARTITION,101090 FROM tempdb."DBO".t106966_ACAE536E796A4D7783471D261AF32F8E T1 WITH ( INDEX(i106966_I_106966PUBLICITYJOURNALRECIDX_(null))) WHERE (((PARTITION=?) AND (DATAAREAID=?)) AND (PUBLICITYJOURNALRECID=?))
В запросе ошибка в хинте по индексу WITH ( INDEX(i106966_I_106966PUBLICITYJOURNALRECIDX_(null)).
(null) - быть не должно.
Сам запрос в аксапте выглядит так:
X++:
select firstOnly PublicityJournalRecId from
PublicityPriorTempDb
where PublicityPriorTempDb.PublicityJournalRecId == PublicityJournalTableCurrent.RecId
Таблица с индексом выглядит так:
https://ibb.co/vZtBQc1
И свойства таблицы:
https://ibb.co/P5BX7Hj
Ошибка исправляется, если удалить индекс. А потом создать другой с другим именем. Встречалась и на обычных таблицах, не TempDb.
Подскажите, что это может быть? Баг в ядре? Куда вообще смотреть?