다음을 통해 공유


스키마 변경 내용 복제

적용 대상: SQL Server Azure SQL Managed Instance

이 항목에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 스키마 변경 내용을 복제하는 방법을 설명합니다.

게시된 문서에 다음 스키마를 변경하면 기본적으로 Microsoft SQL Server 구독자에게 전파됩니다.

  • ALTER TABLE

  • ALTER VIEW

  • ALTER PROCEDURE

  • ALTER FUNCTION

  • ALTER TRIGGER

항목 내용

시작하기 전에

제한 사항

  • ALTER TABLE ... DROP COLUMN 문은 스키마 변경 내용의 복제를 사용하지 않도록 설정하더라도 구독에 삭제되는 열이 포함된 모든 구독자에게 항상 복제됩니다.

SQL Server Management Studio 사용

게시에 대한 스키마 변경 내용을 복제하지 않으려면 게시 속성 - <게시> 대화 상자에서 스키마 변경 내용 복제를 사용하지 않도록 설정합니다. 이 대화 상자에 액세스하는 방법은 게시 속성 보기 및 수정을 참조하세요.

스키마 변경 내용 복제 해제

  1. 게시 속성- <게시> 대화 상자의 구독 옵션 페이지에서 스키마 변경 내용 복제 속성의 값을 False로 설정합니다.

  2. 확인을 선택합니다.

    특정 스키마 변경 내용만 전파하려면 스키마를 변경하기 전에 속성을 True로 설정한 다음 변경한 후 False로 설정합니다. 반대로, 지정된 변경 내용이 아닌 대부분의 스키마 변경 내용을 전파하려면 스키마가 변경되기 전에 속성을 False로 설정한 다음 변경한 후 True로 설정합니다.

Transact-SQL 사용

복제 저장 프로시저를 사용하여 이러한 스키마 변경 내용을 복제할지 여부를 지정할 수 있습니다. 사용하는 저장 프로시저는 게시 유형에 따라 달라집니다.

스키마 변경 내용을 복제하지 않는 스냅샷 또는 트랜잭션 게시 생성

  1. 게시 데이터베이스의 게시자에서 sp_addmergearticle 을 실행하고 0@replicate_ddl에 대해 다음 값 중 하나를 지정합니다. 자세한 내용은 게시물 만들기를 참조하세요.

스키마 변경 내용을 복제하지 않는 병합 게시 생성

  1. 게시 데이터베이스의 게시자에서 sp_addmergearticle(Transact-SQL) 을 실행하고 0@replicate_ddl에 대해 다음 값 중 하나를 지정합니다. 자세한 내용은 게시물 만들기를 참조하세요.

스냅샷 또는 트랜잭션 게시에 대해 스키마 변경 내용 복제를 일시적으로 해제하려면

  1. 스키마 변경 내용이 복제된 게시의 경우 sp_changepublication(Transact-SQL)를 실행하여 replicate_ddl@property0@value값을 지정합니다.

  2. 게시된 개체에서 DDL 명령을 실행합니다.

  3. (옵션) @propertyreplicate_ddl 값, @value1 값을 지정하고 sp_changemergepublication(Transact-SQL)을 실행하여 스키마 변경 내용 복제를 다시 사용하도록 설정합니다.

병합 게시에 대해 스키마 변경 내용 복제의 일시적인 해제

  1. 스키마 변경 내용이 복제된 게시의 경우 sp_changepublication(Transact-SQL)를 실행하여 replicate_ddl@property0@value값을 지정합니다.

  2. 게시된 개체에서 DDL 명령을 실행합니다.

  3. (옵션) @propertyreplicate_ddl 값, @value1 값을 지정하고 sp_changemergepublication (Transact-SQL)을 실행하여 스키마 변경 내용 복제를 다시 사용하도록 설정합니다.