1단원: 병합 복제를 사용하여 데이터 게시Lesson 1: Publishing Data Using Merge Replication

이 단원에서는 SQL Server Management StudioSQL Server Management Studio 를 사용하여 병합 게시를 만들어 샘플 데이터베이스에Employee ,SalesOrderHeader SalesOrderDetail AdventureWorks2012AdventureWorks2012 테이블의 하위 집합을 게시합니다.In this lesson, you will create a merge publication using SQL Server Management StudioSQL Server Management Studio to publish a subset of the Employee, SalesOrderHeader, and SalesOrderDetail tables in the AdventureWorks2012AdventureWorks2012 sample database. 이러한 테이블은 각 구독에 고유한 데이터 파티션이 포함되도록 매개 변수가 있는 행 필터로 필터링됩니다.These tables are filtered with parameterized row filters so that each subscription contains a unique partition of the data. 또한 병합 에이전트에 사용된 SQL ServerSQL Server 로그인을 PAL(게시 액세스 목록)에 추가합니다.You will also add the SQL ServerSQL Server login used by the Merge Agent to the publication access list (PAL). 이 자습서를 사용하려면 이전 자습서인 복제용 서버 준비를 완료해야 합니다.This tutorial requires that you have completed the previous tutorial, Preparing the Server for Replication.

게시를 만들고 아티클을 정의하려면To create a publication and define articles

  1. SQL Server Management StudioSQL Server Management Studio에서 게시자에 연결한 다음 해당 서버 노드를 확장합니다.Connect to the Publisher in SQL Server Management StudioSQL Server Management Studio, and then expand the server node.

  2. 복제 폴더를 확장하고 로컬 게시를 마우스 오른쪽 단추로 클릭한 다음 새 게시를 클릭합니다.Expand the Replication folder, right-click Local Publications, and click New Publication.

    게시 구성 마법사가 시작됩니다.The Publication Configuration Wizard launches.

  3. 게시 데이터베이스 페이지에서 AdventureWorks2012AdventureWorks2012를 선택하고 다음을 클릭합니다.On the Publication Database page, select AdventureWorks2012AdventureWorks2012, and then click Next.

  4. 게시 유형 페이지에서 병합 게시를 선택하고 다음을 클릭합니다.On the Publication Type page, select Merge publication, and then click Next.

  5. 구독자 유형 페이지에서 SQL Server 2008SQL Server 2008 이상 버전만 선택되어 있는지 확인한 후 다음을 클릭합니다.On the Subscriber Types page, ensure that only SQL Server 2008SQL Server 2008 or later is selected, and then click Next.

  6. 아티클 페이지에서 테이블 노드를 확장하고 SalesOrderHeaderSalesOrderDetail을 선택한 다음 Employee를 확장하고 EmployeeID 또는 LoginID를 선택한 후 다음을 클릭합니다.On the Articles page, expand the Tables node, select SalesOrderHeader and SalesOrderDetail, then expand Employee, select EmployeeID or LoginID, and then click Next.

    필요한 추가 열은 자동으로 선택됩니다.Additional required columns are automatically selected. 자동으로 선택된 열 중 하나를 선택하고 게시할 개체 목록 아래의 정보에서 열이 필요한 이유에 대한 설명을 봅니다.Select any of the automatically selected columns and view the note below the Objects to publish list for an explanation why the column is required.

  7. 테이블 행 필터 페이지에서 추가 를 클릭한 다음 필터 추가를 클릭합니다.On the Filter Table Rows page, click Add and then click Add Filter.

  8. 필터 추가 대화 상자의 필터링할 테이블을 선택하십시오. 에서 Employee(HumanResources)를 선택하고 LoginID 열을 클릭한 다음 오른쪽 화살표를 클릭하여 해당 열을 필터 쿼리의 WHERE 절에 추가하고 WHERE 절을 다음과 같이 수정합니다.In the Add Filter dialog box, select Employee (HumanResources) in Select the table to filter, click the LoginID column, click the right arrow to add the column to the WHERE clause of the filter query, and modify the WHERE clause as follows:

    WHERE [LoginID] = HOST_NAME()  
    
  9. 이 테이블의 행을 단일 구독으로 이동을 클릭하고 확인을 클릭합니다.Click A row from this table will go to only one subscription, and click OK.

  10. 테이블 행 필터 페이지에서 Employee(Human Resources)를 클릭하고 추가 를 클릭한 다음 선택한 필터 확장을 위해 조인 추가를 클릭합니다.On the Filter Table Rows page, click Employee (Human Resources), click Add, and then click Add Join to Extend the Selected Filter.

  11. 조인 추가 대화 상자의 조인된 테이블 에서 Sales.SalesOrderHeader를 선택하고 조인 문 직접 작성을 클릭한 후 다음과 같이 조인 문을 완성합니다.In the Add Join dialog box, select Sales.SalesOrderHeader under Joined table, click Write the join statement manually, and complete the join statement as follows:

    ON Employee.EmployeeID = SalesOrderHeader.SalesPersonID  
    
  12. 조인 옵션을 지정하십시오.에서 고유 키를 선택한 다음 확인을 클릭합니다.In Specify join options, select Unique key, and then click OK.

  13. 테이블 행 필터 페이지에서 SalesOrderHeader를 클릭하고 추가를 클릭한 다음 선택한 필터 확장을 위해 조인 추가를 클릭합니다.On the Filter Table Rows page, click SalesOrderHeader, click Add, and then click Add Join to Extend the Selected Filter.

  14. 조인 추가 대화 상자의 조인된 테이블 에서 Sales.SalesOrderDetail을 선택합니다.In the Add Join dialog box, select Sales.SalesOrderDetail under Joined table.

  15. 조인 문 직접 작성을 클릭합니다.Click Write the join statement manually.

  16. 필터링된 테이블 열에서 BusinessEntityID를 선택한 다음 화살표 단추를 클릭하여 열 이름을 조인 문에 추가합니다.In Filtered table columns, select BusinessEntityID, then click the arrow button to copy the column name to the loin statement.

  17. 조인 문 상자에서 다음과 같이 조인 문을 작성합니다.In the Join statement box, complete the join statement as follows:

    ON Employee.BusinessEntityID = SalesOrderHeader.SalesPersonID  
    
  18. 조인 옵션을 지정하십시오.에서 고유 키를 선택한 다음 확인을 클릭합니다.In Specify join options, select Unique key, and then click OK.

  19. 테이블 행 필터 페이지에서 SalesOrderHeader(Sales)를 클릭하고 추가를 클릭한 다음 선택한 필터 확장을 위해 조인 추가를 클릭합니다.On the Filter Table Rows page, click SalesOrderHeader (Sales), click Add, and then click Add Join to Extend the Selected Filter.

  20. 조인 추가 대화 상자의 조인된 테이블 에서 Sales.SalesOrderDetail을 선택한 다음 확인, 다음을 차례로 클릭합니다.In the Add Join dialog box, select Sales.SalesOrderDetail under Joined table, click OK, and then click Next.

  21. 즉시 스냅숏 만들기를 선택하고 스냅숏 에이전트 실행 시간 예약을 선택 취소한 후 다음을 클릭합니다.Select Create a snapshot immediately, clear Schedule the snapshot agent to run at the following times, and click Next.

  22. 에이전트 보안 페이지에서 보안 설정을 클릭하고 프로세스 계정 상자에 <Machine_Name>\repl_snapshot을 입력한 다음 이 계정에 대한 암호를 입력하고 확인을 클릭합니다.On the Agent Security page, click Security Settings, type <Machine_Name>\repl_snapshot in the Process account box, supply the password for this account, and then click OK. 마침을 클릭합니다.Click Finish.

  23. 마법사 완료 페이지에서 게시 이름 상자에 AdvWorksSalesOrdersMerge 를 입력하고 마침을 클릭합니다.On the Complete the Wizard page, enter AdvWorksSalesOrdersMerge in the Publication name box and click Finish.

  24. 게시를 만든 후 닫기를 클릭합니다.After the publication is created, click Close.

