다음을 통해 공유


복사 작업에서 Azure SQL Database Managed Instance를 구성하는 방법

이 문서에서는 데이터 파이프라인의 복사 작업을 사용하여 Azure SQL Database Managed Instance에서 데이터를 복사하는 방법에 대해 설명합니다.

지원되는 구성

복사 작업 아래의 각 탭을 구성하려면 각각 다음 섹션으로 이동합니다.

일반

일반 설정 탭을 구성하려면 일반 설정 지침을 참조하세요.

원본

복사 작업의 원본 탭에서 Azure SQL Database Managed Instance에 대해 지원되는 속성은 다음과 같습니다.

원본 탭 및 속성 목록을 보여주는 스크린샷.

다음 속성은 필수입니다.

  • 데이터 저장소 유형: 외부를 선택합니다.

  • 연결: 연결 목록에서 Azure SQL Database Managed Instance 연결을 선택합니다. 연결이 없으면 새로 만들기를 선택하여 새 Azure SQL Database Managed Instance 연결을 만듭니다.

  • 연결 형식: Azure SQL Database Managed Instance를 선택합니다.

  • 쿼리 사용: 데이터를 읽는 방식을 지정합니다. 테이블, 쿼리 또는 저장 프로시저를 선택할 수 있습니다. 다음 목록에서는 각 설정의 구성에 대해 설명합니다.

    • 테이블: 지정된 테이블에서 데이터를 읽습니다. 드롭다운 목록에서 원본 테이블을 선택하거나 편집을 선택하여 수동으로 입력합니다.

    • 쿼리: 데이터를 읽는 사용자 지정 SQL 쿼리를 지정합니다. 예제는 select * from MyTable입니다. 또는 코드 편집기에서 연필 아이콘을 선택하여 편집합니다.

      쿼리 설정을 보여주는 스크린샷.

    • 저장 프로시저: 원본 테이블에서 데이터를 읽는 저장 프로시저를 사용합니다. 마지막 SQL 문은 저장 프로시저의 SELECT 문이어야 합니다.

      • 저장 프로시저 이름: 저장 프로시저를 선택하거나 원본 테이블에서 데이터를 읽기 위해 편집을 선택할 때 저장 프로시저 이름을 수동으로 지정합니다.

      • 저장 프로시저 매개 변수: 저장 프로시저 매개 변수의 값을 지정합니다. 허용되는 값은 이름 또는 값 쌍입니다. 매개 변수의 이름 및 대/소문자는 저장 프로시저 매개 변수의 이름 및 대/소문자와 일치해야 합니다. 매개 변수 가져오기를 선택하여 저장 프로시저 매개 변수를 가져올 수 있습니다.

        저장 프로시저 설정을 보여주는 스크린샷.

