Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Sintomas

Suponha que tenta eliminar dados de uma tabela e os dados que está a ser referenciados de outras tabelas no Microsoft SQL Server 2016 e 2017. If explorar consultas plano de execução, pode vê-la a utilizar um operador verifique da referência de chave externa .Nesta situação, poderá receber uma mensagem de erro seguinte mesmo se a linha que está a ser eliminado não for referenciado noutras tabelas:

Msg 547, de 16 de nível de estado 0, linha Número_linha

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

Estado

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

Resolução

Este problema foi corrigido na actualização cumulativa para o SQL Server:

Nota Este problema foi corrigido no 6 actualização cumulativa para o SQL Server de 2016 SP2.

Acerca de actualizações cumulativas para o SQL Server:

Cada nova actualização cumulativa para o SQL Server contém todas as correcções e todas as correcções de segurança que foram incluídas na anterior actualização cumulativa. Verifique as actualizações cumulativas mais recentes para o SQL Server:

Solução

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

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

  • Alterar a estrutura de índice em tabela de referência.

Mais Informações

Nível de compatibilidade de configuração no âmbito da base de dados inicial 130 no SQL Server 2016, um plano de execução de consulta pode utilizar a referência de chave externa Operador de verificação para verificar se uma linha numa tabela é referenciada por todas as linhas de outro tabelas através de restrições de integridade referencial. Esse operador pode ser utilizado 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 efectuar essa verificação. Se uma tabela de referência tem um índice com várias colunas de chaves, tais algumas colunas no início não fazem parte da chave externa, mas alguns outros as colunas são parte da chave externa. Isto poderá resultar na verificação incorrecta que é efectuada pelo SQL Server.

Por exemplo, considere o seguinte esquema:

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

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

Este esquema pode resultar neste problema, mas se alterar ordem das colunas no índice ia (fk, um), não o fará.

Referências

Obter informações sobre a  terminologiaque a Microsoft utiliza para descrever actualizações de software.

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×