Проблема
Вы используете Microsoft SQL Server 2012, 2014 или 2016 и создаете определяемый пользователем тип (UDT) с помощью интеграции SQL Server среды CLR SQL.
При использовании определяемого пользователем типа в качестве параметра хранимой процедуры параметр передается на сервер через механизм удаленного вызова процедуры (RPC). Этот механизм внутренне пытается загрузить сборку, которая размещает определяемый пользователем тип в памяти.
В этом случае производительность выполнения хранимой процедуры может снизиться. Это происходит из-за неэффективности, которая возникает, когда RPC загружает и выгружает сборку SQLCLR непреднамеренно.
Эта проблема проявляется как длительное время ожидания для типов CLR_AUTO_EVENT и CMEMTHREAD . Это особенно верно, если несколько одновременных пользователей выполняют одну хранимую процедуру.
Решение
Сведения о пакете обновления для SQL Server
Это обновление исправлено в следующих пакетах обновления для SQL Server:
Пакет обновления 2 (SP2) для SQL Server 2016
Пакет обновления 3 (SP3) для SQL Server 2014
Пакет обновления 4 (SP4) для SQL Server 2012 г.
Сведения о пакетах обновления для SQL Server:
Пакеты обновления являются накопительными. Каждый новый пакет обновления содержит все исправления, которые были в предыдущих пакетах обновления, а также все новые исправления. Мы рекомендуем применить последний пакет обновления и последнее накопительное обновление для этого пакета обновления. Вам не нужно устанавливать предыдущий пакет обновления перед установкой последнего пакета обновления. Дополнительные сведения о последнем пакете обновления и последнем накопительном обновлении см. в таблице 1 в следующей статье.
Определение версии, выпуска и уровня обновления SQL Server и его компонентов
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Ссылки
Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.