고급에서 다음 필드를 지정할 수 있습니다.

  • 쿼리 시간 제한(분): 쿼리 명령 실행에 대한 시간 제한을 지정합니다. 기본값은 120분입니다. 이 속성에 대해 매개 변수가 설정된 경우 허용되는 값은 시간 범위(예: "02:00:00"(120분))입니다.

  • 격리 수준: SQL 원본에 대한 트랜잭션 잠금 동작을 지정합니다. 허용되는 값은 커밋된 읽기, 커밋되지 않은 읽기, 반복 읽기, 직렬화 가능 또는 스냅샷입니다. 지정하지 않으면 데이터베이스의 기본 격리 수준이 사용됩니다. 자세한 내용은 IsolationLevel 열거형을 참조하세요.

    격리 수준 설정을 보여주는 스크린샷.

  • 파티션 옵션: Azure SQL Database Managed Instance에서 데이터를 로드하는 데 사용되는 데이터 분할 옵션을 지정합니다. 허용되는 값은 없음 (기본값), 테이블의 실제 파티션동적 범위입니다. 파티션 옵션이 활성화된 경우(즉, 없음이 아닐 때), Azure SQL Database Managed Instance에서 데이터를 동시에 로드하는 병렬 처리 수준은 복사 작업 설정 탭에서 복사 병렬 처리 수준으로 제어됩니다.

    • 없음: 파티션을 사용하지 않려면 이 설정을 선택합니다.

    • 테이블의 실제 파티션: 실제 파티션을 사용하는 경우 파티션 열 및 메커니즘은 실제 테이블 정의에 따라 자동으로 결정됩니다.

    • 동적 범위: 병렬이 활성화된 쿼리를 사용하는 경우 범위 파티션 매개 변수(?DfDynamicRangePartitionCondition)가 필요합니다. 샘플 쿼리: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition.

      • 파티션 열 이름: 병렬 복사를 위해 범위 분할에서 사용하는 원본 열의 이름을 정수 또는 날짜/날짜 시간 형식(int, smallint, bigint, date, smalldatetime, datetime, datetime2 또는 datetimeoffset)으로 지정합니다. 지정하지 않으면 테이블의 인덱스 또는 기본 키가 자동으로 검색되어 파티션 열로 사용됩니다.

        쿼리를 사용하여 원본 데이터를 검색하는 경우 WHERE 절에서 ?DfDynamicRangePartitionCondition를 후크합니다. 예제는 Azure SQL Database Managed Instance에서 병렬 복사 섹션을 참조하세요.

      • 파티션 상한: 파티션 범위 분할을 위한 파티션 열의 최대값을 지정합니다. 이 값은 테이블의 행을 필터링하는 것이 아니라 파티션 진행 속도를 결정하는 데 사용됩니다. 테이블 또는 쿼리 결과의 모든 행이 분할되고 복사됩니다. 지정하지 않으면 복사 작업에서 값을 자동으로 검색합니다. 예제는 Azure SQL Database Managed Instance에서 병렬 복사 섹션을 참조하세요.

      • 파티션 하한: 파티션 범위 분할을 위한 파티션 열의 최솟값을 지정합니다. 이 값은 테이블의 행을 필터링하는 것이 아니라 파티션 진행 속도를 결정하는 데 사용됩니다. 테이블 또는 쿼리 결과의 모든 행이 분할되고 복사됩니다. 지정하지 않으면 복사 작업에서 값을 자동으로 검색합니다. 예제는 Azure SQL Database Managed Instance에서 병렬 복사 섹션을 참조하세요.

  • 추가 열: 데이터 열을 추가하여 원본 파일의 상대 경로 또는 정적 값을 저장하세요. 식은 정적 값에 대해 지원됩니다.

다음 사항에 유의하세요.

  • 원본에 대해 쿼리가 지정되어 있으면 복사 작업은 Azure SQL Database Managed Instance 원본에 대해 이 쿼리를 실행하여 데이터를 가져옵니다. 저장 프로시저가 매개 변수를 사용하는 경우에는 저장 프로시저 이름저장 프로시저 매개 변수를 지정하여 저장 프로시저를 지정할 수도 있습니다.
  • 원본에서 저장 프로시저를 사용하여 데이터를 검색할 때, 다른 매개 변수 값이 전달되면 다른 스키마를 반환하도록 저장 프로시저를 설계한 경우 UI에서 스키마를 가져오거나 자동 테이블을 만들어 SQL 데이터베이스로 데이터를 복사하면 오류가 발생하거나 예기치 않은 결과가 발생할 수 있습니다.

대상

복사 작업의 대상 탭에서 Azure SQL Database Managed Instance에 대해 지원되는 속성은 다음과 같습니다.

대상 탭 정보를 보여주는 스크린샷.

다음 속성은 필수입니다.

  • 데이터 저장소 유형: 외부를 선택합니다.

  • 연결: 연결 목록에서 Azure SQL Database Managed Instance 연결을 선택합니다. 연결이 없으면 새로 만들기를 선택하여 새 Azure SQL Database Managed Instance 연결을 만듭니다.

  • 연결 형식: Azure SQL Database Managed Instance를 선택합니다.

  • 테이블 옵션: 기존 항목 사용을 선택하여 지정된 테이블을 사용할 수 있습니다. 또는 원본 스키마에 테이블이 없는 경우 자동으로 대상 테이블을 만들도록 테이블 자동 만들기를 선택합니다. 저장 프로시저를 쓰기 동작으로 사용할 때는 이 선택이 지원되지 않습니다.

    기존 항목 사용을 선택하는 경우:

    • 테이블: 드롭다운 목록에서 대상 데이터베이스의 테이블을 선택합니다. 또는 편집을 선택하여 테이블 이름을 수동으로 입력합니다.

    테이블 자동 만들기를 선택한 경우:

    • 테이블: 자동으로 만든 대상 테이블의 이름을 지정합니다.

