KB4013128 - CORREÇÃO: Desempenho reduzido e esperas longas para CLR_AUTO_EVENT e CMEMTHREAD quando a UDT do SQLCLR é utilizada como um parâmetro de procedimento armazenado para uma chamada RPC do SQL

Aplica-se A
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomas

Utilize o Microsoft SQL Server 2012, 2014 ou 2016 e crie um Tipo definido pelo utilizador (UDT) com SQL Server integração de runtime de linguagem comum (SQL CLR).

Se utilizar a UDT como um parâmetro de procedimento armazenado, o parâmetro é transmitido para o servidor através do mecanismo de chamada de procedimento remoto (RPC). Este mecanismo tenta internamente carregar uma assemblagem que aloja o UDT na memória.

Nesta situação, poderá deparar-se com uma diminuição do desempenho da execução do procedimento armazenado. Isto ocorre devido a uma ineficiência causada quando o RPC carrega e descarrega a assemblagem SQLCLR de forma desnecessária.

Este problema é manifestado como tempos de espera longos para os tipos CLR_AUTO_EVENT e CMEMTHREAD . Isto é especialmente verdade se vários utilizadores em simultâneo estiverem a executar o mesmo procedimento armazenado.

Resolução

Informações do service pack para SQL Server

Esta atualização foi corrigida nos seguintes service packs para SQL Server:

Service Pack 2 para SQL Server 2016

Service Pack 3 para SQL Server 2014

Service Pack 4 para SQL Server 2012

Acerca dos service packs para SQL Server:

Os service packs são cumulativos. Cada novo service pack contém todas as correções que estão em service packs anteriores, juntamente com quaisquer correções novas. A nossa recomendação é aplicar o service pack mais recente e a atualização cumulativa mais recente para esse service pack. Não tem de instalar um service pack anterior antes de instalar o service pack mais recente. Utilize a Tabela 1 no artigo seguinte para encontrar mais informações sobre o service pack mais recente e a atualização cumulativa mais recente.

Como determinar a versão, a edição e o nível de atualização do SQL Server e dos respetivos componentes

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Referências

Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.