피어 투 피어 토폴로지 관리(복제 Transact-SQL 프로그래밍)Administer a Peer-to-Peer Topology (Replication Transact-SQL Programming)

피어 투 피어 토폴로지를 관리하는 것은 일반적인 트랜잭션 복제 토폴로지를 관리하는 것과 비슷하지만 특별히 고려해야 하는 영역도 많이 있습니다.Administering a peer-to-peer topology is similar to administering a typical transactional replication topology, but there are a number of areas with special considerations. 피어 투 피어 토폴로지 관리에서 주요한 차이점은 몇 가지 변경 작업의 경우 시스템을 정지해야 한다는 점입니다.The principal difference in administering a peer-to-peer topology is that some changes require the system to be quiesced. 시스템 정지 과정에서는 모든 노드에서 게시된 테이블에 대한 작업을 중지하고 각 노드가 다른 모든 노드의 변경 내용을 받았는지 확인합니다.Quiescing a system involves stopping activity on published tables at all nodes and ensuring that each node has received all changes from all other nodes. 자세한 내용은 복제 토폴로지 정지(복제 Transact-SQL 프로그래밍)를 참조하세요.For more information, see Quiesce a Replication Topology (Replication Transact-SQL Programming).

참고

피어 투 피어 토폴로지에서는 배포자가 끌어오기 구독자보다 이전 버전의 SQL ServerSQL Server를 사용할 수 없습니다.In a peer-to-peer topology, the distributor cannot be using an earlier version of SQL ServerSQL Server than a pull subscriber.

기존 구성에 아티클을 추가하려면To add an article to an existing configuration

  1. 시스템을 정지합니다.Quiesce the system.

  2. 토폴로지의 각 노드에서 배포 에이전트를 중지합니다.Stop the Distribution Agent at each node in the topology. 자세한 내용은 복제 에이전트 실행 파일 개념 또는 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하세요.For more information, see Replication Agent Executables Concepts or Start and Stop a Replication Agent (SQL Server Management Studio).

  3. CREATE TABLE 문을 실행하여 토폴로지의 각 노드에 새 테이블을 추가합니다.Execute the CREATE TABLE statement to add the new table at each node in the topology.

  4. bcp 유틸리티를 사용하여 새 테이블의 데이터를 모든 노드에 수동으로 대량 복사합니다.Bulk copy the data for the new table manually at all nodes by using the bcp utility.

  5. sp_addarticle을 실행하여 토폴로지의 각 노드에 새 아티클을 만듭니다.Execute sp_addarticle to create the new article at each node in the topology. 자세한 내용은 Define an Article을 참조하세요.For more information, see Define an Article.

    참고

    sp_addarticle이 실행된 후에는 복제를 통해 토폴로지의 구독에 아티클이 자동으로 추가됩니다.After sp_addarticle is executed, replication automatically adds the article to the subscriptions in the topology.

  6. 토폴로지의 각 노드에서 배포 에이전트를 다시 시작합니다.Restart the Distribution Agents at each node in the topology.

게시 데이터베이스의 스키마를 변경하려면To make schema changes to a publication database

  1. 시스템을 정지합니다.Quiesce the system.

  2. DDL(데이터 정의 언어) 문을 실행하여 게시된 테이블의 스키마를 수정합니다.Execute the data definition language (DDL) statements to modify the schema of published tables. 지원되는 스키마 변경에 대한 자세한 내용은 게시 데이터베이스의 스키마 변경을 참조하세요.For more information about supported schema changes, see Make Schema Changes on Publication Databases.

  3. 게시된 테이블에 대한 작업을 다시 시작하기 전에 시스템을 다시 정지합니다.Before you resume activity on published tables, quiesce the system again. 이렇게 하면 새 데이터 변경 내용을 복제하기 전에 모든 노드에서 스키마 변경 내용을 받도록 할 수 있습니다.This ensures that schema changes have been received by all nodes before any new data changes are replicated.

예제Example

다음 예제에서는 두 개의 노드가 있는 기존 피어 투 피어 복제 토폴로지에 새 테이블 아티클을 추가하는 방법을 보여 줍니다.The following example demonstrates how to add a new table article to an existing peer-to-peer replication topology that has two nodes.

-- Create the new table at both nodes.
CREATE TABLE AdventureWorks2012.dbo.ProductTest (column1 int, Column2 int);
CREATE TABLE AdventureWorks2012Replica.dbo.ProductTest (column1 int, Column2 int);
GO
REM Bulk insert data into both the publication and subscription databases.
REM The BCP format depends on the snapshot format (native or character).
REM Execute at the command prompt.

bcp AdventureWorks2012..ProductTest in NewTable.bcp -T -SMYPUBLISHER n/c
bcp AdventureWorks2012Replica..ProductTest in NewTable.bcp -T -SMYPUBLISHER n/c
--- Add the article to the publication.
DECLARE @publication AS sysname;
DECLARE @newtable AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @newtable = N'ProductTest';

USE AdventureWorks2012

EXEC sp_addarticle 
  @publication = @publication,
  @article = @newtable,
  @source_table = @newtable,
  @destination_table = @newtable,
  @force_invalidate_snapshot = 0;
GO

참고 항목See Also

관리(복제) Administration (Replication)
SQL Server 데이터베이스 백업 및 복원 Back Up and Restore of SQL Server Databases
피어 투 피어 트랜잭션 복제 Peer-to-Peer Transactional Replication