고급에서 다음 필드를 지정할 수 있습니다.

  • 쓰기 동작: 원본이 파일 기반 데이터 저장소의 파일인 경우의 쓰기 동작을 정의합니다. 삽입, **Upsert 또는 저장 프로시저를 선택할 수 있습니다.

    • 삽입: 이 옵션을 선택하면 삽입 쓰기 동작을 사용하여 Azure SQL Database Managed Instance에 데이터를 로드합니다.

    • Upsert: 이 옵션을 선택하면 upsert 쓰기 동작을 사용하여 Azure SQL Database Managed Instance에 데이터를 로드합니다.

      • TempDB 사용: 전체 임시 테이블 또는 실제 테이블을 upsert의 중간 테이블로 사용할지 여부를 지정합니다. 기본적으로 이 속성이 선택되며, 서비스는 전체 임시 테이블을 중간 테이블로 사용합니다.

        TempDB 사용을 선택하는 방법을 보여주는 스크린샷.

      • 사용자 DB 스키마 선택: TempDB 사용을 선택하지 않은 경우 실제 테이블을 사용하는 경우 중간 테이블을 만들기 위한 중간 스키마를 지정합니다.

        참고 항목

        사용자는 테이블을 만들고 삭제할 수 있는 권한이 있어야 합니다. 기본적으로 중간 테이블은 대상 테이블과 동일한 스키마를 공유합니다.

        TempDB 사용을 선택하지 않는 방법을 보여주는 스크린샷.

      • 키 열: 고유한 행 식별을 위한 열 이름을 지정합니다. 단일 키 또는 일련의 키를 사용할 수 있습니다. 지정하지 않으면 기본 키가 사용됩니다.

    • 저장 프로시저: 원본 데이터를 대상 테이블에 적용하는 방법을 정의하는 저장 프로시저를 사용합니다. 이 저장 프로시저는 배치마다 호출됩니다. 삭제 또는 잘라내기와 같이 원본 데이터와 관련이 없고 한 번만 실행되는 작업의 경우 스크립트 사전 복사 속성을 사용합니다.

      • 저장 프로시저 이름: 저장 프로시저를 선택하거나 원본 테이블에서 데이터를 읽기 위해 편집을 확인할 때 저장 프로시저 이름을 수동으로 지정합니다.

      • 저장 프로시저 매개 변수:

        • 테이블 형식: 저장 프로시저에 사용할 테이블 형식 이름을 지정합니다. 복사 작업을 사용하면 이동 중인 데이터를 이 테이블 형식의 임시 테이블에서 볼 수 있습니다. 그러면 저장 프로시저 코드가 복사 중인 데이터를 기존 데이터와 병합할 수 있습니다.
        • 테이블 형식 매개 변수 이름: 저장 프로시저에 지정된 테이블 형식의 매개 변수 이름을 지정합니다.
        • 매개 변수: 저장 프로시저 매개 변수의 값을 지정합니다. 허용되는 값은 이름 또는 값 쌍입니다. 매개 변수의 이름 및 대/소문자는 저장 프로시저 매개 변수의 이름 및 대/소문자와 일치해야 합니다. 매개 변수 가져오기를 선택하여 저장 프로시저 매개 변수를 가져올 수 있습니다.

        대상 쓰기 동작의 저장 프로시저 설정을 보여주는 스크린샷.

  • 대량 삽입 테이블 잠금: 또는 아니요(기본값)를 선택합니다. 이 설정을 사용하면 여러 클라이언트의 인덱스가 없는 테이블에 대량 삽입 작업을 수행할 때 복사 성능을 향상시킬 수 있습니다. 삽입 또는 Upsert를 쓰기 동작으로 선택할 때 이 속성을 지정할 수 있습니다. 자세한 내용은 BULK INSERT(Transact-SQL)를 참조하세요.

  • 스크립트 사전 복사: 각 실행에서 대상 테이블에 데이터를 쓰기 전에 실행할 복사 작업에 대한 스크립트를 지정합니다. 이 속성을 사용하여 미리 로드된 데이터를 정리할 수 있습니다.

  • 쓰기 일괄 처리 시간 제한: 일괄 처리 삽입 작업이 시간 초과되기 전에 완료될 때까지의 대기 시간을 지정합니다. 허용되는 값은 시간 간격입니다. 값을 지정하지 않으면 시간 제한은 기본적으로 "02:00:00"으로 설정됩니다.

  • 쓰기 일괄 처리 크기: 일괄 처리당 SQL 테이블에 삽입할 행 수를 지정합니다. 허용되는 값은 정수(행 수)입니다. 기본적으로 서비스는 행 크기에 따라 적절한 일괄 처리 크기를 동적으로 결정합니다.

  • 최대 동시 연결: 작업 실행 중 데이터 저장소에 설정된 동시 연결의 상한입니다. 동시 연결을 제한하려는 경우에만 값을 지정합니다.

