기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS DMS에서 MySQL 호환 데이터베이스를 소스로 사용
AWS Database Migration Service를 사용하여 모든 MySQL 호환 데이터베이스(MySQL, MariaDB 또는 Amazon Aurora MySQL)에서 데이터를 마이그레이션할 수 있습니다.
AWS DMS 가 소스로 지원하는 MySQL 버전에 대한 자세한 내용은 의 소스 AWS DMS 섹션을 참조하세요.
SSL을 사용하여 MySQL 호환 엔드포인트와 복제 인스턴스 간의 연결을 암호화할 수 있습니다. MySQL 호환 엔드포인트에서 SSL 사용에 관한 자세한 내용은 에서 SSL 사용 AWS Database Migration Service 섹션을 참조하십시오.
다음 섹션에서 ‘자체 관리형’이라는 용어는 온프레미스나 Amazon EC2에 설치되어 있는 데이터베이스에 적용됩니다. ‘AWS관리형’이라는 용어는 Amazon RDS, Amazon Aurora 또는 Amazon S3에 있는 모든 데이터베이스에 적용됩니다.
MySQL 호환 데이터베이스 및 작업에 대한 자세한 내용은 다음 섹션을 AWS DMS참조하세요.
주제
AWS DMS를 사용하여 MySQL에서 MySQL로 마이그레이션.
MySQL 이외의 데이터베이스 엔진에서 MySQL MySQL 데이터베이스로 마이그레이션하는 이기종 마이그레이션의 경우는 거의 항상 사용할 수 있는 최상의 마이그레이션 도구 AWS DMS 입니다. 하지만 MySQL 데이터베이스에서 MySQL 데이터베이스로 마이그레이션하는 동종 마이그레이션의 경우, 동종 데이터 마이그레이션 프로젝트를 사용하는 것이 좋습니다. 동종 데이터 마이그레이션은 네이티브 데이터베이스 도구를 사용하여 AWS DMS와 비교할 때 향상된 데이터 마이그레이션 성능과 정확성을 제공합니다.
MySQL 호환 데이터베이스를의 소스로 사용 AWS DMS
MySQL 데이터베이스를 소스로 사용하기 전에 다음 사전 조건이 있는지 AWS DMS확인합니다. 이러한 사전 조건은 자체 관리형 또는 AWS관리형 소스에 적용됩니다.
복제 관리자 역할이 AWS DMS 있는 계정이 있어야 합니다. 역할에는 다음 권한이 있어야 합니다.
-
REPLICATION CLIENT - 이 권한은 변경 데이터 캡처(CDC) 작업에만 필요합니다. 즉, 전체 로드 전용 작업에서는 이 권한이 필요하지 않습니다.
-
REPLICATION SLAVE - 이 권한은 변경 데이터 캡처(CDC) 작업에만 필요합니다. 즉, 전체 로드 전용 작업에서는 이 권한이 필요하지 않습니다.
-
SUPER - 이 권한은 MySQL 5.6.6 이전 버전에서만 필요합니다.
AWS DMS 사용자는 복제용으로 지정된 소스 테이블에 대한 SELECT 권한도 가지고 있어야 합니다.
MySQL별 사전 마이그레이션 평가를 사용하는 경우 다음 권한을 부여합니다.
grant select on mysql.user to <dms_user>; grant select on mysql.db to <dms_user>; grant select on mysql.tables_priv to <dms_user>; grant select on mysql.role_edges to <dms_user> #only for MySQL version 8.0.11 and higher
자체 관리형 MySQL 호환 데이터베이스를의 소스로 사용 AWS DMS
AWS DMS용 원본으로 다음 자체 관리형 MySQL 호환 데이터베이스를 사용할 수 있습니다.
-
MySQL Community Edition
-
MySQL Standard Edition
-
MySQL Enterprise Edition
-
MySQL Cluster Carrier Grade Edition
-
MariaDB Community Edition
-
MariaDB Enterprise Edition
-
MariaDB Column Store
CDC를 사용하려면 이진 로깅을 활성화해야 합니다. 이진 로깅을 활성화하려면, MySQL의 my.ini
(Windows) 또는 my.cnf
(UNIX) 파일에서 다음 파라미터를 구성해야 합니다.
파라미터 |
값 |
---|---|
|
이 파라미터 값을 1 이상의 값으로 설정합니다. |
|
|
|
이 파라미터를 |
|
이 파라미터 값을 1 이상의 값으로 설정합니다. 디스크 공간의 과사용을 방지하려면 기본값 0을 사용하지 않는 것이 좋습니다. |
|
DMS 버전 3.4.7 이하에 대해 이 파라미터를 |
|
이 파라미터를 |
|
원본으로 MySQL 또는 MariaDB 읽기 전용 복제본을 사용하고 있는 경우 이 파라미터를 |
MySQL 또는 MariaDB 읽기 전용 복제본을 기존 데이터 마이그레이션 및 지속적인 변경 사항 복제 모드를 사용하여 DMS 마이그레이션 작업의 소스로 사용하는 경우 데이터 손실 가능성이 있습니다. DMS는 다음 조건에서 전체 로드 또는 CDC 중에 트랜잭션을 작성하지 않습니다.
DMS 태스크가 시작되기 전에 트랜잭션이 기본 인스턴스에 커밋되었습니다.
기본 인스턴스와 복제본 간의 지연으로 인해 DMS 태스크가 시작된 후까지 트랜잭션이 복제본에 커밋되지 않았습니다.
기본 인스턴스와 복제본 간의 지연 시간이 길수록 데이터 손실 가능성이 커집니다.
원본에서 NDB(클러스터 방식) 데이터베이스 엔진을 사용하는 경우, 해당 스토리지 엔진을 사용하는 테이블에 대해 CDC를 활성화하도록 다음 파라미터를 구성해야 합니다. 이러한 변경 사항을 MySQL의 my.ini
(Windows) 또는 my.cnf
(UNIX) 파일에 추가합니다.
파라미터 |
값 |
---|---|
|
이 파라미터를 |
|
이 파라미터를 |
|
이 파라미터를 |
AWS관리형 MySQL 호환 데이터베이스를의 소스로 사용 AWS DMS
다음 AWS관리형 MySQL 호환 데이터베이스를의 소스로 사용할 수 있습니다 AWS DMS.
-
MySQL Community Edition
-
MariaDB Community Edition
-
Amazon Aurora MySQL 호환 버전
AWS관리형 MySQL 호환 데이터베이스를 소스로 사용하는 경우 CDC에 대해 다음과 같은 사전 요구 사항이 있는지 AWS DMS확인합니다.
-
RDS for MySQL 및 RDS for MariaDB에 이진 로그를 활성화하려면 인스턴스 수준에서 자동 백업을 활성화하세요. Aurora MySQL 클러스터의 이진 로그를 활성화하려면 파라미터 그룹에서
binlog_format
변수를 변경합니다.자동 백업 설정에 관한 자세한 내용은 Amazon RDS 사용 설명서의 백업 작업 섹션을 참조하세요.
Amazon RDS for MySQL 데이터베이스에 이진 로깅을 설정하는 방법에 대한 자세한 내용은 Amazon RDS 사용 설명서의 MySQL 이진 로깅 구성을 참조하세요.
Aurora MySQL 클러스터의 이진 로깅을 설정하는 방법에 대한 자세한 내용은 Amazon Aurora MySQL 클러스터에 대한 바이너리 로깅을 활성화하려면 어떻게 해야 하나요?
를 참조하세요. -
CDC를 사용하려면 이진 로깅을 켭니다. Amazon RDS for MySQL 데이터베이스에 이진 로깅을 설정하는 방법에 대한 자세한 내용은 Amazon RDS 사용 설명서의 MySQL 이진 로깅 형식 구성을 참조하세요.
-
바이너리 로그를 사용할 수 있는지 확인합니다 AWS DMS. AWS관리형 MySQL 호환 데이터베이스는 가능한 한 빨리 바이너리 로그를 제거하므로 로그를 계속 사용할 수 있는 시간을 늘려야 합니다. 예를 들어, 로그 보존 시간을 24시간으로 늘리려면 다음 명령을 실행합니다.
call mysql.rds_set_configuration('binlog retention hours', 24);
-
binlog_format
파라미터를"ROW"
로 설정합니다.참고
MySQL 또는 MariaDB에서는
binlog_format
이 동적 파라미터이므로 새 값을 적용하기 위해 재부팅할 필요가 없습니다. 하지만 새 값은 새 세션에만 적용됩니다. 복제를 위해binlog_format
을ROW
로 전환해도 값을 변경하기 전에 해당 세션이 시작된 경우, 데이터베이스는MIXED
형식을 사용하여 후속 이진 로그를 계속 생성할 수 있습니다. 이렇게 하면 AWS DMS 가 소스 데이터베이스의 모든 변경 사항을 올바르게 캡처하지 못할 수 있습니다. MariaDB 또는 MySQL 데이터베이스에서binlog_format
설정을 변경하는 경우, 데이터베이스를 다시 시작하여 기존 세션을 모두 닫거나 DML(데이터 조작 언어) 작업을 수행하는 애플리케이션을 다시 시작해야 합니다.binlog_format
파라미터를 로 변경한 후 데이터베이스를 강제로 모든 세션을 다시 시작ROW
하면 데이터베이스가 올바른 형식을 사용하여 모든 후속 소스 데이터베이스 변경 사항을 기록하므로가 이러한 변경 사항을 올바르게 캡처할 AWS DMS 수 있습니다. -
binlog_row_image
파라미터를"Full"
로 설정합니다. -
DMS 버전 3.4.7 이전의 경우
binlog_checksum
파라미터를"NONE"
으로 설정합니다. Amazon RDS MySQL의 파라미터 설정에 대한 자세한 내용은 Amazon RDS 사용 설명서의 백업 작업을 참조하세요. -
Amazon RDS MySQL 또는 Amazon RDS MariaDB 읽기 전용 복제본을 소스로 사용하고 있는 경우, 읽기 전용 복제본에서 백업을 활성화하고
log_slave_updates
파라미터를TRUE
로 설정해야 합니다.
MySQL 데이터베이스를의 소스로 사용할 때의 제한 사항 AWS DMS
MySQL 데이터베이스를 원본으로 사용하는 경우 다음 사항을 고려하십시오.
-
Amazon RDS MySQL 5.5 이하의 경우, 변경 데이터 캡처(CDC)가 지원되지 않습니다. Amazon RDS MySQL의 경우, CDC를 활성화하려면 버전 5.6, 5.7 또는 8.0을 사용해야 합니다. CDC는 자체 관리형 MySQL 5.5 소스에서 지원됩니다.
-
CDC의 경우,
CREATE TABLE
,ADD COLUMN
,DROP COLUMN
열 데이터 형식 변경과renaming a column
이 지원됩니다. 하지만DROP TABLE
,RENAME TABLE
및 열 기본값, 열 Null 허용 여부, 문자 집합 등과 같은 다른 속성에 대한 업데이트는 지원되지 않습니다. -
소스의 분할된 테이블의 경우 대상 테이블 준비 모드를 대상의 테이블 삭제로 설정하면는 MySQL 대상에 파티션이 없는 간단한 테이블을 AWS DMS 생성합니다. 파티션된 테이블을 대상의 파티션된 테이블로 마이그레이션하려면, 대상 MySQL 데이터베이스에서 파티션된 테이블을 미리 생성합니다.
-
ALTER TABLE
문을 사용하여 테이블의 시작(FIRST) 또는 중간(AFTER)에 열을 추가하는 것은 지원되지 않습니다. 열은 항상 테이블 끝에 추가됩니다.table_name
ADD COLUMNcolumn_name
-
테이블 이름에 대/소문자가 포함되어 있고, 대/소문자를 구분하지 않는 파일 이름이 있는 운영 체제에서 소스 엔진이 호스팅되는 경우, CDC가 지원되지 않습니다. 예로는 HFS+를 사용하는 Microsoft Windows 또는 OS X가 있습니다.
-
Aurora MySQL 호환 버전 서버리스 v1은 전체 로드에 사용할 수 있지만 CDC에는 사용할 수 없습니다. MySQL 사전 요구 사항을 활성화할 수 없기 때문입니다. 자세한 내용은 파라미터 그룹 및 Aurora Serverless v1을 참조하세요.
Aurora MySQL 호환 버전 서버리스 v2는 CDC를 지원합니다.
-
열의 AUTO_INCREMENT 속성은 대상 데이터베이스 열로 마이그레이션되지 않습니다.
-
표준 블록 스토리지에 이진 로그가 저장되지 않으면 변경 사항 캡처가 지원되지 않습니다. 예를 들어 이진 로그가 Amazon S3에 저장되면 CDC가 작동하지 않습니다.
-
AWS DMS 는 기본적으로 InnoDB 스토리지 엔진을 사용하여 대상 테이블을 생성합니다. InnoDB가 아닌 스토리지 엔진을 사용해야 하는 경우, 테이블을 수동으로 생성하고 이를 아무 작업 안 함 모드를 사용하여 마이그레이션해야 합니다.
-
DMS 마이그레이션 작업 모드가 기존 데이터 마이그레이션 - 전체 로드만 해당하지 AWS DMS 않는 한 Aurora MySQL 복제본을의 소스로 사용할 수 없습니다.
-
MySQL 호환 소스가 전체 로드 도중 중지되는 경우, AWS DMS 작업은 오류로 중지되지 않습니다. 작업은 성공적으로 종료되지만 대상과 원본이 동기화되지 않았을 수 있습니다. 그러한 경우, 작업을 다시 시작하거나 영향을 받은 테이블을 다시 로드하십시오.
-
열의 일부에 생성된 색인 값은 마이그레이션되지 않습니다. 예를 들어 CREATE INDEX first_ten_chars ON 색인 고객(이름(10))은 대상에서 생성되지 않습니다.
-
일부 경우, LOB를 복제하지 않도록 작업이 구성됩니다(작업 설정에서 "SupportLobs"가 false이거나 작업 콘솔에서 Don't include LOB columns가 선택되지 않음). 이러한 경우 AWS DMS 는 MEDIUMBLOB, LONGBLOB, MEDIUMTEXT 및 LONGTEXT 열을 대상으로 마이그레이션하지 않습니다.
BLOB, TINYBLOB, TEXT 및 TINYTEXT 열은 영향을 받지 않으며 대상으로 마이그레이션됩니다.
-
임시 데이터 테이블 또는 시스템 버전이 지정된 테이블은 MariaDB 소스 및 대상 데이터베이스에서 지원되지 않습니다.
-
두 Amazon RDS Aurora MySQL 클러스터 간에 마이그레이션하는 경우, RDS Aurora MySQL 소스 엔드포인트는 복제본 인스턴스가 아니라 읽기/쓰기 인스턴스여야 합니다.
-
AWS DMS 는 현재 MariaDB에 대한 뷰 마이그레이션을 지원하지 않습니다.
-
AWS DMS 는 MySQL에 대해 분할된 테이블에 대한 DDL 변경을 지원하지 않습니다. CDC 도중 파티션 DDL 변경으로 인한 테이블 일시 중단을 건너뛰려면
skipTableSuspensionForPartitionDdl
을true
로 설정합니다. -
AWS DMS 는 버전 3.5.0 이상의 XA 트랜잭션만 지원합니다. 이전 버전은 XA 트랜잭션 AWS DMS 을 지원하지 않습니다. MariaDB 버전 10.6 이상의 XA 트랜잭션을 지원하지 않습니다. 자세한 내용은 XA 트랜잭션 지원 다음을 참조하세요.
-
AWS DMS 는 소스 데이터에 GTIDs를 사용하지 않습니다.
-
AWS DMS 는 Aurora MySQL 향상된 바이너리 로그를 지원하지 않습니다.
-
AWS DMS 는 바이너리 로그 트랜잭션 압축을 지원하지 않습니다.
-
AWS DMS 는 InnoDB 스토리지 엔진을 사용하여 MySQL 데이터베이스에 대한 ON DELETE CASCADE 및 ON UPDATE CASCADE 이벤트를 전파하지 않습니다. 이러한 이벤트의 경우, MySQL은 하위 테이블의 계단식 작업을 반영하기 위해 binlog 이벤트를 생성하지 않습니다. 따라서는 해당 변경 사항을 하위 테이블에 복제할 수 AWS DMS 없습니다. 자세한 내용은 인덱스, 외부 키 또는 하위 항목 업데이트 또는 삭제가 마이그레이션되지 않음 단원을 참조하십시오.
-
AWS DMS 는 계산된 (
VIRTUAL
및GENERATED ALWAYS
) 열의 변경 사항을 캡처하지 않습니다. 이러한 제한을 해결하려면 다음을 수행하세요.대상 데이터베이스에서 대상 테이블을 미리 생성하고,
DO_NOTHING
또는TRUNCATE_BEFORE_LOAD
전체 로드 작업 설정을 사용하여 AWS DMS 작업을 생성합니다.계산된 열을 작업 범위에서 제거하는 변환 규칙을 추가합니다. 변환에 대한 자세한 내용은 변환 규칙 및 작업 섹션을 참조하세요.
-
내부 MySQL 제한으로 인해 AWS DMS 는 BINLOGs 4GB 크기 이하로 처리할 수 있습니다. 4GB보다 큰 BINLOGs DMS 작업 실패 또는 기타 예측할 수 없는 동작을 초래할 수 있습니다. 4GB보다 큰 BINLOGs를 방지하려면 트랜잭션 크기를 줄여야 합니다.
XA 트랜잭션 지원
확장 아키텍처(XA) 트랜잭션은 여러 트랜잭션 리소스의 일련의 작업을 신뢰할 수 있는 단일 전역 트랜잭션으로 그룹화하는 데 사용할 수 있는 트랜잭션입니다. XA 트랜잭션은 2단계 커밋 프로토콜을 사용합니다. 일반적으로 열린 XA 트랜잭션이 있는 동안 변경 내용을 캡처하면 데이터가 손실될 수 있습니다. 데이터베이스에서 XA 트랜잭션을 사용하지 않는 경우, 기본값 TRUE
를 사용하여 이 권한과 IgnoreOpenXaTransactionsCheck
구성을 무시할 수 있습니다. XA 트랜잭션이 있는 소스에서 복제를 시작하려면 다음을 수행합니다.
AWS DMS 엔드포인트 사용자에게 다음 권한이 있는지 확인합니다.
grant XA_RECOVER_ADMIN on *.* to 'userName'@'%';
엔드포인트 설정
IgnoreOpenXaTransactionsCheck
를false
로 설정합니다.
참고
AWS DMS 는 MariaDB 소스 DB 버전 10.6 이상에서 XA 트랜잭션을 지원하지 않습니다.
MySQL을의 소스로 사용할 때 엔드포인트 설정 AWS DMS
추가 연결 속성을 사용하는 것과 비슷하게 엔드포인트 설정을 사용하여 MySQL 소스 데이터베이스를 구성할 수 있습니다. AWS DMS 콘솔을 사용하거나 --my-sql-settings '{"
JSON 구문과 AWS CLI함께의 EndpointSetting"
: "value"
, ...
}'create-endpoint
명령을 사용하여 소스 엔드포인트를 생성할 때 설정을 지정합니다.
MySQL을 소스로 하여 사용할 수 있는 엔드포인트 설정은 다음 테이블에 나와 있습니다.
명칭 | 설명 |
---|---|
EventsPollInterval |
데이터베이스가 유휴 상태일 때 이진 로그에서 새 변경 사항/이벤트를 확인하는 빈도를 지정합니다. 기본값: 5 유효한 값: 1~60 예제: 이 예에서는 5초마다 바이너리 로그의 변경 사항을 AWS DMS 확인합니다. |
ExecuteTimeout |
AWS DMS 버전 3.4.7 이상의 경우는 MySQL 소스 엔드포인트에 대한 클라이언트 문 제한 시간을 초 단위로 설정합니다. 기본값: 60 예제: |
ServerTimezone |
원본 MySQL 데이터베이스의 시간대를 지정합니다. 예제: |
AfterConnectScript |
가 엔드포인트에 AWS DMS 연결한 직후 실행할 스크립트를 지정합니다. SQL 문의 성공 여부에 상관없이 마이그레이션 작업이 계속 실행됩니다. 유효한 값: 하나 이상의 유효한 SQL 문(세미콜론으로 끝남). 예제: |
CleanSrcMetadataOnMismatch
|
불일치 발생 시 복제 인스턴스에서 테이블 메타데이터 정보를 지운 후 다시 생성합니다. 예컨대 테이블에서 alter DDL을 실행하면 복제 인스턴스에 캐시된 테이블에 관해 다른 정보가 생길 수 있는 경우를 들 수 있습니다. 불. 기본 값: 예제: |
skipTableSuspensionForPartitionDdl
|
AWS DMS 는 MySQL에 대해 분할된 테이블에 대한 DDL 변경을 지원하지 않습니다. AWS DMS 버전 3.4.6 이상의 경우 CDC 중에 파티션 DDL 변경에 대한 테이블 일시 중지를 기본 값: 예제: |
IgnoreOpenXaTransactionsCheck
|
AWS DMS 버전 3.5.0 이상의 경우, 시작 중에 태스크가 열려 있는 XA 트랜잭션을 무시해야 하는지 여부를 지정합니다. 소스에 XA 트랜잭션이 있는 경우, 이 값을 기본 값: 예제: |
MySQL용 소스 데이터 형식
다음 표에는를 사용할 때 지원되는 MySQL 데이터베이스 소스 데이터 형식 AWS DMS 과 AWS DMS 데이터 형식의 기본 매핑이 나와 있습니다.
대상에서 매핑된 데이터 형식을 확인하는 방법에 대한 정보는 사용 중인 대상 엔드포인트에 대한 섹션을 참조하십시오.
AWS DMS 데이터 유형에 대한 자세한 내용은 섹션을 참조하세요AWS Database Migration Service의 데이터 형식.
MySQL 데이터 형식 |
AWS DMS 데이터 형식 |
---|---|
INT |
INT4 |
BIGINT |
INT8 |
MEDIUMINT |
INT4 |
TINYINT |
INT1 |
SMALLINT |
INT2 |
UNSIGNED TINYINT |
UINT1 |
UNSIGNED SMALLINT |
UINT2 |
UNSIGNED MEDIUMINT |
UINT4 |
UNSIGNED INT |
UINT4 |
UNSIGNED BIGINT |
UINT8 |
DECIMAL(10) |
NUMERIC (10,0) |
BINARY |
BYTES(1) |
BIT |
BOOLEAN |
BIT(64) |
BYTES(8) |
BLOB |
BYTES(65535) |
LONGBLOB |
BLOB |
MEDIUMBLOB |
BLOB |
TINYBLOB |
BYTES(255) |
날짜 |
날짜 |
DATETIME |
DATETIME 괄호 안의 값이 없는 DATETIME은 밀리초 없이 복제됩니다. 괄호 안의 값이 1~5인 DATETIME(예: DATETIME 열을 복제할 때 대상에서 시간이 동일하게 유지됩니다. UTC로 변환되지 않습니다. |
TIME |
STRING |
TIMESTAMP |
DATETIME TIMESTAMP 열을 복제할 때는 대상에서 시간이 UTC로 변환됩니다. |
YEAR |
INT2 |
DOUBLE |
REAL8 |
FLOAT |
REAL(DOUBLE) FLOAT 값이 다음 범위에 속하지 않는 경우, 변환을 사용하여 FLOAT를 STRING에 매핑하세요. 변환에 대한 자세한 내용은 변환 규칙 및 작업 섹션을 참조하세요. 지원되는 FLOAT 범위는 -1.79E+308~-2.23E-308, 0, 그리고 2.23E-308~1.79E+308입니다. |
VARCHAR (45) |
WSTRING (45) |
VARCHAR (2000) |
WSTRING (2000) |
VARCHAR (4000) |
WSTRING (4000) |
VARBINARY (4000) |
BYTES (4000) |
VARBINARY (2000) |
BYTES (2000) |
CHAR |
WSTRING |
TEXT |
WSTRING |
LONGTEXT |
NCLOB |
MEDIUMTEXT |
NCLOB |
TINYTEXT |
WSTRING(255) |
GEOMETRY |
BLOB |
POINT |
BLOB |
LINESTRING |
BLOB |
POLYGON |
BLOB |
MULTIPOINT |
BLOB |
MULTILINESTRING |
BLOB |
MULTIPOLYGON |
BLOB |
GEOMETRYCOLLECTION |
BLOB |
ENUM |
WSTRING ( 여기서 |
SET |
WSTRING ( 여기서 |
JSON |
CLOB |
참고
경우에 따라 '0' 값으로 DATETIME 및 TIMESTAMP 데이터 형식(즉, 0000-00-00)을 지정할 수 있습니다. 이 경우, 복제 작업의 대상 데이터베이스가 DATETIME 및 TIMESTAMP 데이터 형식으로 ‘0’ 값을 지원하는지 확인하세요. 그렇지 않으면, 이 값이 대상에서 null로 기록됩니다.