Накопительные обновления Microsoft SQL Server 2019 CU 9 и Microsoft SQL Server 2019 CU 10 содержат ошибку в определяемых пользователем функциях (UDF), поэтому не рекомендуется их устанавливать.
Кто установил девятое или десятое обновление, выделите время на установку Microsoft SQL Server 2019 CU 11, там ошибка исправлена:
Если нет возможности установить одиннадцатое накопительное обновление, то можно применить превентивные меры, отключить встраивание WITH INLINE = OFF при определении второй функции или ALTER DATABASE SCOPED CONFIGURATION SET TSQL_SCALAR_UDF_INLINING = OFF на всей базе.
Информация об ошибке
Примечание: Изменения, связанные с встраиваемыми скалярными UDF в CU9, приводят к нарушению доступа, когда объект вызывает встраиваемую скалярную UDF (UDF1) со встраиваемой скалярной UDF (UDF2), используемой в качестве входного параметра:
OBJECT DEFINITION(view/UDF/TVF/procedure)
…
SELECT UDF1(UDF2());
…
Исправление будет предоставлено в будущем накопительном обновлении. Чтобы избежать этого, отключите выражение встраиваемой скалярной UDF, используя один из следующих вариантов:
- Измените определение UDF2, добавив WITH INLINE = OFF.
- Отключите встраивание в БД используя ALTER DATABASE SCOPED CONFIGURATION SET TSQL_SCALAR_UDF_INLINING = OFF.