매핑

매핑 탭 구성의 경우 자동 만들기 테이블을 대상으로 사용하여 Azure SQL Database Managed Instance를 적용하지 않는 경우 매핑으로 이동합니다.

매핑의 구성을 제외하고 자동 만들기 테이블을 대상으로 Azure SQL Database Managed Instance를 적용하는 경우 대상 열의 형식을 편집할 수 있습니다. 스키마 가져오기를 선택한 후 대상에서 열 형식을 지정할 수 있습니다.

예를 들어 원본의 ID 열 형식은 int이며 대상 열에 매핑할 때 부동 형식으로 변경할 수 있습니다.

대상 열 형식 매핑의 스크린샷

설정

설정 탭을 구성하려면 설정 탭에서 기타 설정 구성으로 이동합니다.

Azure SQL Database Managed Instance에서 병렬 복사

복사 작업의 Azure SQL Database Managed Instance 커넥터는 데이터를 병렬로 복사하는 기본 제공 데이터 분할을 제공합니다. 복사 작업의 원본 탭에서 데이터 분할 옵션을 찾을 수 있습니다.

분할된 복사본을 사용하도록 설정하면 복사 작업이 Azure SQL Database Managed Instance 원본에 대해 병렬 쿼리를 실행하여 파티션별로 데이터를 로드합니다. 병렬 수준은 복사 작업 설정 탭의 복사 병렬 처리 수준에 의해 제어됩니다. 예를 들어 복사 병렬 처리 수준을 4로 설정하면 서비스는 지정된 파티션 옵션 및 설정에 따라 4개의 쿼리를 동시에 생성하고 실행하며 각 쿼리는 Azure SQL Database Managed Instance에서 데이터의 일부를 검색합니다.

특히 Azure SQL Database Managed Instance에서 대량의 데이터를 로드하는 경우 특별히 데이터 분할로 병렬 복사를 사용하도록 설정하는 것이 좋습니다. 다양한 시나리오에 대해 권장되는 구성은 다음과 같습니다. 파일 기반 데이터 저장소에 데이터를 복사할 때 여러 파일로 폴더에 쓰는 것이 좋습니다(폴더 이름만 지정). 이 경우 단일 파일에 쓰는 것보다 성능이 좋습니다.

시나리오 제안된 설정
실제 파티션이 있는 대형 테이블에서 전체 로드 파티션 옵션: 테이블의 실제 파티션

실행하는 동안 서비스에서 실제 파티션을 자동으로 검색하여 데이터를 파티션별로 복사합니다.

실제 파티션이 테이블에 있는지 확인하려면 이 쿼리를 참조할 수 있습니다.
실제 파티션이 없지만 데이터 분할에 대한 정수 또는 날짜/시간 열이 있는 대형 테이블에서 전체 로드를 수행합니다. 파티션 옵션: 동적 범위 파티션입니다.
파티션 열(선택 사항): 데이터를 분할하는 데 사용되는 열을 지정합니다. 지정하지 않으면 인덱스 또는 기본 키 열이 사용됩니다.
파티션 상한파티션 하한(선택 사항): 파티션 진행 속도를 결정할지 여부를 지정합니다. 이는 테이블의 행을 필터링하기 위한 것이 아니며, 테이블의 모든 행을 분할하고 복사합니다. 지정하지 않으면 복사 작업에서 자동으로 값을 검색합니다.

