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-exists
은 false
기본적으로 사용됩니다.
특성 project-type
은 sql-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-errors
true
또는false
기본값(선택적 특성)을false
사용합니다.verbose
true
또는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-errors
true
또는false
기본값(선택적 특성)을false
사용합니다.verbose
true
또는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-errors
true
또는false
기본값(선택적 특성)을false
사용합니다.verbose
true
또는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" />