다음을 통해 공유


SSMA 콘솔 실행(Db2ToSQL)

Microsoft는 SSMA(SQL Server Migration Assistant) 활동을 실행하고 제어하는 강력한 스크립트 파일 명령 집합을 제공합니다. 이어지는 섹션에서 이 내용을 자세히 설명합니다. 콘솔 애플리케이션은 이 섹션에 열거된 특정 표준 스크립트 파일 명령을 사용합니다.

프로젝트 스크립트 파일 명령

프로젝트 명령은 프로젝트 만들기, 프로젝트 열기, 저장 및 종료를 처리합니다.

Command

create-new-project: 새 SSMA 프로젝트를 만듭니다.

스크립트

  • project-folder 는 생성되는 프로젝트의 폴더를 나타냅니다.

  • project-name 는 프로젝트의 이름을 나타냅니다. {string}

  • overwrite-if-exists선택적 특성은 기존 프로젝트를 덮어써야 하는지를 나타냅니다. {boolean}

  • project-type:선택적 특성입니다. 프로젝트 형식을 나타냅니다. 예를 들어 sql-server-2019 또는 sql-azure입니다. 기본값은 sql-server-2016입니다.

예제:

<create-new-project
   project-folder="<project-folder>"
   project-name="<project-name>"
   overwrite-if-exists="<true/false>"   (optional)
   project-type="<sql-server-2016 | sql-server-2017 | sql-server-2019 | sql-server-2022 | sql-azure>"   (optional)
/>

특성 overwrite-if-existsfalse 기본적으로 사용됩니다.

특성 project-typesql-server-2016 기본적으로 사용됩니다.

Command

open-project: 기존 프로젝트를 엽니다.

스크립트

  • project-folder 는 생성되는 프로젝트의 폴더를 나타냅니다. 지정된 폴더가 없으면 명령이 실패합니다. {string}

  • project-name 는 프로젝트의 이름을 나타냅니다. 지정된 프로젝트가 없으면 명령이 실패합니다. {string}

구문 예제:

<open-project
   project-folder="<project-folder>"
   project-name="<project-name>"
/>

Db2 콘솔 애플리케이션용 SSMA는 이전 버전과의 호환성을 지원합니다. 이전 버전의 SSMA에서 만든 프로젝트를 열 수 있습니다.

Command

save-project: 마이그레이션 프로젝트를 저장합니다.

구문 예제:

<save-project/>

Command

close-project: 마이그레이션 프로젝트를 닫습니다.

구문 예제:

<close-project
   if-modified="<save/error/ignore>"   (optional)
/>

데이터베이스 연결 스크립트 파일 명령

데이터베이스 연결 명령은 데이터베이스에 연결하는 데 도움이 됩니다.

  • UI의 찾아보기 기능은 콘솔에서 지원되지 않습니다.

  • 자세한 내용은 스크립트 파일 만들기를 참조 하세요.

Command

connect-source-database

  • 원본 데이터베이스에 대한 연결을 수행하고 원본 데이터베이스의 상위 수준 메타데이터를 로드하지만 모든 메타데이터는 로드하지 않습니다.

  • 원본에 연결할 수 없는 경우 오류가 발생하고 콘솔 애플리케이션이 더 이상의 실행을 중지합니다.

스크립트

서버 정의는 서버 연결 파일 또는 스크립트 파일의 서버 섹션에 있는 각 연결에 대해 정의된 이름 특성에서 검색됩니다.

구문 예제:

<connect-source-database  server="<server-unique-name>"/>

Command

force-load-source-database/force-load-target-database

  • 원본 메타데이터를 로드합니다.

  • 오프라인으로 마이그레이션 프로젝트를 작업하는 데 유용합니다.

  • 원본/대상에 대한 연결을 설정할 수 없는 경우 오류가 생성되고 콘솔 애플리케이션이 추가 실행을 중지합니다.

스크립트

명령줄 매개 변수로 1개 이상의 메타베이스 노드가 필요합니다.

구문 예제:

<force-load object-name="<object-name>"
  metabase="<source/target>"/>

또는

<force-load>
   <metabase-object object-name="<object-name>"/>
</force-load>

Command

reconnect-source-database

  • 원본 데이터베이스에 다시 연결하지만 connect-source-database 명령과 달리 메타데이터는 로드하지 않습니다.

  • 원본에 (재)연결할 수 없는 경우 오류가 발생하고 콘솔 애플리케이션이 더 이상의 실행을 중지합니다.

