복제할 때 CHECK 제약 조건 해제

SQL Server 2012에서 SQL Server Management Studio 또는 Transact-SQL을 사용하여 CHECK 제약 조건을 비활성화할 수 있습니다. 명시적으로 복제에 대한 CHECK 제약 조건을 비활성화할 수도 있습니다. 이는 이전 버전의 SQL Server에서 데이터를 게시하는 경우 유용할 수 있습니다.

[!참고]

테이블이 복제를 사용하여 게시된 경우 복제 에이전트에서 수행하는 작업에 대한 CHECK 제약 조건은 자동으로 비활성화됩니다. 복제 에이전트가 구독자에서 삽입, 업데이트 또는 삭제를 수행하면 제약 조건이 확인되지 않지만 사용자가 삽입, 업데이트 또는 삭제를 수행하면 제약 조건이 확인됩니다. 데이터가 원래 삽입, 업데이트 또는 삭제될 때 제약 조건이 게시자에 이미 확인되었으므로 복제 에이전트에 대한 제약 조건이 비활성화됩니다. 자세한 내용은 스키마 옵션 지정을 참조하십시오.

항목 내용

  • 시작하기 전에:

    보안

  • 복제에 대한 CHECK 제약 조건을 비활성화하려면:

    SQL Server Management Studio

    Transact-SQL

시작하기 전 주의 사항

보안

사용 권한

테이블에 대한 ALTER 권한이 필요합니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

SQL Server Management Studio 사용

복제할 때 CHECK 제약 조건을 비활성화하려면

  1. 개체 탐색기에서 수정하려는 CHECK 제약 조건을 포함하는 테이블을 확장하고 제약 조건 폴더를 확장합니다.

  2. 수정할 CHECK 제약 조건을 마우스 오른쪽 단추로 클릭한 다음 수정을 클릭합니다.

  3. CHECK 제약 조건 대화 상자의 테이블 디자이너에서 복제에 적용에 대해 아니요를 선택합니다.

  4. 닫기를 클릭합니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

Transact-SQL 사용

복제할 때 CHECK 제약 조건을 비활성화하려면

  1. 개체 탐색기에서 데이터베이스 엔진 인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다. 이 예에서는 IDENTITY 열이 있는 테이블과 테이블에 대한 CHECK 제약 조건을 만듭니다. 그런 다음 제약 조건을 삭제하고 NOT FOR REPLICATION 절을 지정하여 다시 만듭니다.

    USE AdventureWorks2012;
    GO
    CREATE TABLE dbo.doc_exd (column_a int IDENTITY (1,1) 
    CONSTRAINT exd_check CHECK (column_a > 1)) 
    
    ALTER TABLE dbo.doc_exd 
    DROP CONSTRAINT exd_check; 
    GO
    ALTER TABLE dbo.doc_exd  
    ADD CONSTRAINT exd_check CHECK NOT FOR REPLICATION (column_a > 1);
    

자세한 내용은 ALTER TABLE(Transact-SQL)을 참조하십시오.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

참고 항목

개념

스키마 옵션 지정