Цитата:
Окончание индекса ведь строится по реальному физическому имени таблицы в базе данных TempDB. Если таблицы нет, то какое имя добавлять?
Так а реальное физическое имя то уже есть - и для построения имени индекса у АОСа есть вся информация - он же в селекте то пишет имя экземпляра, к которому обращается - а то что существует этот экземпляр физически или нет на БД это уже другой вопрос - если его нет, то в момент выполнения просто будет ошибка что такой то объект не существует. (для меня не очень логично делать доп. запрос на определение существует ли экземпляр только при построении индекса, когда вся информация у нас и так есть и мы можем сами построить имя со стороны АОСа).
Сейчас немного смущают следующие моменты
- в примере в запросе один ID, а на скринах ID таблички другой - запрос с одной инсталляции, скрины AOT с другой ?
- в коде мы выбираем только одно поле, в запросе присутствуют все поля - хотя индексы не кластерные, кеширование отключено, интересно почему выбираются все поля, мб потому что tempDB.
- не помогает ребут, те это меняется что-то в каких-то постоянных характеристиках системы, а не кеш\память и т.д. - так а на всех ли инсталляциях проявляется проблема, на разных АОСах, в пакетном режиме ?
- что в EV на АОСе ? Там эта ошибка есть, другие ?
- если снять трассировки SQL запросов (например через TraceParser) в этом функционале после исправления проблемы и просто в других местах системы - все ли запросы уходят с with ? (опять таки если несколько АОСов то попробовать снять трассировки на разных)