Sintomas
Suponha que você tenha uma instrução Update que referencie uma função de partição inexistente usando a palavra-chave $Partition no Microsoft SQL Server 2014, 2016 ou 2017. Por exemplo,
Atualize TableName Set ColumnName= ' xyz ' em que $Partition. NonExistingPartitionFunction (ColumnName) = 1
Nessa situação, o SQL Server não executa uma atualização ou retorna uma mensagem de erro para indicar que o objeto NonExistingPartitionFunction não existe. No entanto, do ponto de vista do usuário, parece que a instrução Update foi executada com êxito, mas na verdade falhou.
Causa
Quando você executa um lote, o SQL Server pode executar a resolução de nomes adiados (DNR). Nesse processo, o SQL Server não gera um erro imediatamente quando encontra um objeto não existente, e espera que o objeto seja criado pelo módulo ou lote antes da execução da instrução que faz referência a esse objeto. Para funções de partição, o SQL Server não manipula DNR corretamente.
Informações adicionais
Para obter mais informações sobre DNR, consulte resolução de nomes adiados.
Resolução
Esse problema foi corrigido nas seguintes atualizações cumulativas do SQL Server:
Atualização cumulativa 8 para SQL Server 2016 SP1
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:
Atualização cumulativa mais recente do SQL Server 2016
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Referências
Saiba mais sobre a terminologiaque a Microsoft usa para descrever atualizações de software.