다음을 통해 공유


sp_repladdcolumn(Transact-SQL)

적용 대상: SQL Server Azure SQL Managed Instance

기존에 게시된 테이블 아티클에 열을 추가합니다. 이 테이블을 게시하는 모든 게시자에 새 열을 추가하거나 테이블을 게시하는 특정 게시에 열을 추가할 수 있습니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.

Important

이 저장 프로시저는 더 이상 사용되지 않으며 이전 버전과의 호환성을 위해 지원됩니다. SQL Server 2000(8.x) 게시자 및 SQL Server 2000(8.x) 재게시 구독자와 함께만 사용해야 합니다. 이 절차는 SQL Server 2005(9.x) 이상 버전에서 도입된 데이터 형식이 있는 열에서 사용하면 안 됩니다.

Transact-SQL 구문 표기 규칙

구문

sp_repladdcolumn
    [ @source_object = ] N'source_object'
    , [ @column = ] N'column'
    , [ @typetext = ] N'typetext'
    [ , [ @publication_to_add = ] N'publication_to_add' ]
    [ , [ @from_agent = ] from_agent ]
    [ , [ @schema_change_script = ] N'schema_change_script' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]

인수

[ @source_object = ] N'source_object'

추가할 새 열이 포함된 테이블 아티클의 이름입니다. @source_object nvarchar(358)이며 기본값은 없습니다.

[ @column = ] N'column'

복제를 위해 추가할 테이블의 열 이름입니다. @column 기본값이 없는 sysname입니다.

[ @typetext = ] N'typetext'

추가되는 열의 정의입니다. @typetext nvarchar(3000)이며 기본값은 없습니다. 예를 들어 열 order_filled 추가되고 있고 단일 문자 필드가 아닌 NULL단일 문자 필드이고 기본값이 N인 경우 order_filled 열 매개 변수가 되는 반면, 열의 정의인 char(1) NOT NULL CONSTRAINT constraint_name DEFAULT 'N'은 @typetext 매개 변수 값이 됩니다.

[ @publication_to_add = ] N'publication_to_add'

새 열이 추가되는 게시의 이름입니다. @publication_to_add 기본값all인 nvarchar(4000)입니다. 이 경우 all이 테이블을 포함하는 모든 게시가 영향을 받습니다. @publication_to_add 지정한 경우 이 게시에만 새 열이 추가됩니다.

[ @from_agent = ] from_agent

복제 에이전트에서 저장 프로시저를 실행할지 여부를 지정합니다. @from_agent 기본값0int입니다. 1 이 저장 프로시저가 복제 에이전트에 의해 실행될 때 값이 사용되며, 다른 모든 경우의 0 기본값을 사용해야 합니다.

[ @schema_change_script = ] N'schema_change_script'

시스템에서 생성된 사용자 지정 저장 프로시저를 수정하는 데 사용되는 SQL Server 스크립트의 이름과 경로를 지정합니다. @schema_change_script 기본값NULL인 nvarchar(4000)입니다. 복제를 사용하면 사용자 정의 사용자 지정 저장 프로시저가 트랜잭션 복제에 사용되는 기본 프로시저 중 하나 이상을 대체할 수 있습니다. @schema_change_script 사용하여 sp_repladdcolumn복제된 테이블 아티클에 대한 스키마 변경이 수행된 후 실행되며 다음과 같이 사용할 수 있습니다.

  • 사용자 지정 저장 프로시저가 자동으로 다시 생성되는 경우 @schema_change_script 사용하여 이러한 사용자 지정 저장 프로시저를 삭제하고 새 스키마를 지원하는 사용자 정의 사용자 지정 저장 프로시저로 바꿀 수 있습니다.

  • 사용자 지정 저장 프로시저가 자동으로 다시 생성 되지 않는 경우 @schema_change_script 사용하여 이러한 저장 프로시저를 다시 생성하거나 사용자 정의 사용자 지정 저장 프로시저를 만들 수 있습니다.

[ @force_invalidate_snapshot = ] force_invalidate_snapshot

스냅샷 무효화 기능을 설정하거나 해제합니다. @force_invalidate_snapshot 비트이며 기본값은 .입니다1.

  • 1 는 아티클을 변경하면 스냅샷이 유효하지 않을 수 있으며, 이 경우 새 스냅샷이 1 발생할 수 있는 권한을 부여합니다.

  • 0 는 아티클을 변경해도 스냅샷이 잘못되지 않도록 지정합니다.

[ @force_reinit_subscription = ] force_reinit_subscription

구독을 다시 초기화하는 기능을 사용하거나 사용하지 않도록 설정합니다. @force_reinit_subscription 비트이며 기본값은 .입니다0.

  • 0 는 아티클을 변경해도 구독이 다시 초기화되지 않도록 지정합니다.

  • 1 는 아티클을 변경하면 구독이 다시 초기화될 수 있으며, 이 경우 값 1 이 구독 다시 초기화에 대한 권한을 부여하도록 지정합니다.

반환 코드 값

0(성공) 또는 1(실패).

사용 권한

sysadmin 고정 서버 역할의 멤버와 db_owner 고정 데이터베이스 역할만 실행할 sp_repladdcolumn수 있습니다.