---
title: Copy job: 파이프라인 안 만들고 증분 복사만 하고 싶을 때
description: 원본에서 대상으로 전체·증분·CDC 복사만 하면 되는데 파이프라인까지 만들 필요는 없어요. Copy job이 뭐고 언제 이것만으로 충분한지 정리했어요.
date: 2026-10-01
  tags: [Copy job, 증분 복사, Data Factory, Fabric]
cards:
  - /cards/fabric-copy-job/card-01.png
  - /cards/fabric-copy-job/card-02.png
  - /cards/fabric-copy-job/card-03.png
  - /cards/fabric-copy-job/card-04.png
  - /cards/fabric-copy-job/card-05.png
  - /cards/fabric-copy-job/card-06.png
  - /cards/fabric-copy-job/card-07.png
author: Lissa
source: https://interlinear.work/notes/fabric-copy-job/
---

> **원문:** [What is Copy job in Data Factory](https://learn.microsoft.com/en-us/fabric/data-factory/what-is-copy-job)
> **게시일:** 2026-04-24

Fabric에서 "그냥 A 테이블을 B로 옮기고 싶을 뿐"인 작업을 할 때가 있어요. 변환 로직도 필요 없고, 여러 활동을 엮을 것도 없고, 그냥 정기적으로 복사만 되면 되는 상황이요. 이런 작업을 위해 매번 Pipeline을 만들고 Copy activity를 얹고 트리거를 붙이는 건 배보다 배꼽이 커요. 이럴 때 쓰라고 있는 항목이 **Copy job**이에요.

## Copy job이 뭔가

Copy job은 Fabric Data Factory에서 **파이프라인 없이** 여러 원본에서 여러 대상으로 데이터를 옮기는 전용 항목이에요. 전체 복사(bulk copy), 증분 복사(incremental copy), CDC(변경 데이터 캡처) 복제를 하나의 안내형 화면 안에서 다 지원해요. 파이프라인의 유연함 대신 "설정 몇 번으로 끝나는" 단순함을 택한 도구라고 보면 돼요.

## 복사 모드 — 전체 복사와 증분 복사

Copy job은 데이터를 어떻게 옮길지 두 가지 모드로 고를 수 있어요.

- **전체 복사(Full copy)**: 실행할 때마다 원본의 모든 데이터를 대상으로 다시 옮겨요.
- **증분 복사(Incremental copy)**: 첫 실행은 전체를 복사하고, 이후 실행부터는 마지막 실행 이후 바뀐 데이터만 옮겨요.

증분 복사에서는 Copy job이 마지막으로 성공한 실행 상태를 알아서 추적·관리해요. 그래서 다음에 뭘 복사해야 하는지 사람이 신경 쓸 필요가 없어요. 지원하는 증분 방식은 두 가지예요.

- **워터마크 기반**: ROWVERSION, datetime, date, 정수, 문자열(날짜로 해석 가능한 경우) 같은 증분 컬럼을 기준으로 새 데이터만 골라내요.
- **CDC 기반**: 원본에서 CDC가 켜져 있을 때, 삽입·수정뿐 아니라 삭제까지 함께 반영할 수 있어요.

CDC를 쓸 수 있고 삭제까지 반영해야 하거나 SCD Type 2<sup>1</sup> 이력을 남겨야 한다면 CDC 기반을, CDC가 없고 신뢰할 수 있는 증분 컬럼만 있다면 워터마크 기반을 쓰면 돼요. 실행이 중간에 실패해도 걱정할 필요는 없어요. Copy job은 마지막으로 성공한 지점부터 다시 시작하고, 실패 자체가 추적 상태를 바꾸지 않아요. 필요하면 전체 작업 단위로든 테이블 단위로든 증분 복사를 전체 복사로 리셋할 수도 있어요.

## Copy activity와 뭐가 다른가

Pipeline 안의 Copy activity는 파이프라인이라는 오케스트레이션<sup>2</sup> 틀 안에서 여러 활동 중 하나로 존재해요. 반면 Copy job은 그 오케스트레이션 없이 그 자체로 완결된 항목이에요. 데이터를 어떻게 쓸지도 더 세밀하게 고를 수 있어서, 기본값인 append(누적 추가) 외에 merge(키 컬럼 기준 갱신), overwrite(기존 데이터 교체), SCD Type 2 중에서 고를 수 있어요. merge나 SCD Type 2를 고르면 기본적으로 기본 키를 기준으로 동작해요.

물론 Copy job을 Pipeline 안에서 하나의 활동(copy job activity)으로 넣어서 쓸 수도 있어요. 이 경우엔 파이프라인의 오케스트레이션·트리거 기능(예: 새 파일 도착 시 실행되는 이벤트 트리거)까지 함께 활용할 수 있어요. 즉 "Copy job이냐 Pipeline이냐"가 아니라, 단순 복사만 필요하면 Copy job 하나로 끝내고, 복잡한 흐름의 일부로 필요하면 Pipeline 안에 얹는 식으로 조합할 수 있어요.

## 언제 이것만으로 충분한가

- 변환 없이 원본을 그대로(또는 컬럼 매핑 정도만 해서) 대상에 옮기면 되는 경우.
- 대상에 테이블이 없어도 자동으로 만들어주길 원하는 경우 — Copy job은 Azure SQL DB, Fabric Lakehouse 테이블, Fabric Warehouse 등 여러 대상에서 테이블을 자동으로 만들고, 전체 로드 전에 기존 데이터를 truncate할지도 선택할 수 있어요.
- 온프레미스 게이트웨이나 가상 네트워크 게이트웨이 뒤에 있는 원본과 연결해야 하는 경우.
- 한 번만 실행하거나, 매일 아침과 매주 일요일처럼 **여러 스케줄**을 하나의 작업에 묶어 관리하고 싶은 경우.

반대로 원본 데이터를 조인하거나 복잡한 변환을 거쳐야 한다면 Copy job의 범위를 벗어나요. 그런 경우는 Dataflow Gen2나 Pipeline의 다른 활동을 함께 써야 해요.

## 정리

Copy job은 "복사만 하면 되는" 시나리오를 위한 전용 항목이에요. 전체·증분·CDC 복사를 안내형 화면에서 설정하고, 실행 상태 추적과 실패 복구를 알아서 관리해줘요. 매번 파이프라인을 새로 짜는 대신, 단순한 데이터 이동에는 Copy job을 먼저 검토해 보는 게 맞아요.

---

## 어휘 주석

1. **SCD Type 2(Slowly Changing Dimension Type 2):** 값이 바뀔 때 기존 행을 지우지 않고 새 버전 행을 추가해서, 유효 기간과 함께 변경 이력을 통째로 남기는 방식.
2. **오케스트레이션(orchestration):** 여러 작업(활동)의 실행 순서, 조건, 트리거를 조율해서 하나의 흐름으로 묶어 관리하는 것.