sp_changearticle(Transact-SQL)
업데이트: 2006년 4월 14일
트랜잭션 또는 스냅숏 게시에 있는 아티클의 속성을 변경합니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.
구문
sp_changearticle [ [@publication= ] 'publication' ]
[ , [ @article= ] 'article' ]
[ , [ @property= ] 'property' ]
[ , [ @value= ] 'value' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ , [ @publisher = ] 'publisher' ]
인수
- [ @publication = ] 'publication'
아티클을 포함한 게시의 이름입니다. publication은 sysname이며 기본값은 NULL입니다.
- [ @article=] 'article'
속성을 변경할 아티클의 이름입니다. article은 sysname이며 기본값은 NULL입니다.
- [ @property=] 'property'
변경할 아티클 속성입니다. property는 **nvarchar(100)**입니다.
[ @value=] 'value'
아티클 속성의 새 값입니다. value는 **nvarchar(255)**입니다.다음 표에서는 아티클의 유효한 속성 및 해당 속성의 값을 보여 줍니다.
속성
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
이 저장 프로시저가 수행한 작업으로 인해 기존 스냅숏이 무효화될 수도 있습니다. force_invalidate_snapshot은 bit이며 기본값은 0입니다.0은 아티클에 대한 변경으로 인해 스냅숏이 무효화되지 않도록 지정합니다. 저장 프로시저가 새 스냅숏을 필요로 하는 변경을 감지하면 오류가 발생하며 변경이 수행되지 않습니다.
1은 아티클에 대한 변경으로 스냅숏이 무효화될 수 있음을 지정하며 새 스냅숏이 필요한 기존 구독이 있는 경우 기존 스냅숏을 오래되어 사용하지 않음으로 표시하고 새 스냅숏을 생성할 수 있는 권한을 부여합니다.
변경 시 새 스냅숏의 생성을 필요로 하는 속성에 대해서는 주의 섹션을 참조하십시오.
[ **@force_reinit_subscription=]**force_reinit_subscription
이 저장 프로시저가 수행한 작업으로 인해 기존 구독을 다시 초기화해야 할 수도 있습니다. force_reinit_subscription은 bit이며 기본값은 0입니다.0은 아티클에 대한 변경으로 인해 구독이 다시 초기화되지 않도록 지정합니다. 저장 프로시저가 기존 구독의 다시 초기화를 필요로 하는 변경을 감지하면 오류가 발생하며 변경이 수행되지 않습니다.
1은 아티클에 대한 변경이 있으면 기존 구독을 다시 초기화하도록 지정하며 구독을 다시 초기화할 수 있는 권한을 부여합니다.
변경 시 기존의 모든 구독을 다시 초기화해야 하는 속성에 대해서는 주의 섹션을 참조하십시오.
[ @publisher = ] 'publisher'
비-SQL Server(Non-SQL Server) 게시자를 지정합니다. publisher는 sysname이며 기본값은 NULL입니다.[!참고] SQL Server 게시자에 대한 아티클 속성을 변경할 때는 publisher를 사용하면 안 됩니다.
반환 코드 값
0(성공) 또는 1(실패)
주의
sp_changearticle은 스냅숏 복제 및 트랜잭션 복제에 사용됩니다.
아티클이 피어 투 피어 복제를 지원하는 게시에 속하는 경우에는 description, ins_cmd, upd_cmd 및 del_cmd 속성만 변경할 수 있습니다.
다음 속성을 변경하려면 새 스냅숏을 생성해야 하며 force_invalidate_snapshot 매개 변수 값으로 1을 지정해야 합니다.
- del_cmd
- dest_table
- destination_owner
- ins_cmd
- pre_creation_cmd
- schema_options
- upd_cmd
다음 속성을 변경하려면 기존 구독을 다시 초기화해야 하며 force_reinit_subscription 매개 변수 값으로 1을 지정해야 합니다.
- del_cmd
- dest_table
- destination_owner
- filter
- ins_cmd
- status
- upd_cmd
전체 게시를 삭제하고 다시 만들 필요 없이 기존 게시 내에서 sp_changearticle을 사용하여 아티클을 변경할 수 있습니다.
[!참고] schema_option 값을 변경할 때 비트 단위 업데이트를 시스템에서 수행하지는 않습니다. 이는 sp_changearticle을 사용하여 schema_option을 설정할 때 기존의 비트 설정이 해제될 수 있음을 의미합니다. 기존 설정을 유지하려면 설정하려는 값과 sp_helparticle을 실행하여 얻는 schema_option의 현재 값 간에 &(비트 AND)를 수행해야 합니다.
유효한 스키마 옵션
다음 표에서는 복제 유형(오른쪽 두 행에 표시됨)과 아티클 유형(첫 번째 열에 표시됨)에 기반하여 schema_option의 사용 가능한 값을 설명합니다.
아티클 유형 | 복제 유형 | |
---|---|---|
|
트랜잭션 |
스냅숏 |
logbased |
모든 옵션 |
0x02를 제외한 모든 옵션 |
logbased manualfilter |
모든 옵션 |
0x02를 제외한 모든 옵션 |
logbased manualview |
모든 옵션 |
0x02를 제외한 모든 옵션 |
indexed view logbased |
모든 옵션 |
0x02를 제외한 모든 옵션 |
indexed view logbased manualfilter |
모든 옵션 |
0x02를 제외한 모든 옵션 |
indexed view logbased manualview |
모든 옵션 |
0x02를 제외한 모든 옵션 |
indexed view logbase manualboth |
모든 옵션 |
0x02를 제외한 모든 옵션 |
proc exec |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 및 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 및 0x80000000 |
serialized proc exec |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 및 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 및 0x80000000 |
proc schema only |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 및 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 및 0x80000000 |
view schema only |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 및 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 및 0x80000000 |
func schema only |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 및 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 및 0x80000000 |
indexed view schema only |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 및 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 및 0x80000000 |
[!참고] 지연 업데이트 게시의 경우 반드시 0x80의 schema_option 값을 사용해야 합니다. 비-SQL Server(Non-SQL Server) 게시에 대해 지원되는 schema_option 값은 0x01, 0x02, 0x10, 0x40, 0x80, 0x1000 및 0x4000입니다.
사용 권한
sysadmin 고정 서버 역할의 멤버 또는 db_owner 고정 데이터베이스 역할의 멤버만이 sp_changearticle을 실행할 수 있습니다.
예
DECLARE @publication AS sysname;
DECLARE @article AS sysname;
DECLARE @option AS int;
SET @publication = N'AdvWorksProductTran';
SET @article = N'Product';
SET @option = (SELECT CAST(0x0000000002030073 AS int));
-- Change the schema options to replicate schema with XML.
USE [AdventureWorks]
EXEC sp_changearticle
@publication = @publication,
@article = @article,
@property = N'schema_option',
@value = @option,
@force_invalidate_snapshot = 1;
GO
참고 항목
참조
sp_addarticle(Transact-SQL)
sp_articlecolumn(Transact-SQL)
sp_droparticle(Transact-SQL)
sp_helparticle(Transact-SQL)
sp_helparticlecolumns(Transact-SQL)
관련 자료
How to: View and Modify Article Properties (Replication Transact-SQL Programming)
게시 및 아티클 속성 변경
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2006년 4월 14일 |
|
2005년 12월 5일 |
|