구문 예제:

<reconnect-source-database  server="<server-unique-name>"/>

Command

connect-target-database

  • 대상 SQL Server 데이터베이스에 연결하고 대상 데이터베이스의 상위 수준 메타데이터를 로드하지만 메타데이터는 완전히 로드하지 않습니다.

  • 대상에 연결할 수 없는 경우 오류가 발생하고 콘솔 애플리케이션이 더 이상 실행을 중지합니다.

스크립트

서버 정의는 서버 연결 파일 또는 스크립트 파일의 서버 섹션에 있는 각 연결에 대해 정의된 이름 특성에서 검색됩니다.

구문 예제:

<connect-target-database  server="<server-unique-name>"/>

Command

reconnect-target-database

  • 대상 데이터베이스에 다시 연결하지만 connect-target-database 명령과 달리 메타데이터는 로드하지 않습니다.

  • 대상에 대한 연결을 설정할 수 없는 경우 오류가 생성되고 콘솔 애플리케이션이 추가 실행을 중지합니다.

구문 예제:

<reconnect-target-database  server="<server-unique-name>"/>

보고서 스크립트 파일 명령

보고서 명령은 다양한 SSMA 콘솔 활동의 성능에 대한 보고서를 생성합니다.

Command

generate-assessment-report

  • 원본 데이터베이스에 대한 평가 보고서를 생성합니다.

  • 이 명령을 실행하기 전에 원본 데이터베이스 연결이 수행되지 않으면 오류가 생성되고 콘솔 애플리케이션이 종료됩니다.

  • 명령 실행 중에 원본 데이터베이스 서버에 연결하지 못하면 콘솔 애플리케이션도 종료됩니다.

스크립트

  • conversion-report-folder: 평가 보고서를 저장할 수 있는 폴더를 지정합니다. (선택 사항 특성)

  • object-name: 평가 보고서 생성에 고려되는 개체를 지정합니다(개별 개체 이름 또는 그룹 개체 이름을 가질 수 있음).

  • object-type: 는 개체 이름 특성에 지정된 개체의 형식을 지정합니다(개체 범주를 지정한 경우 개체 형식은 category).

  • conversion-report-overwrite: 이미 있는 경우 평가 보고서 폴더를 덮어쓸지 여부를 지정합니다.

    기본값: false (선택 사항 특성)

  • write-summary-report-to: 요약 보고서가 생성되는 경로를 지정합니다.

    폴더 경로만 언급된 경우 AssessmentReport<n>.XML이라는 이름의 파일이 생성됩니다. (선택 사항 특성)

    보고서 만들기에는 다음 두 가지 하위 범주가 있습니다.

    • report-errorstrue 또는 false기본값(선택적 특성)을 false 사용합니다.
    • verbosetrue 또는 false기본값(선택적 특성)을 false 사용합니다.

구문 예제:

<generate-assessment-report
   object-name="<object-name>"
   object-type="<object-category>"
   write-summary-report-to="<file>"   (optional)
   verbose="<true/false>"   (optional)
   report-errors="<true/false>"   (optional)
   assessment-report-folder="<folder-name>"   (optional)
   conversion-report-overwrite="<true/false>"   (optional)
/>

또는

<generate-assessment-report
   conversion-report-folder="<folder-name>"   (optional)
   conversion-report-overwrite="<true/false>"   (optional)
>
      <metabase-object object-name="<object-name>"
         object-type="<object-category>"/>
</generate-assessment-report>

마이그레이션 스크립트 파일 명령

마이그레이션 명령은 대상 데이터베이스 스키마를 원본 스키마로 변환하고 데이터를 대상 서버로 마이그레이션합니다. 마이그레이션 명령의 기본 콘솔 출력 설정은 자세한 오류 보고가 없는 '전체' 출력 보고서이며, 원본 개체 트리 루트 노드에서 요약만 출력합니다.

Command

convert-schema

  • 원본에서 대상 스키마로 스키마 변환을 수행합니다.

  • 이 명령을 실행하기 전에 원본 또는 대상 데이터베이스 연결을 수행하지 않았거나 명령 실행 중에 원본 또는 대상 데이터베이스 서버에 대한 연결이 실패하면 오류가 발생하고 콘솔 애플리케이션이 종료됩니다.

