Banco de Dados Microsoft SQL Server 2000

SQL Server

28/05/2015

Boa tarde,

Estou com um problema no meu banco de dados no SQL Server 2000.
Não consigo apagar os registros dos campos do SQL, alguém poderia me ajudar como ativar novamente a exclusão dos dados.

Obs: O gerenciador do Meu Computador está ativado e funcionando normalmente, mas só na hora de apagar ocorre o erro:

[Microsoft][ODBC SQL Server][SQL Server]DELETE statement conflicted with COLUMN REFERENCE constraint 'Name da Tabela'. The conflict occurre in database 'FK_Name', table 'Name',column'id'.
[Microsoft][ODBC SQL Server][SQL Server] The statement has been terminated.

Agradeço desde já.
Milton Honji

Milton Honji

Curtidas 0

Melhor post

Mariana Carvalho

Mariana Carvalho

28/05/2015

Minha primeira pergunta, é em ambiente de produção?

Existe algum relacionamento dos campos com outra tabela?
GOSTEI 1

Mais Respostas

Fabiano Carvalho

Fabiano Carvalho

28/05/2015

Esse registro que voce está tentando deletar possui referente de chave primária.
Para conseguir executar terá que deletar suas dependencias, ou então tentar alterar a CONSTRAINT para delete cascade. Pesqueise sobre, caso não consiga solucionar, retorne.
GOSTEI 1
Mariana Carvalho

Mariana Carvalho

28/05/2015

Tinha esquecido do delete cascade, isso apaga dados de tabelas relacionadas não é?
GOSTEI 1
Milton Honji

Milton Honji

28/05/2015

é ambiente de produção e o sistema funciona em formato de processos.
Mariana.
GOSTEI 0
Jothaz

Jothaz

28/05/2015

Tinha esquecido do delete cascade, isso apaga dados de tabelas relacionadas não é?


Sim!

Agora dever ser utilizado com muita atenção e critério, senão você poder matar dados indevidamente.

Por exemplo você exclui um estado na tabela ESTADOS e tudo o que faz referência a este registro é excluído junto.
GOSTEI 1
Milton Honji

Milton Honji

28/05/2015

Fabiano C,

Eu já tentei rever o comando Deletar, ele não consegue fazer nada, se eu remover a chave primaria ele irá desvincular todas as tabelas.

Agradeço
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

28/05/2015

Não é remover e sim colocar o Cascade nela.
São muitos registros a serem deletados?
pelo amor de Deus realize backup antes do delete
GOSTEI 0
Milton Honji

Milton Honji

28/05/2015

Não é remover e sim colocar o Cascade nela.
São muitos registros a serem deletados?
pelo amor de Deus realize backup antes do delete


São sim muitos para ser deletado.

é a melhor coisa realizar o backup antes.
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

28/05/2015

Verifique essa solução http://stackoverflow.com/questions/13244889/how-to-alter-constraint

Um backup simples das tabelas envolvidas é

SELECT * INTO [TABLE_NAME_BACKUP]
FROM [TABLE_NAME]
GOSTEI 0
Jothaz

Jothaz

28/05/2015

Não é remover e sim colocar o Cascade nela.
São muitos registros a serem deletados?
pelo amor de Deus realize backup antes do delete


São sim muitos para ser deletado.

é a melhor coisa realizar o backup antes.


Mais que fazer backup você dever certificar-se do que o procedimento que você vai realizar esta correto.
Se a base é de produção um deleção em cascata pode ser catastrófica.
Antes de mais nada verifique no seu modelo todas as implicações e todas as tabelas afetadas.
Se você não tem experiência com banco de dados pense 10 vezes antes de tomar qualquer atitude.
Faça um backup de tudo e tenha certeza do que esta fazendo, já vi muita demissão por atitudos intempestivas.

Agora isto é somente minha humilde opinião.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

28/05/2015

Entendi bem a ideia.
Sim!

Agora dever ser utilizado com muita atenção e critério, senão você poder matar dados indevidamente.

Por exemplo você exclui um estado na tabela ESTADOS e tudo o que faz referência a este registro é excluído junto.


Muita atenção mesmo nesses casos, pelo amor...!!!
Não é remover e sim colocar o Cascade nela.
São muitos registros a serem deletados?
pelo amor de Deus realize backup antes do delete
GOSTEI 0
Isaac Jose

Isaac Jose

28/05/2015

bom dia a todos, Milton Honji siga os conselhos do Jothaz faça um Bkp. e manipule isso para fazer os testes que precisa.
na minha opinião esse erro te salvou pois se não tivesse essa trava vc provavelmente teria feito algo que nao seria exatamente o que queria.

abraços.
GOSTEI 0
Marcos P

Marcos P

28/05/2015

Cara... muita calma nessa hora !!!

Olha bem o que você vai fazer...
GOSTEI 0
Jothaz

Jothaz

28/05/2015


pelo amor de Deus realize backup antes do delete

bom dia a todos, Milton Honji siga os conselhos do Jothaz faça um Bkp. e manipule isso para fazer os testes que precisa.
na minha opinião esse erro te salvou pois se não tivesse essa trava vc provavelmente teria feito algo que nao seria exatamente o que queria.
abraços.

Cara... muita calma nessa hora !!!
Olha bem o que você vai fazer...


Preste muita atenção nos alertas.
A deleção em cacasta normalmente não é recomendada, pois se usada de forma incorreta ou impensada pode fazer um oco no seu banco de dados.

O Isaac Jose e o Marcos P estão cobertos de razão e talvez o delete não funcionar te salvou.

A contraint de Integridade referencial é uma das melhores coisas do BD´s relacionais.
Então não é que o comando delete esteja com erro, esta simplesmente se comportando como foi definido no modelo e evitando que alguém desavisado faça exclusões impensadas.

Antes de tomar qualquer atitude certifique-se de que entendeu completamente qual vai ser o impacto no seu banco de dados
GOSTEI 0
POSTAR