KB4577933 - FIX: Cascata elimina valores-chave fora dos limites do histograma da tabela principal causa digitalização de índice no SQL Server 2017 e 2019

Sintomas

Assuma que tem uma tabela utilizando um constrangimento de chave estrangeira definido para eliminar cascata, e as estatísticas sobre a coluna-chave estrangeira não cobrem toda a gama dos valores-chave da tabela (por exemplo: porque as estatísticas não foram atualizadas após alterações na distribuição de dados na tabela). Neste cenário, quando se tenta apagar uma linha correspondente a um valor-chave não representado no histograma estatístico, e o Otimizador de Consulta está a usar a estimativa de cardinalidade padrão, a operação de eliminação é mais lenta do que o esperado. Também pode notar que uma operação de verificação de índices é usada para encontrar as linhas correspondentes na tabela de referência.

Estado

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

Resolução

Esta emissão é corrigida nas seguintes atualizações cumulativas para o SQL Server:

Nota: Esta correção só é ativada quando gira hotfixes optimizadores ON (seja através da opção de configuração do âmbito de tempo de base de dados, sugestão de consulta ou de traço de bandeira 4199).

Sobre as atualizações cumulativas para o SQL Server:

Cada nova atualização cumulativa do 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. Confira as últimas atualizações cumulativas do SQL Server:

Solução

Para contornar este problema, utilize um dos métodos seguintes:

  • Use a estimativa do cardinalício legado. Para obter mais informações, consulte a Estimativa cardinalício (SQL Server).

  • Retire a cascata para eliminar a definição de Chave Estrangeira e execute a operação de eliminação utilizando as tabelas DE SEPAR entre os pais e as mesas de crianças para realizar o equivalente à eliminação em cascata.

  • Atualize as estatísticas na tabela dos pais com o FULLSCAN antes de eliminar os dados.

Referências

Conheça a terminologia que a Microsoft utiliza para descrever atualizações de software.

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×