Data Migration Assistant 설정 구성

dma.exe.config 파일에서 구성 값을 설정하여 Data Migration Assistant의 특정 동작을 미세 조정할 수 있습니다. 이 문서에서는 주요 구성 값에 대해 설명합니다.

머신의 다음 폴더에서 Data Migration Assistant 데스크톱 애플리케이션 및 명령줄 유틸리티에 대한 dma.exe.config 파일을 찾을 수 있습니다.

  • 데스크톱 애플리케이션

    %ProgramFiles%\Microsoft Data Migration Assistant\dma.exe.config

  • 명령줄 유틸리티

    %ProgramFiles%\Microsoft Data Migration Assistant\dmacmd.exe.config

수정하기 전에 원래 구성 파일의 복사본을 저장해야 합니다. 변경한 후 Data Migration Assistant를 다시 시작하여 새 구성 값을 적용합니다.

병렬로 평가할 데이터베이스 수

Data Migration Assistant는 여러 데이터베이스를 병렬로 평가합니다. 평가하는 동안 Data Migration Assistant는 데이터베이스 스키마를 이해하기 위해 데이터 계층 애플리케이션(dacpac)을 추출합니다. 동일한 서버의 여러 데이터베이스가 병렬로 평가되는 경우 이 작업이 시간 초과될 수 있습니다.

Data Migration Assistant v2.0부터 parallelDatabases 구성 값을 설정하여 이를 제어할 수 있습니다. 기본값은 8입니다.

<advisorGroup>
<workflowSettings>
<assessment parallelDatabases="8" />
</workflowSettings>
</advisorGroup>

병렬로 마이그레이션할 데이터베이스 수

Data Migration Assistant는 로그인을 마이그레이션하기 전에 여러 데이터베이스를 병렬로 마이그레이션합니다. 마이그레이션하는 동안 Data Migration Assistant는 원본 데이터베이스의 백업을 수행하고 필요에 따라 백업을 복사한 다음, 대상 서버에서 복원합니다. 마이그레이션을 위해 여러 데이터베이스를 선택하면 시간 초과 오류가 발생할 수 있습니다.

Data Migration Assistant v2.0부터 이 문제가 발생하면 parallelDatabases 구성 값을 줄일 수 있습니다. 전체 마이그레이션 시간을 줄이기 위해 값을 늘릴 수 있습니다.

<advisorGroup>
<workflowSettings>
<migration parallelDatabases="8″ />
</workflowSettings>
</advisorGroup>

DacFX 설정

평가하는 동안 Data Migration Assistant는 데이터베이스 스키마를 이해하기 위해 데이터 계층 애플리케이션(dacpac)을 추출합니다. 이 작업은 대규모 데이터베이스에 대한 시간 제한으로 실패하거나 서버가 로드 중인 경우 실패할 수 있습니다. Data Migration v1.0부터 다음 구성 값을 수정하여 오류를 방지할 수 있습니다.

참고 항목

기본적으로 전체 <dacfx> 항목이 주석 처리됩니다. 주석을 제거한 다음, 필요에 따라 값을 수정합니다.

  • commandTimeout

    이 매개 변수는 IDbCommand.CommandTimeout 속성을 단위로 설정합니다. (기본값=60)

  • databaseLockTimeout

    이 매개 변수는 SET LOCK_TIMEOUT timeout_period(밀리초)에 해당합니다. (기본값=5000)

  • maxDataReaderDegreeOfParallelism

    이 매개 변수는 사용할 SQL 연결 풀 연결 수를 설정합니다. (기본값=8)

<advisorGroup>
<advisorSettings>
<dacFx commandTimeout="60" databaseLockTimeout="5000" maxDataReaderDegreeOfParallelism="8"/>
</advisorSettings>
</advisorGroup>

Stretch Database: 권장 사항 임계값

Important

Stretch Database는 SQL Server 2022(16.x) 및 Azure SQL Database에서 더 이상 사용되지 않습니다. 이 기능은 데이터베이스 엔진의 이후 버전에서 제공될 예정입니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요.

SQL Server Stretch Database를 사용하면 Microsoft SQL Server 2016에서 Azure로 웜 및 콜드 트랜잭션 데이터를 동적으로 확장할 수 있습니다. Stretch Database 권장 사항은 더 이상 Advisor 옵션으로 사용할 수 없습니다.

SQL 연결 시간 제한

연결 시간 제한 값을 지정된 시간(초)으로 설정하여 평가 또는 마이그레이션을 실행하는 동안 원본 및 대상 인스턴스에 대한 SQL 연결 시간 제한을 제어할 수 있습니다. 기본값은 15초입니다.

<appSettings>
<add key="ConnectionTimeout" value="15" />
</appSettings>

오류 코드 무시

각 규칙의 제목에는 오류 코드가 있습니다. 규칙이 필요하지 않고 무시하려는 경우 ignoreErrorCodes 속성을 사용합니다. 단일 오류 또는 여러 오류를 무시하도록 지정할 수 있습니다. 여러 오류를 무시하려면 세미콜론을 사용합니다(예: ignoreErrorCodes="46010;71501"). 기본값은 71501로, 개체가 프로시저, 뷰 등과 같은 시스템 개체를 참조할 때 식별되는 확인되지 않은 참조와 연결됩니다.

<workflowSettings>
<assessment parallelDatabases="8" ignoreErrorCodes="71501" />
</workflowSettings>

참고 항목