KB4488949 - CORREÇÃO: A asserção ocorre quando o servidor vinculado que aponta para si mesmo é usado em uma transação entre bancos de dados em SQL Server 2016 e 2017

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)

Sintomas

Tenha em conta o seguinte cenário:

  • Tem um Grupo de Disponibilidade Sempre Ligado (AG) com DTC_SUPPORT = PER_DB.
  • Você cria um servidor vinculado que aponta para si mesmo.
  • Você cria uma transação que acessa um banco de dados que participa do AG usando o servidor vinculado junto com qualquer outro banco de dados no servidor, ou até mesmo o mesmo banco de dados sem o servidor vinculado.

Nesse cenário, uma asserção ocorrerá, e você pode receber mensagens de erro semelhantes à seguinte:

DateTimespid SpidNumber * Expression: ITaskProxy::FIsCurrentTaskProxy (m_owningTaskProxy)

DateTimespid SpidNumber * SPID: SpidNumber

DateTime spid SpidNumber * ID do processo: ProcessNumber
      

Estado

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

Resolução

O problema foi corrigido nas seguintes atualizações cumulativas do SQL Server:

Acerca das atualizações cumulativas para SQL Server:

Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:

Referências

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