스냅숏 생성의 상태를 보려면To view the status of snapshot generation

  1. SQL Server Management StudioSQL Server Management Studio에서 게시자에 연결하고 해당 서버 노드를 확장한 다음 복제 폴더를 확장합니다.Connect to the Publisher in SQL Server Management StudioSQL Server Management Studio, expand the server node, and then expand the Replication folder.

  2. 로컬 게시 폴더에서 AdvWorksSalesOrdersMerge를 마우스 오른쪽 단추로 클릭한 다음 스냅숏 에이전트 상태 보기를 클릭합니다.In the Local Publications folder, right-click AdvWorksSalesOrdersMerge, and then click View Snapshot Agent Status.

  3. 게시에 대한 스냅숏 에이전트 작업의 현재 상태가 표시됩니다.The current status of the Snapshot Agent job for the publication is displayed. 다음 단원을 진행하기 전에 스냅숏 작업이 성공했는지 확인합니다.Ensure that the snapshot job has succeeded before you continue to the next lesson.

PAL에 병합 에이전트 로그인을 추가하려면To add the Merge Agent login to the PAL

  1. SQL Server Management StudioSQL Server Management Studio에서 게시자에 연결하고 해당 서버 노드를 확장한 다음 복제 폴더를 확장합니다.Connect to the Publisher in SQL Server Management StudioSQL Server Management Studio, expand the server node, and then expand the Replication folder.

  2. 로컬 게시 폴더에서 AdvWorksSalesOrdersMerge를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.In the Local Publications folder, right-click AdvWorksSalesOrdersMerge, and then click Properties.

    게시 속성 대화 상자가 표시됩니다.The Publication Properties dialog box is displayed.

  3. 게시 액세스 목록 페이지를 선택하고 추가를 클릭합니다.Select the Publication Access List page, and click Add.

  4. 게시 액세스 추가 대화 상자에서 <Machine_Name>\repl_merge를 선택한 다음 확인을 클릭합니다.In the Add Publication Access dialog box, select <Machine_Name>\repl_merge and click OK. 확인을 클릭합니다.Click OK.

다음 단계Next Steps

병합 게시를 성공적으로 만들었습니다.You have successfully created the merge publication. 다음 단원에서는 이 게시를 구독합니다.Next, you will subscribe to this publication. 2단원: 병합 게시에 대한 구독 만들기를 참조하세요.See Lesson 2: Creating a Subscription to the Merge Publication.

참고 항목See Also

게시된 데이터 필터링Filter Published Data
매개 변수가 있는 행 필터Parameterized Row Filters
아티클 정의Define an Article