예를 들어 "ID" 파티션 열의 값 범위가 1~100이고 하한을 20으로 설정하고 상한을 80으로 설정하고 병렬 복사를 4로 설정하면 서비스에서 4개의 파티션별로(각각 ID 범위: <=20, [21, 50], [51, 80] 및 >=81) 데이터를 검색합니다.
실제 파티션이 없지만 데이터 분할에 대한 정수, 날짜 또는 날짜/시간 열이 있는 사용자 지정 쿼리를 사용하여 많은 양의 데이터를 로드합니다. 파티션 옵션: 동적 범위 파티션입니다.
쿼리:SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.
파티션 열: 데이터를 분할하는 데 사용되는 열을 지정합니다.
파티션 상한파티션 하한(선택 사항): 파티션 진행 속도를 결정할지 여부를 지정합니다. 이는 테이블의 행을 필터링하기 위한 것이 아니며, 쿼리 결과의 모든 행을 분할하고 복사합니다. 지정하지 않으면 복사 작업에서 값을 자동으로 검색합니다.

예를 들어 "ID" 파티션 열의 값 범위가 1~100이고 하한을 20으로 설정하고 상한을 80으로 설정하고 병렬 복사를 4로 설정하면 서비스에서 4개의 파티션별로(각각 ID 범위: <=20, [21, 50], [51, 80] 및 >=81) 데이터를 검색합니다.

다양한 시나리오에 대한 추가 샘플 쿼리는 다음과 같습니다.
• 전체 테이블 쿼리:
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
• 열을 선택하고 where 절 필터를 추가하여 테이블 쿼리:
SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
• 하위 쿼리를 사용하여 쿼리:
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
• 하위 쿼리에서 파티션을 사용하여 쿼리:
SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T

파티션 옵션을 사용하여 데이터를 로드하는 모범 사례:

  • 데이터 기울이기를 방지하려면 고유한 열(예: 기본 키 또는 고유 키)을 분할 열로 선택합니다.
  • 테이블에 기본 제공 파티션이 있는 경우 테이블의 실제 파티션 파티션 옵션을 사용하여 성능을 향상시킵니다.

실제 파티션을 확인하기 위한 샘플 쿼리

SELECT DISTINCT s.name AS SchemaName, t.name AS TableName, pf.name AS PartitionFunctionName, c.name AS ColumnName, iif(pf.name is null, 'no', 'yes') AS HasPartition
FROM sys.tables AS t
LEFT JOIN sys.objects AS o ON t.object_id = o.object_id
LEFT JOIN sys.schemas AS s ON o.schema_id = s.schema_id
LEFT JOIN sys.indexes AS i ON t.object_id = i.object_id 
LEFT JOIN sys.index_columns AS ic ON ic.partition_ordinal > 0 AND ic.index_id = i.index_id AND ic.object_id = t.object_id 
LEFT JOIN sys.columns AS c ON c.object_id = ic.object_id AND c.column_id = ic.column_id 
LEFT JOIN sys.partition_schemes ps ON i.data_space_id = ps.data_space_id 
LEFT JOIN sys.partition_functions pf ON pf.function_id = ps.function_id 
WHERE s.name='[your schema]' AND t.name = '[your table name]'

실제 파티션이 테이블에 있는 경우 다음과 같이 "HasPartition"이 "yes"로 표시됩니다.

SQL 쿼리 결과.

표 요약

Azure SQL Database Managed Instance 복사 작업에 대한 요약 및 자세한 내용은 다음 표를 참조하세요.

원본 정보

