SQL Server 2005 데이터베이스에 고스트 제약 조건을 유지하는 것과 같은 문제가 있습니다. 문제의 제약 조건을 삭제하고, 일부 작업을 수행 한 다음 동일한 제약 조건을 다시 추가하는 스크립트가 있습니다. 일반적으로 정상적으로 작동합니다. 그러나 데이터베이스가 이미 존재한다고 말하기 때문에 제약 조건을 다시 추가 할 수는 없습니다.SQL Server 고스트 FK 제약 조건에 대해 수행 할 수있는 작업은 무엇입니까?
select object_id('INDIVIDUAL_EMP_FK')
select * from sys.foreign_keys where name like 'individual%'
: 제약 조건이 삭제됩니다
alter table individual drop constraint INDIVIDUAL_EMP_FK
ALTER TABLE INDIVIDUAL
ADD CONSTRAINT INDIVIDUAL_EMP_FK
FOREIGN KEY (EMPLOYEE_ID)
REFERENCES EMPLOYEE
후, 개체가 정말 다음과 같은 쿼리를 사용하여 사라진 것을 확인했습니다 : 여기
내가 함께 일하고 있어요 쿼리입니다모두 어떤 결과 (또는 null)을 반환하지 않습니다,하지만 난 다시 쿼리를 추가 할 때, 내가 얻을 :
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "INDIVIDUAL_EMP_FK".
TR 그것을 떨어 뜨리기 위해 나는 그것이 존재하지 않는다는 메시지를받습니다. 어떤 아이디어?
정확히 일치합니다. 이 메시지는 * 방금 추가 된 * INDIVIDUAL_EMP_FK 제약 조건에 대한 메시지이며 현재 검증 중입니다. 확인에 실패하면 암시 적 트랜잭션이 롤백되고 새로 추가 된 제한 조건이 사라집니다. –
그래, 정확히 그게 그랬어. FK를 언급하는 오류 메시지가 나는 그것을 버리려고했다. 도와 주셔서 감사합니다! – rcook8601