KB3136496 - CORRECÇÃO: A violação de acesso ocorre quando uma consulta faz referência a uma função SQLCLR por meio de um sinônimo no SQL Server 2014 e 2016

Aplica-se a
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

Considere o seguinte cenário:

  • Há uma função SQLCLR declarada como "determinística" e a função pode ser usada para a otimização de "substituição por uma constante".
  • Há um sinônimo que aponta para a função SQLCLR.
  • Uma TVF (função com valor de tabela) faz referência à função SQLCLR por meio do sinônimo.

Nesse cenário, quando um aplicativo consulta essa TVF, pode ocorrer uma violação de acesso e você pode receber uma mensagem de erro semelhante à seguinte:

Observação

  • Mensagem 0, Nível 11, Estado 0, Linha 14
  • Ocorreu um erro grave no comando atual. Os resultados, se houver, devem ser descartados.

Além disso, uma mensagem de erro é registrada no log de erros do SQL Server.

Resolução

Informações do service pack do SQL Server

Esse problema é corrigido no seguinte service pack para o SQL Server:

Service Pack 2 para SQL Server 2016

Service Pack 3 para SQL Server 2014

Sobre service packs do SQL Server:

Os service packs são cumulativos. Cada novo service pack contém todas as correções dos service packs anteriores, juntamente com as novas correções. Nossa recomendação é aplicar o service pack mais recente e a atualização cumulativa mais recente para esse service pack. Não é necessário instalar um service pack anterior antes de instalar o service pack mais recente. Use a Tabela 1 do artigo a seguir 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 seus componentes

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Referências

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