Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Sintomas

Suponha que você tentar excluir dados de uma tabela e os dados que está sendo referenciados em outras tabelas no Microsoft SQL Server 2016 e 2017. ,f explorar consulta plano de execução, você pode vê-lo usar um operador de verificação de referência de chave estrangeira .Nessa situação, você pode receber a seguinte mensagem de erro mesmo que a linha está sendo excluído não é referenciado em outras tabelas:

Msg 547, nível 16, estado 0, linha LineNumber

A instrução DELETE entrou em conflito com a restrição de referência

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Resolução

Esse problema é corrigido na atualização cumulativa seguinte para SQL Server:

Observação: Esse problema é corrigido na 6 de atualização cumulativa para SQL Server 2016 SP2.

Sobre atualizações cumulativas para o 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 as atualização cumulativa anterior. Confira as mais recentes atualizações cumulativas para o SQL Server:

Solução alternativa

Como solução alternativa para esse problema, use um dos seguintes métodos:

  • Use o nível de compatibilidade abaixo 130 para executar esta consulta.

  • Alterar estrutura de índice na tabela de referência.

Informações adicionais

Nível de compatibilidade da configuração no escopo do banco de dados inicial 130 no SQL Server 2016, um plano de execução da consulta pode usar a referência de chave estrangeira Seleção de operador para verificar se uma linha em uma tabela é referenciada por quaisquer linhas em outros tabelas por meio de restrições de integridade referencial. Operador pode ser usado se uma tabela é referenciada por um grande número de tabelas externas. Este operador in SQL Server escolhe um índice em cada tabela de referência para fazer essa verificação. Se uma tabela de referência tem um índice com várias colunas chaves, tal alguns colunas no início não fazem parte da chave estrangeira, mas alguma outra colunas fazem parte da chave estrangeira. Isso pode resultar em verificação incorreta que é executada pelo SQL Server.

Por exemplo, considere o seguinte esquema:

Criar tabela tpk (pk int restrição cpk agrupado chave primária)

Criar tabela tfk (um int, int fk restrição cfk referências de chave estrangeira tpk, clustered(a,fk)) de ia de índice

Esse esquema pode causar esse problema, mas se você alterar ordem das colunas no índice ia para (fk, um), ele será não.

Referências

Saiba mais sobre o  terminologiaque a Microsoft usa para descrever as atualizações de software.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×