이름 설명 필수 JSON 스크립트 속성
데이터 저장소 유형 데이터 저장소 유형입니다. 외부 /
연결 원본 데이터 저장소에 대한 연결입니다. < 연결 > connection
연결 형식 연결 형식입니다. Azure SQL Database Managed Instance를 선택합니다. Azure SQL Database Managed Instance /
쿼리 사용 사용자 지정 SQL 쿼리를 사용하여 데이터를 읽습니다. • 테이블
• 쿼리
• 저장 프로시저
/
테이블 원본 데이터 테이블입니다. < 테이블의 이름> 아니요 스키마
테이블
쿼리 사용자 지정 SQL 쿼리를 사용하여 데이터를 읽습니다. < 쿼리 > 아니요 SqlReaderQuery
저장 프로시저 이름 이 속성은 원본 테이블에서 데이터를 읽는 저장 프로시저의 이름입니다. 마지막 SQL 문은 저장 프로시저의 SELECT 문이어야 합니다. < 저장 프로시저 이름 > 아니요 sqlReaderStoredProcedureName
저장 프로시저 매개 변수 저장 프로시저용 매개 변수입니다. 허용되는 값은 이름 또는 값 쌍입니다. 매개 변수의 이름 및 대/소문자는 저장 프로시저 매개 변수의 이름 및 대/소문자와 일치해야 합니다. < 이름/값 쌍 > 아니요 storedProcedureParameters
쿼리 시간 제한 쿼리 명령 실행에 대한 시간 제한입니다. timespan
(기본값은 120분입니다.)
아니요 queryTimeout
격리 수준 SQL 원본에 대한 트랜잭션 잠금 동작을 지정합니다. • 커밋된 읽기
• 커밋되지 않은 읽기
• 반복 읽기
• 직렬화 가능
• 스냅샷
아니요 isolationLevel:
• ReadCommitted
• ReadUncommitted
• RepeatableRead
• 직렬화 가능
• 스냅샷
파티션 옵션 Azure SQL Database Managed Instance에서 데이터를 로드하는 데 사용되는 데이터 분할 옵션을 지정합니다. • 없음(기본값)
• 테이블의 실제 파티션
• 동적 범위
아니요 partitionOption:
• 없음(기본값)
• PhysicalPartitionsOfTable
• DynamicRange
파티션 열 이름 병렬 복사를 위해 범위 분할에서 사용하는 원본 열의 이름으로 정수 또는 날짜/날짜/시간 형식(int, smallint, bigint, date, smalldatetime, datetime, datetime2 또는 datetimeoffset) 형식으로 지정됩니다. 지정하지 않으면 테이블의 인덱스 또는 기본 키가 자동으로 검색되어 파티션 열로 사용됩니다. 쿼리를 사용하여 원본 데이터를 검색하는 경우 WHERE 절에서 ?DfDynamicRangePartitionCondition를 후크합니다. < 파티션 열 이름 > 아니요 partitionColumnName
파티션 상한 파티션 범위 분할에 대한 파티션 열의 최댓값입니다. 이 값은 테이블의 행을 필터링하는 것이 아니라 파티션 진행 속도를 결정하는 데 사용됩니다. 테이블 또는 쿼리 결과의 모든 행이 분할되고 복사됩니다. 지정하지 않으면 복사 작업에서 값을 자동으로 검색합니다. < 파티션 상한 > 아니요 partitionUpperBound
파티션 하한 파티션 범위 분할에 대한 파티션 열의 최솟값입니다. 이 값은 테이블의 행을 필터링하는 것이 아니라 파티션 진행 속도를 결정하는 데 사용됩니다. 테이블 또는 쿼리 결과의 모든 행이 분할되고 복사됩니다. 지정하지 않으면 복사 작업에서 값을 자동으로 검색합니다. < 파티션 하한 > 아니요 partitionLowerBound
추가 열 데이터 열을 추가하여 원본 파일의 상대 경로 또는 정적 값을 저장하세요. 식은 정적 값에 대해 지원됩니다. • 이름
• 값
아니요 additionalColumns:
• 이름
• 값

대상 정보

이름 설명 필수 JSON 스크립트 속성
데이터 저장소 유형 데이터 저장소 유형입니다. 외부 /
연결 대상 데이터 저장소에 대한 연결입니다. < 연결 > connection
연결 형식 연결 형식입니다. Azure SQL Database Managed Instance를 선택합니다. Azure SQL Database Managed Instance /
테이블 옵션 원본 스키마를 기반으로 대상 테이블이 존재하지 않는 경우 자동으로 생성할지 여부를 지정합니다. • 기존 항목 사용
• 테이블 자동 만들기
tableOption:

