적용 대상: Microsoft Fabric의✅ Warehouse
Migration Assistant는 지원되는 Teradata 메타데이터를 Fabric 호환 T-SQL로 변환합니다. 이 참고 자료를 활용해 자동 조정을 검토하고, Teradata와 Fabric Data Warehouse가 데이터 타입, 데이터베이스 객체, 절차적 명령어, 물리적 설계, 운영 유틸리티 면에서 차이가 있으므로 주의가 필요한 객체를 수정하세요.
종단 간 수명 주기에 대해서는 Teradata로부터의 마이그레이션 계획(Plan a migration)을 참조하세요. 도구 및 데이터 이동 옵션에 대해서는 Teradata의 마이그레이션 방법을 참조하세요.
Important
번역 결과물은 기술적이고 기능적인 검증을 요구합니다. 배포 전에 현재 Fabric Data Warehouse 데이터 타입, T-SQL 표면적, 제한 사항을 확인하세요.
이 참고문헌을 Migration Assistant와 함께 사용하세요
- 완전한 Teradata DDL 및 의존성을 압축 아카이브
.sql및/또는.bteq파일로 업로드하세요. - 메타데이터 마이그레이션을 실행하고 자동 조정을 위해 마이그레이션된 객체 표시 를 검토하세요.
- 번역하거나 배포할 수 없는 스크립트를 수정할 수 있는 오브젝 트를 엽니다.
- 이 글의 매핑을 사용해 근거가 없거나 모호한 개념을 바로잡으세요.
- Migration Assistant에서 수정된 스크립트를 실행하여 객체를 생성하세요.
- Teradata 동작과 결과를 비교하고 Fabric의 리터럴 번역을 최적화하세요.
객체 매핑
| 테라데이터 객체 / 구성 | Fabric DW에 해당하는 제품 | Notes |
|---|---|---|
| Database | Schema | Teradata 데이터베이스 네임스페이스는 Fabric DW 스키마에 매핑되며; 크기 및 부모 옵션은 제거됩니다. |
| 외부 기능 | 지원되지 않음 | 외부 언어 루틴은 수동으로 다시 작성해야 합니다. |
| 외국 표 | OneLake 지름길 또는 COPY INTO |
외국 테이블은 직접 지원되지 않습니다. |
| Function | Function | SQL 스칼라 및 테이블 값 함수는 Fabric DW 함수에 매핑됩니다; 지원되지 않는 루틴 속성은 제거됩니다. |
| 전역 임시 테이블 | 로컬 임시 테이블 (#name) |
전역 정의 지속성은 유지되지 않습니다. |
| 정체성 열(identity column) | BIGINT IDENTITY NOT NULL |
시드, 증가, 경계, 사이클 옵션은 보존되지 않습니다. |
| Index | 직접 동등한 항목 없음 | 1차, 2차, 고유, 해시 인덱스는 발행되지 않으며; Fabric은 분포와 클러스터링을 관리합니다. |
| 무결성 제약 - 체크 | 직접 동등한 항목 없음 |
CHECK 제약 조건은 상류 또는 적재 과정에서 강제되어야 합니다. |
| 무결성 제약 - 외래키 | FOREIGN KEY ... NOT ENFORCED |
참조 행동은 제거되고, 제약은 강제되지 않습니다. |
| 무결성 제약 - 기본 키 / 고유 | NONCLUSTERED ... NOT ENFORCED |
제약 조건은 메타데이터로 유지되며, 키 열은 강제 NOT NULL로 처리됩니다. |
| 조인 인덱스 | 물질화된 뷰 또는 사전 집계된 테이블 | 조인 인덱스는 지원되는 영속 구조로서 재설계가 필요합니다. |
| Macro | 저장 프로시저 | 테라데이터 매크로는 저장 프로시저로 마이그레이션됩니다. |
| 멀티셋 테이블 | 테이블 | 중복 행 동작은 이미 기본 Fabric DW 테이블 동작과 일치합니다. |
| 절차 | 저장 프로시저 | Teradata 프로시저는 Fabric DW 저장 프로시저에 매핑되며; 지원되지 않는 절차적 속성은 검토가 필요합니다. |
| 재귀적 관점 | 지원되지 않음 | 재귀적 공통 테이블 표현식은 Fabric DW에서 지원되지 않습니다. |
| 역할 | 역할 | 역할 구성원 ALTER ROLE ADD MEMBER 은 또는 DROP MEMBERADMIN OPTION ; 유지 불가능합니다. |
| 세트 테이블 | 테이블 |
SET 중복 행 강제는 보존되지 않으며; 필요 시 메타데이터나 상류 강제를 추가하세요. |
| Statistics | CREATE STATISTICS / UPDATE STATISTICS |
다열 컬렉션은 단일 열 통계로 나뉩니다; 지원되지 않는 대상은 검토가 필요합니다. |
| 스토리지 스키마 | 지원되지 않음 | Teradata 스토리지 스키마는 Fabric DW 네임스페이스 객체에 매핑되지 않습니다. |
| 테이블 | 테이블 | 영구 Teradata 테이블은 Fabric DW 테이블에 매핑되며; 지원되지 않는 물리적 저장 옵션은 제거됩니다. |
| Trigger | 지원되지 않음 | 트리거 로직을 저장 프로시저나 로딩 파이프라인으로 이동시킵니다. |
| View | View | 표준 뷰는 직관적으로 매핑됩니다; 연산을 대체하여 가 됩니다 CREATE OR ALTER. |
| 변동성 표 | 로컬 임시 테이블 (#name) |
세션 범위가 부여된 휘발성 테이블은 로컬 임시 테이블에 매핑됩니다; 스키마 수정자는 제거됩니다. |
데이터 유형 매핑
| 테라데이터 데이터 타입 계열 | Fabric DW에 해당하는 제품 | Notes |
|---|---|---|
| 근사 수치 | FLOAT |
FLOAT, REAL, 로 DOUBLE PRECISION 통합하여 FLOAT. |
| Binary | VARBINARY(n) / VARBINARY(MAX) |
BYTE 그리고 VARBYTE 가족은 가변 길이 이진 유형으로 매핑됩니다; 8000 이상의 크기는 를 사용합니다 MAX. |
| Boolean | 지원되지 않음 | Teradata BOOLEAN 에는 지원되는 Fabric DW에 대응하는 서비스가 없습니다. |
BYTEINT |
SMALLINT |
테라데이터가 BYTEINT 로 확장됩니다 SMALLINT. |
| 캐릭터 | CHAR(n) / VARCHAR(n) / VARCHAR(MAX) |
유니코드는 창고 UTF-8 콜레이션을 사용합니다; 유니코드 VARCHAR 길이는 확장되고 최대 MAX가 됩니다. |
| 컬렉션 / 배열 | 매핑된 기본 데이터 타입 또는 JSON 배열 |
ARRAY
VARRAY 래퍼는 제거되며; 배열 생성자는 필요에 따라 직렬화됩니다. |
| 날짜 및 시간 | DATE / TIME(6) / DATETIME2(6) |
분수 정밀도는 6으로 제한되며, 시간대 오프셋은 유지되지 않습니다. |
| 정확한 수치 | DECIMAL(p,s) / NUMERIC |
DECIMAL
NUMERIC 제공된 곳에서는 정밀도와 스케일이 유지됩니다; 누락된 스케일은 기본값이 0입니다. |
| 정수 | SMALLINT / INT / BIGINT |
정수 가족은 직접 매핑하지 않습니다 BYTEINT . |
| 큰 개체 | VARCHAR(MAX) / VARBINARY(MAX) |
CLOB는 VARCHAR(MAX)에 대응되고, BLOB는 VARBINARY(MAX)에 대응됩니다. |
MAP |
지원되지 않음 | Teradata MAP 에는 지원되는 Fabric DW에 대응하는 서비스가 없습니다. |
MULTISET |
테이블 | Teradata MULTISET 는 테이블로 변환됩니다. |
| JSON 및 XML | VARCHAR(MAX) |
JSON 및 XML 문서는 텍스트로 저장되며; JSON은 와 OPENJSON로 JSON_VALUE 쿼리할 수 있습니다. |
| 시간 간격 |
VARCHAR(50) 플러스 DATEADD 로직 |
Fabric DW는 스칼라 간격 타입이 없습니다; 저장 및 산술은 재설계가 필요합니다. |
| 시간기 |
VARCHAR(100) 또는 명시적인 시작/종료 열을 구분하는 것 |
주기 값이나 경계는 명시적으로 모델링되어야 하며; 주기 관계 메타데이터는 폐기됩니다. |
| 공간적 | 지원되지 않음 | 잘 알려진 텍스트나 바이너리 저장, Fabric DW 외부의 공간 데이터를 처리할 수 있습니다. |
SET |
테이블 | Teradata SET 는 테이블로 변환됩니다. |
| 사용자 정의 형식 | 기본 기본 유형 | Fabric DW에는 사용자 정의 타입 객체가 없으며, 기본 타입을 수동으로 대체하고 검증합니다. |
BTEQ 명령 매핑
BTEQ는 SQL, 흐름 제어, 세션 관리, 가져오기 및 내보내기 동작을 결합합니다. 명령어에 따라 저장 프로시저, 파이프라인, 로드 작업, 또는 명시적인 지원되지 않는 결과로 변환할 수 있습니다.
Migration Assistant는 BTEQ 스크립트를 저장 프로시저로 변환하고 지원되는 스크립트 요소를 보존합니다. 생성된 저장 프로시저를 검토하고 적절한 워크플로우에 통합하세요.
| BTEQ 구성 계열 | Fabric 동등품 | Notes |
|---|---|---|
| 제어 흐름과 분기 | 저장 프로시저 IF / / GOTOWHILE 또는 파이프라인 조건 |
라벨, 조건, 반복 지시를 T-SQL 제어 흐름이나 파이프라인 오케스트레이션으로 옮깁니다. |
| 데이터 수집 및 내보내기 |
COPY INTO그리고 Fabric 파이프라인 복사 활동 |
가져오기는 다음과 같은 방식으로 변환 COPY INTO될 수 있으며; 내보내기와 외부 파일 처리를 파이프라인이나 CETAS로 이동할 수 있습니다. |
| 오류 처리 및 종료 | 프로시저 반환 코드 및 파이프라인 장애 경로 | 캡처 ERRORCODE 및 ACTIVITYCOUNT; 최대 오류 정책에 대한 ERRORLEVEL 조정기 논리를 추가합니다. |
| 런타임 메타데이터 및 변수 | 프로시저 매개변수 / @@ERROR / @@ROWCOUNT / 파이프라인 변수 |
환경 변수와 BTEQ 상태 값을 매개변수, 변수, 캡처된 실행 상태에 매핑합니다. |
| 스크립트 래퍼와 SQL 실행 | 번역된 T-SQL을 가진 저장 프로시저 래퍼 | BTEQ 스크립트는 프로시저가 될 수 있으며; 스키마 수준 객체를 추출하고, 실패한 문장을 검토용으로 보관할 수 있습니다. |
| 타이밍 및 프로세스 실행 |
WAITFOR, 일정, 대기 활동, 노트북, 파이프라인 활동 |
창고 밖으로 운 HANGWAITFOR용 시스템 명령을 이동시켜. |
지원되지 않는 BTEQ 진술문
Migration Assistant는 번역된 코드에서 다음과 같은 BTEQ 문장을 제거합니다:
| BTEQ 명언 | 번역 결과 |
|---|---|
.DEFAULTS |
코드에서 삭제됨 |
.ERROROUT, .ERRORLEVEL, 그리고 독립형 .MAXERROR |
코드에서 삭제됨 |
.EXPORT DATA, .EXPORT REPORT, .EXPORT DIF 및 .EXPORT INDICDATA FILE = path |
코드에서 삭제됨 |
.EXPORT RESET |
코드에서 삭제됨 |
.FORMAT, .WIDTH, .FOLDLINE, .TITLEDASHES 및 .SIDETITLES |
코드에서 삭제됨 |
.LOGOFF |
코드에서 삭제됨 |
.LOGON tdpid/user,pwd |
코드에서 삭제됨 |
.OS command, .TSO command 및 .CMS command |
코드에서 삭제됨 |
.PAGELENGTH, .PAGEBREAK, .HEADING 및 .FOOTING |
코드에서 삭제됨 |
.ECHOREQ |
코드에서 삭제됨 |
.RECORDMODE, .INDICDATA 및 .LARGEDATAMODE |
코드에서 삭제됨 |
.RETLIMIT n,m 그리고 독립적인 작품 .RETCANCEL |
코드에서 삭제됨 |
.RUN FILE = script.bteq |
코드에서 삭제됨 |
.SEPARATOR 그리고 독립적인 작품 .NULL AS |
코드에서 삭제됨 |
.SESSION CHARSET, .SESSION SQLFLAG, .SESSION TRANSACTION 및 .SESSION DATEFORM |
코드에서 삭제됨 |
.SHOW CONTROLS 및 .SHOW VERSIONS |
코드에서 삭제됨 |
번역된 코드 검증
가능한 경우 자동화된 테스트를 사용하고, 작업 책임자와 함께 기능 검토를 완료하세요.
- 객체 수와 해결되지 않은 의존성을 비교하세요.
- 대표 입력과 경계 입력에 대해 행 단위 결과를 비교하세요.
- 십진법 정밀도, 타임스탬프, 널 의미론, 문자열 패딩, 정렬, 비ASCII 텍스트를 검증합니다.
- 오류 경로, 트랜잭션 동작, 재시도, 부분 실패를 테스트하세요.
- 대상 대상에 대해 하위 리포트와 의미 모델을 실행하세요.
- 대표적인 데이터 볼륨과 동시성을 테스트하세요.
- 불필요한 중첩, 행별 처리, 소스별 물리적 튜닝을 위해 생성된 SQL을 검토하세요.
- 원본 SQL, 번역된 SQL, 심사자 결정, 테스트 증거를 함께 유지하세요.