스크립트

  • conversion-report-folder: 평가 보고서를 저장할 수 있는 폴더를 지정합니다. (선택 사항 특성)

  • object-name: 스키마를 변환하는 데 고려되는 원본 개체를 지정합니다(개별 개체 이름 또는 그룹 개체 이름을 포함할 수 있습니다).

  • object-type: 는 개체 이름 특성에 지정된 개체의 형식을 지정합니다(개체 범주를 지정한 경우 개체 형식은 category).

  • conversion-report-overwrite: 이미 있는 경우 평가 보고서 폴더를 덮어쓸지 여부를 지정합니다.

    기본값: false (선택 사항 특성)

  • write-summary-report-to: 요약 보고서가 생성되는 경로를 지정합니다.

    폴더 경로만 언급되면 SchemaConversionReport<n>.XML이라는 이름의 파일이 생성됩니다. (선택 사항 특성)

    보고서 만들기에는 다음 두 가지 하위 범주가 있습니다.

    • report-errorstrue 또는 false기본값(선택적 특성)을 false 사용합니다.

    • verbosetrue 또는 false기본값(선택적 특성)을 false 사용합니다.

구문 예제:

<convert-schema
   object-name="<object-name>"
   object-type="<object-category>"
   write-summary-report-to="<file-name/folder-name>"   (optional)
   verbose="<true/false>"   (optional)
   report-errors="<true/false>"   (optional)
   conversion-report-folder="<folder-name>"   (optional)
   conversion-report-overwrite="<true/false>"   (optional)
/>

또는

<convert-schema
   conversion-report-folder="<folder-name>"   (optional)
   conversion-report-overwrite="<true/false>"   (optional)
      <metabase-object object-name="<object-name>"
         object-type="<object-category>"/>
</convert-schema>

Command

migrate-data: 원본 데이터를 대상으로 마이그레이션합니다.

스크립트

  • conversion-report-folder: 평가 보고서를 저장할 수 있는 폴더를 지정합니다. (선택 사항 특성)

  • object-name: 데이터 마이그레이션에 고려되는 원본 개체를 지정합니다(개별 개체 이름 또는 그룹 개체 이름을 포함할 수 있습니다).

  • object-type: 는 개체 이름 특성에 지정된 개체의 형식을 지정합니다(개체 범주를 지정한 경우 개체 형식은 category).

  • conversion-report-overwrite: 이미 있는 경우 평가 보고서 폴더를 덮어쓸지 여부를 지정합니다.

    기본값: false (선택 사항 특성)

  • write-summary-report-to: 요약 보고서가 생성되는 경로를 지정합니다.

    폴더 경로만 언급하면 이름으로 DataMigrationReport<n>.xml 파일이 만들어집니다. (선택 사항 특성)

    보고서 만들기에는 다음 두 가지 하위 범주가 있습니다.

    • report-errorstrue 또는 false기본값(선택적 특성)을 false 사용합니다.
    • verbosetrue 또는 false기본값(선택적 특성)을 false 사용합니다.

구문 예제:

<migrate-data
   write-summary-report-to="<file-name/folder-name>"
   report-errors="<true/false>"
   verbose="<true/false>">
      <metabase-object object-name="<object-name>"/>
      <metabase-object object-name="<object-name>"/>
      <metabase-object object-name="<object-name>"/>
      <data-migration-connection
         source-use-last-used="true"/source-server="<server-unique-name>"
         target-use-last-used="true"/target-server="<server-unique-name>"/>
</migrate-data>

또는

<migrate-data
   object-name="<object-name>"
   object-type="<object-category>"
   write-summary-report-to="<file-name/folder-name>"
   report-errors="<true/false>"
   verbose="<true/false>"/>

마이그레이션 준비 스크립트 파일 명령

마이그레이션 준비 명령은 원본 데이터베이스와 대상 데이터베이스 간의 스키마 매핑을 시작합니다.

Command

  • map-schema: 대상 스키마에 대한 원본 데이터베이스의 스키마 매핑입니다.

스크립트

  • source-schema: 마이그레이션하려는 원본 스키마를 지정합니다.
  • sql-server-schema: 마이그레이션할 대상 스키마를 지정합니다.

구문 예제:

<map-schema
   source-schema="<source-schema>"
   sql-server-schema="<target-schema>"/>

Command

map-schema: 대상 스키마에 대한 원본 데이터베이스의 스키마 매핑입니다.

