Извините, я не могу предоставить сокращенный вариант данных на данный момент. Но вот общий вопрос.
Я использую, начиная с SQL Server 2005, через приложение, использующее ADO с OLE DB, функцию значения таблицы с несколькими операторами с рекурсивным CTE без проблем. С SQL Server 2019 производительность стала проблемой. Затем я переписал функцию как встроенную функцию табличного значения и восстановил производительность и функциональность при использовании в SQL Server Management Studio. При использовании в приложении первое выполнение простого запроса с этим встроенным TVF возвращает пустой или закрытый набор записей. получил утверждения в atldbicli.h. Последующие выполнения того же запроса возвращают правильный набор записей. Когда я заменяю оператор выбора в CTE статическим оператором выбора значений, набор записей заполняется.
Любая подсказка? ось исследований, предложения? Заранее спасибо.
Похоже, мы использовали устаревшую версию ADO.