SQL Server возвращает неправильное значение XML для родительского узла после установки CU14 - PullRequest
0 голосов
/ 03 июня 2019

Мы недавно обновили SQL Server с:
Microsoft SQL Server 2017 (RTM-CU9-GDR) (KB4293805) - 14.0.3035.2 (X64)
чтобы:
Microsoft SQL Server 2017 (RTM-CU14-GDR) (KB4494352) - 14.0.3103.1 (X64)

В одном из заданий извлечения мы используем SQL, например:

SELECT
XMLNode_Root.R.value('./@ID', 'INTEGER') AS [SellerID],
CAST(XMLNode_Root.R.value('../@ID', 'VARCHAR(25)') AS BIGINT) AS [ApplicationID]
FROM Stage.LoanAppl_XML AS AD
CROSS APPLY AD.ApplicationXMLPackage.nodes('//MessageResponse/body/Application/Seller') AS XMLNode_Root(R)
OPTION(USE HINT('ENABLE_PARALLEL_PLAN_PREFERENCE'));

В последнее время в случайных случаях этот выбор начинает возвращать значения NULL для столбца ApplicationID, даже если идентификатор определен в родительском элементе.

Что интересно:
1. Если я внесу какие-либо изменения в SQL Select, например, изменить регистр или добавить пробелы, он вернет правильные значения.
2. Запуск dbcc freeproccache решает проблему на некоторое время.

Я сохранил план выполнения до и после очистки кэша, но не могу опубликовать его сейчас.

Интересно, кто-нибудь сталкивался с подобной проблемой и смог найти решение?

...