2012-02-14 3 views
1

데이터베이스 테이블에서 레코드를 거의 업데이트하지 않아도됩니다. 이 테이블에는 외래 키 제약 조건이 거의 없습니다.SQL Server에서 제약 조건을 다시 활성화하려고하면 "ALTER TABLE 문과 COLUMN FOREIGN KEY 제약 조건이 충돌합니다."

하지 않으려면 제약, 나는이 사용하고 있습니다 : -

ALTER TABLE Table_01 NOCHECK CONSTRAINT ALL 
ALTER TABLE Table_02 NOCHECK CONSTRAINT ALL 
ALTER TABLE Table_01 DISABLE TRIGGER ALL 

다시 제약 조건을 활성화하기 위해, 내가 이것을 사용하고 있습니다 : -

ALTER TABLE Table_01 ENABLE TRIGGER ALL 
ALTER TABLE Table_01 WITH CHECK CHECK CONSTRAINT ALL 
ALTER TABLE Table_02 WITH CHECK CHECK CONSTRAINT ALL 

그러나 어떤 이유로

, 내가 제약을 넣어 시도 이 오류를 제공합니다. -

ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_Table_01_AAAAA_AAAA'. 
The conflict occurred in database 'DB', table 'Table_02', column 'ID'. 

참고 : 유사한 데이터베이스가 설치된 위치가 많습니다. 그래서이 활성화/비활성화 제약 조건은 일부 데이터베이스에서 작동하지만 전체는 작동하지 않습니다.

답변

5

수행 한 업데이트 중 하나가 외래 키 제약 조건을 위반했습니다. 문제의 데이터를 찾아서 수정할 때까지 다시 사용하도록 설정할 수 없습니다.

관련 문제