• autoCreate
테이블 대상 데이터 테이블입니다. < 테이블의 이름> 스키마
테이블
쓰기 동작 데이터를 Azure SQL Database Managed Instance 데이터베이스에 로드하기 위한 복사 작업의 쓰기 동작을 지정합니다. • 삽입
• Upsert
• 저장 프로시저
아니요 writeBehavior:
• 삽입
• upsert
sqlWriterStoredProcedureName, sqlWriterTableType, storedProcedureTableTypeParameterName, storedProcedureParameters
TempDB 사용 전체 임시 테이블 또는 실제 테이블을 upsert의 중간 테이블로 사용할지 여부를 지정합니다. 선택됨(기본값) 또는 선택 취소됨 아니요 useTempDB:
true(기본값) 또는 false
사용자 DB 스키마 선택 실제 테이블을 사용하는 경우 중간 테이블을 만들기 위한 중간 스키마입니다. 참고: 사용자는 테이블을 만들고 삭제할 수 있는 권한이 있어야 합니다. 기본적으로 중간 테이블은 대상 테이블과 동일한 스키마를 공유합니다. TempDB 사용을 선택하지 않으면 적용됩니다. 선택됨(기본값) 또는 선택 취소됨 아니요 interimSchemaName
키 열 고유한 행 식별을 위한 열 이름을 지정합니다. 단일 키 또는 일련의 키를 사용할 수 있습니다. 지정하지 않으면 기본 키가 사용됩니다. < 키 열 > 아니요
저장 프로시저 이름 원본 데이터를 대상 테이블에 적용하는 방법을 정의하는 저장 프로시저의 이름입니다. 이 저장 프로시저는 배치마다 호출됩니다. 삭제 또는 잘라내기와 같이 소스 데이터와 관련이 없고 한 번만 실행되는 작업의 경우 스크립트 사전 복사 속성을 사용합니다. < 저장 프로시저 이름 > 아니요 sqlWriterStoredProcedureName
테이블 유형 저장 프로시저에서 사용할 테이블 형식 이름입니다. 복사 작업을 사용하면 이동 중인 데이터를 이 테이블 형식의 임시 테이블에서 볼 수 있습니다. 그러면 저장 프로시저 코드가 복사 중인 데이터를 기존 데이터와 병합할 수 있습니다. < 테이블 유형 이름 > 아니요 sqlWriterTableType
테이블 매개 변수 이름 저장 프로시저에 지정된 테이블 형식의 매개 변수 이름입니다. < 테이블 형식의 매개 변수 이름 > 아니요 storedProcedureTableTypeParameterName
매개 변수 저장 프로시저에 대한 매개 변수입니다. 허용되는 값은 이름 및 값 쌍입니다. 매개 변수의 이름 및 대소문자와, 저장 프로시저 매개변수의 이름 및 대소문자와 일치해야 합니다. < 이름 및 값 쌍 > 아니요 storedProcedureParameters
대량 삽입 테이블 잠금 이 설정을 사용하면 여러 클라이언트의 인덱스가 없는 테이블에 대량 삽입 작업을 수행할 때 복사 성능을 향상시킬 수 있습니다. 예 또는 아니요(기본값) 아니요 sqlWriterUseTableLock:
true 또는 false(기본값)
사전 복사 스크립트 각 실행에서 대상 테이블에 데이터를 쓰기 전에 실행할 복사 작업에 대한 스크립트입니다. 이 속성을 사용하여 미리 로드된 데이터를 정리할 수 있습니다. <사전 복사 스크립트>
(string)
아니요 preCopyScript
쓰기 일괄 처리 시간 제한 시간 초과되기 전에 배치 삽입 작업을 완료하기 위한 대기 시간입니다. timespan
(기본값은 "02:00:00"입니다.)
아니요 writeBatchTimeout
쓰기 일괄 처리 크기 SQL 테이블에 삽입할 일괄 처리당 행 수입니다. 기본적으로 서비스는 행 크기에 따라 적절한 일괄 처리 크기를 동적으로 결정합니다. < 행 개수 >
(정수)
아니요 writeBatchSize
최대 동시 연결 수 작업 실행 중 데이터 저장소에 설정된 동시 연결의 상한입니다. 동시 연결을 제한하려는 경우에만 값을 지정합니다. < 동시 연결 수의 상한 >
(정수)
아니요 maxConcurrentConnections