스크립트

source-schema은(는) 마이그레이션할 원본 스키마를 지정합니다.

sql-server-schema은(는) 마이그레이션할 대상 스키마를 지정합니다.

구문 예제:

<map-schema
   source-schema="<source-schema>"
   sql-server-schema="<target-schema>"/>

관리 효율성 스크립트 파일 명령

관리 기능 명령은 대상 데이터베이스 개체를 원본 데이터베이스와 동기화하는 데 도움이 됩니다.

마이그레이션 명령의 기본 콘솔 출력 설정은 자세한 오류 보고가 없는 '전체' 출력 보고서이며, 원본 개체 트리 루트 노드에서 요약만 출력합니다.

Command

synchronize-target

  • 대상 개체를 대상 데이터베이스와 동기화합니다.

  • 원본 데이터베이스에 대해 이 명령을 실행하면 오류가 발생합니다.

  • 이 명령을 실행하기 전에 대상 데이터베이스 연결이 수행되지 않거나 명령 실행 중에 대상 데이터베이스 서버에 대한 연결이 실패하면 오류가 생성되고 콘솔 애플리케이션이 종료됩니다.

스크립트

  • object-name: 대상 데이터베이스와 동기화하는 데 고려되는 대상 개체를 지정합니다(개별 개체 이름 또는 그룹 개체 이름을 가질 수 있습니다).

  • object-type: 는 개체 이름 특성에 지정된 개체의 형식을 지정합니다(개체 범주를 지정한 경우 개체 형식은 category).

  • on-error: 동기화 오류를 경고 또는 오류로 지정할지 여부를 지정합니다. 오류가 발생할 때 사용 가능한 옵션:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: 동기화 작업의 오류 보고서 위치를 지정합니다(선택적 특성).

    폴더 경로만 지정되면 이름으로 TargetSynchronizationReport.xml 파일이 만들어집니다.

구문 예제:

<synchronize-target
   object-name="<object-name>"
   on-error="<report-total-as-warning/
               report-each-as-warning/
               fail-script>"   (optional)
   report-errors-to="<file-name/folder-name>"   (optional)
/>

또는

<synchronize-target
   object-name="<object-name>"
   object-type="<object-category>"/>

또는

<synchronize-target>
   <metabase-object object-name="<object-name>"/>
   <metabase-object object-name="<object-name>"/>
   <metabase-object object-name="<object-name>"/>
</synchronize-target>

Command

refresh-from-database

  • 데이터베이스에서 원본 개체를 새로 고칩니다.

  • 대상 데이터베이스에 대해 이 명령을 실행하면 오류가 생성됩니다.

스크립트

명령줄 매개 변수로 1개 이상의 메타베이스 노드가 필요합니다.

  • object-name: 원본 데이터베이스에서 새로 고치는 것으로 간주되는 원본 개체를 지정합니다(개별 개체 이름 또는 그룹 개체 이름을 가질 수 있습니다).

  • object-type: 개체 이름 특성에 지정된 개체의 형식을 지정합니다(개체 범주가 지정된 경우 개체 형식은 category).

  • on-error: 새로 고침 오류를 경고 또는 오류로 지정할지 여부를 지정합니다. 오류가 발생할 때 사용 가능한 옵션:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: 폴더 경로만 지정된 경우 새로 고침 작업(선택적 특성)에 대한 오류 보고서의 위치를 지정한 다음 이름으로 SourceDBRefreshReport.xml 파일을 만듭니다.

구문 예제:

<refresh-from-database
   object-name="<object-name>"
   on-error="<report-total-as-warning/
               report-each-as-warning/
               fail-script>"   (optional)
   report-errors-to="<file-name/folder-name>"   (optional)
/>

또는

<refresh-from-database
   object-name="<object-name>"
   object-type="<object-category>"/>

또는

<refresh-from-database>
   <metabase-object object-name="<object-name>"/>
</refresh-from-database>

스크립트 생성 스크립트 파일 명령

스크립트 생성 명령은 이중 작업을 수행합니다. 스크립트 파일에 콘솔 출력을 저장하는 데 도움이 됩니다. 지정한 매개 변수를 기반으로 T-SQL 출력을 콘솔 또는 파일에 기록합니다.

Command

save-as-script: 개체의 스크립트를 언급된 파일에 metabase=target저장합니다. 이는 스크립트를 가져와서 대상 데이터베이스에서 동일하게 실행하는 동기화 명령의 대안입니다.

