"NOT FOR REPLICATION"옵션이있는 기본 키


21

최근에 프로젝트를 인수했으며 대부분의 테이블에서 기본 키에 " NOT FOR REPLICATION" 속성이 있음을 발견했습니다 .

나는 DBA는 아니지만 대부분의 데이터베이스에서 기본 키가없는 레코드는 손상된 것으로 간주됩니다. 이러한 레코드의 대부분의 기본 키는 확실히 어딘가에 외래 키로 사용됩니다.

이 문제는 이전 개발자 (더 이상 회사에서 일하지 않는 사람)의 오류입니까, 아니면 다른 논리가 있습니까? 우리는 프로덕션 환경에서도 복제를 사용하지 않기 때문에 실제로 심각한 영향을 미치지는 않지만 알지 못하는 이러한 모든 지시문을 제거하는 다른 부작용이 있는지 궁금합니다.

이 주제와 관련된 여러 검색어에 대한 유용한 조회수를 많이 찾지 못했기 때문에 이것이 되돌릴 필요가있는 어리석은 오류 일 것입니다. 그래서이 질문은 실제로 편집증을 유발하는 것입니다.

답변:


24

NOT FOR REPLICATION은 레코드가이 테이블에 복제 될 때 복제 에이전트를 통해 ID 열에 삽입 된 모든 값이 소스 시스템의 원래 값을 유지하지만 로컬로 추가 된 모든 레코드는 여전히 ID 값을 증가 시킨다는 것을 나타냅니다.

업데이트 : 이전 링크가 끊어졌습니다.

NOT FOR REPLICATION 설정이 수행하는 작업을 자세히 설명하는 table_constraint 문서에 대한 링크는 다음과 같습니다.

테이블 제약


2
링크가 썩었습니다
Aleksandr Kravets

@AleksandrKravets 환호, 업데이트
steoleary
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.