[firebase-br] Erro ao DROPAR constraint FOREIGN KEY

Fernando Alécio fernando.bg em gmail.com
Qua Ago 15 21:04:00 -03 2018


Boa noite a todos

Estou com um problema ao tentar fazer um DROP em uma constraint em um 
banco específico. Esse banco é Firebird 2.5. A linha de comando é a 
seguinte:

ALTER TABLE MINHA_TABELA drop CONSTRAINT MINHA_FOREIGN_KEY;

Quando executo essa linha ou entro pelo IBExpert e tendo dropar a FK é 
me retornado o erro abaixo.

This operation is not defined for system tables.
unsuccessful metadata update.
ERASE RDB$RELATION_CONSTRAINTS failed.
action cancelled by trigger (1) to preserve data integrity.
Cannot delete trigger used by a CHECK Constraint.
At trigger 'RDB$TRIGGER_34'.

Mas como eu disse acima esse erro é em um banco específico. Se eu rodar 
a mesma instrução em outro banco semelhando roda de boa.

Andei pesquisando pela internet e vi várias possíveis soluções, mas 
nenhuma resolveu até o momento.

Ouvi sobre possível corrupção dos dados, passei um GFIX e não detectou 
nenhuma inconsistência, logo após fiz um backup e retore e mesmo assim 
não funcionou.

Após isso fiz um backup e restore marcando a opção de restauração 
somente dos metadatas, depois disso tentei fazer o drop, mas mesmo com o 
banco vazio não foi possível.

Então acredito que o problema é na estrutura desse banco em específico, 
mas não consegui resolver esse problema, alguém tem alguma dica sobre 
esse problema?





Mais detalhes sobre a lista de discussão lista