스크립트

명령줄 매개 변수로 1개 이상의 메타베이스 노드가 필요합니다.

  • object-name: 스크립트를 저장할 개체를 지정합니다. (개별 개체 이름 또는 그룹 개체 이름을 가질 수 있습니다.)

  • object-type: 는 개체 이름 특성에 지정된 개체의 형식을 지정합니다(개체 범주를 지정한 경우 개체 형식은 category).

  • metabase: 원본 또는 대상 메타베이스인지 여부를 지정합니다.

  • destination: 파일 이름이 지정되지 않은 경우 스크립트를 저장해야 하는 경로 또는 폴더를 지정합니다(object_name 특성 값).

  • overwrite: 이면 true 동일한 파일 이름이 있으면 덮어씁니다. 값(true/false)을 가질 수 있습니다.

구문 예제:

<save-as-script
   metabase="<source/target>"
   object-name="<object-name>"
   object-type="<object-category>"
   destination="<file/folder>"
   overwrite="<true/false>"   (optional)
/>

또는

<save-as-script
   metabase="<source/target>"
   destination="<file/folder>"
      <metabase-object object-name="<object-name>"
         object-type="<object-category>"/>
</save-as-script>

Command

convert-sql-statement

  • context 는 스키마 이름을 지정합니다.

  • destination 는 출력을 파일에 저장할지 여부를 지정합니다.

    이 특성을 지정하지 않으면 변환된 T-SQL 문이 콘솔에 표시됩니다. (선택 사항 특성)

  • conversion-report-folder 는 평가 보고서를 저장할 수 있는 폴더를 지정합니다. (선택 사항 특성)

  • conversion-report-overwrite 는 이미 있는 경우 평가 보고서 폴더를 덮어쓸지 여부를 지정합니다.

    기본값: false (선택 사항 특성)

  • write-converted-sql-to 는 변환된 T-SQL을 저장할 파일(또는) 폴더 경로를 지정합니다. 폴더 경로가 특성과 함께 sql-files 지정되면 각 원본 파일에는 지정된 폴더 아래에 생성된 해당 대상 T-SQL 파일이 있습니다. 특성과 함께 sql 폴더 경로를 지정하면 변환된 T-SQL이 지정된 폴더 아래에 있는 파일에 Result.out 기록됩니다.

  • sql 변환할 Db2 SQL 문을 지정합니다. 하나 이상의 문을 ";"를 사용하여 구분할 수 있습니다.

  • sql-files 는 T-SQL 코드로 변환해야 하는 SQL 파일의 경로를 지정합니다.

  • write-summary-report-to 는 보고서가 생성되는 경로를 지정합니다. 폴더 경로만 언급하면 이름으로 ConvertSQLReport.xml 파일이 만들어집니다. (선택 사항 특성)

    보고서 만들기에는 다음 두 가지 하위 범주가 있습니다.

    • report-errors: true 또는 false기본값으로 false (선택적 특성)
    • verbose: true 또는 false기본값으로 false (선택적 특성)

스크립트

명령줄 매개 변수로 1개 이상의 메타베이스 노드가 필요합니다.

구문 예제:

<convert-sql-statement
   context="<schema-name>"
   conversion-report-folder="<folder-name>"
   conversion-report-overwrite="<true/false>"
   write-summary-report-to="<file-name/folder-name>"   (optional)
   verbose="<true/false>"   (optional)
   report-errors="<true/false>"   (optional)
   destination="<stdout/file>"   (optional)
   file-name="<file-name>"
   sql="SELECT 1 FROM DUAL;">
   <output-window suppress-messages="<true/false>" />
</convert-sql-statement>

또는

<convert-sql-statement
   context="<schema-name>"
   conversion-report-folder="<folder-name>"
   conversion-report-overwrite="<true/false>"
   write-summary-report-to="<file-name/folder-name>" (optional)
   verbose="<true/false>" (optional)
   report-errors="<true/false>"
   destination="<stdout/file>"   (optional)
   write-converted-sql-to="<file-name/folder-name>"
   sql-files="<folder-name>\*.sql" />

또는

<convert-sql-statement
   context="<schema-name>"
   conversion-report-folder="<folder-name>"
   conversion-report-overwrite="<true/false>"
   sql-files="<folder-name>\*.sql" />