SSMA 콘솔 실행(SybaseToSQL)
Microsoft는 SSMA 활동을 실행하고 제어하는 강력한 스크립트 파일 명령 집합을 제공합니다. 이어지는 섹션은 동일하게 자세히 설명합니다.
스크립트 파일 명령
콘솔 애플리케이션은 이 섹션에 열거된 특정 표준 스크립트 파일 명령을 사용합니다.
프로젝트 명령
프로젝트 명령은 프로젝트 만들기, 프로젝트 열기, 저장 및 종료를 처리합니다.
create-new-project
이 명령은 새 SSMA 프로젝트를 만듭니다.
project-folder
는 생성되는 프로젝트의 폴더를 나타냅니다.project-name
는 프로젝트의 이름을 나타냅니다. {string}overwrite-if-exists
선택적 특성은 기존 프로젝트를 덮어쓸지 여부를 나타냅니다. {boolean}project-type:
선택적 특성입니다. "sql-server-2005" 프로젝트 또는 "sql-server-2008" 프로젝트 또는 "sql-server-2012" 프로젝트 또는 "sql-server-2014" 프로젝트 또는 "sql-azure" 프로젝트인 프로젝트 유형을 나타냅니다. 기본값은 "sql-server-2008"입니다.
구문 예제:
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true/false>" (optional)
project-type="<sql-server-2008/sql-server-2005/sql-server-2012/sql-server-2014/sql-azure>"
/>
특성 'overwrite-if-exists'는 기본적으로 false입니다.
특성 'project-type'은 기본적으로 sql-server-2008입니다.
open-project
이 명령은 프로젝트를 엽니다.
project-folder
는 생성되는 프로젝트의 폴더를 나타냅니다. 지정한 폴더가 없으면 명령이 실패합니다. {string}project-name
는 프로젝트의 이름을 나타냅니다. 지정된 프로젝트가 없으면 명령이 실패합니다. {string}
구문 예제:
<open-project
project-folder="<project-folder>"
project-name="<project-name>"
/>
참고 항목
SAP ASE 콘솔 애플리케이션용 SSMA는 이전 버전과의 호환성을 지원합니다. 이를 사용하여 이전 버전의 SSMA에서 만든 프로젝트를 열 수 있습니다.
save-project
이 명령은 마이그레이션 프로젝트를 저장합니다.
구문 예제:
<save-project/>
close-project
이 명령은 마이그레이션 프로젝트를 닫습니다.
구문 예제:
<close-project
if-modified="<save/error/ignore>" (optional)
/>
특성 'if-modified'는 선택 사항 이며 기본적으로 무시 합니다.
데이터베이스 연결 명령
데이터베이스 연결 명령은 데이터베이스에 연결하는 데 도움이 됩니다.
참고 항목
- UI의 찾아보기 기능은 콘솔에서 지원되지 않습니다.
- '스크립트 파일 만들기'에 대한 자세한 내용은 스크립트 파일 만들기(SybaseToSQL)를 참조하세요.
connect-source-database
이 명령은 원본 데이터베이스에 대한 연결을 수행하고 원본 데이터베이스의 상위 수준 메타데이터를 로드하지만 모든 메타데이터는 로드하지 않습니다.
원본에 대한 연결을 설정할 수 없는 경우 오류가 생성되고 콘솔 애플리케이션이 추가 실행을 중지합니다.
서버 정의는 서버 연결 파일 또는 스크립트 파일의 서버 섹션에 있는 각 연결에 대해 정의된 이름 특성에서 검색됩니다.
구문 예제:
<connect-source-database server="<server-unique-name>"/>
force-load-source/target-database
이 명령은 원본 메타데이터를 로드하며 마이그레이션 프로젝트를 오프라인으로 작업하는 데 유용합니다.
원본/대상에 대한 연결을 설정할 수 없는 경우 오류가 생성되고 콘솔 애플리케이션이 추가 실행을 중지합니다.
이 명령을 사용하려면 명령줄 매개 변수로 하나 이상의 메타베이스 노드가 필요합니다.
구문 예제:
<force-load metabase="<source/target>" >
<metabase-object object-name="<object-name>"/>
</force-load>
reconnect-source-database
이 명령은 원본 데이터베이스에 다시 연결하지만 connect-source-database 명령과 달리 메타데이터를 로드하지는 않습니다.
원본과의 연결을 설정할 수 없는 경우 오류가 생성되고 콘솔 애플리케이션이 추가 실행을 중지합니다.
구문 예제:
<reconnect-source-database server="<server-unique-name>"/>
connect-target-database
이 명령은 대상 SQL Server 데이터베이스에 연결하고 대상 데이터베이스의 상위 수준 메타데이터를 로드하지만 메타데이터는 완전히 로드하지 않습니다.
대상에 대한 연결을 설정할 수 없는 경우 오류가 생성되고 콘솔 애플리케이션이 추가 실행을 중지합니다.
서버 정의는 서버 연결 파일 또는 스크립트 파일의 서버 섹션에 있는 각 연결에 대해 정의된 이름 특성에서 검색됩니다.
구문 예제:
<connect-target-database server="<server-unique-name>"/>
reconnect-target-database
이 명령은 대상 데이터베이스에 다시 연결하지만 connect-target-database 명령과 달리 메타데이터를 로드하지는 않습니다.
대상에 대한 연결을 설정할 수 없는 경우 오류가 생성되고 콘솔 애플리케이션이 추가 실행을 중지합니다.
구문 예제:
<reconnect-target-database server="<server-unique-name>"/>
보고서 명령
보고서 명령은 다양한 SSMA 콘솔 활동의 성능에 대한 보고서를 생성합니다.
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-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
assessment-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
or
<generate-assessment-report
assessment-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</generate-assessment-report>
마이그레이션 명령
마이그레이션 명령은 대상 데이터베이스 스키마를 원본 스키마로 변환하고 데이터를 대상 서버로 마이그레이션합니다.
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)
/>
or
<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>
migrate-data
이 명령은 원본 데이터를 대상으로 마이그레이션합니다.
object-name:
데이터 마이그레이션에 고려되는 원본 개체를 지정합니다(개별 개체 이름 또는 그룹 개체 이름 지원).object-type:
는 개체 이름 특성에서 호출된 개체의 형식을 지정합니다(개체 범주를 지정하면 개체 형식은 "category"가 됩니다).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>
or
<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>"/>
마이그레이션 준비 명령
마이그레이션 준비 명령은 원본 데이터베이스와 대상 데이터베이스 간의 스키마 매핑을 시작합니다.
참고 항목
마이그레이션 명령에 대한 기본 콘솔 출력 설정은 자세한 오류 보고가 없는 '전체' 출력 보고서입니다. 원본 개체 트리 루트 노드에서만 요약됩니다.
map-schema
이 명령은 원본 데이터베이스의 스키마 매핑을 대상 스키마에 제공합니다.
source-schema
마이그레이션할 원본 스키마를 지정합니다.sql-server-schema
원본 스키마를 마이그레이션할 대상 스키마를 지정합니다.
구문 예제:
<map-schema source-schema="<source-schema>"
sql-server-schema="<target-schema>"/>
관리 효율성 명령
관리 효율성 명령은 대상 데이터베이스 개체를 원본 데이터베이스와 동기화하는 데 도움이 됩니다.
참고 항목
마이그레이션 명령에 대한 기본 콘솔 출력 설정은 자세한 오류 보고가 없는 '전체' 출력 보고서입니다. 원본 개체 트리 루트 노드에서만 요약됩니다.
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)
/>
or
<synchronize-target
object-name="<object-name>"
object-type="<object-category>"/>
or
<synchronize-target>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
</synchronize-target>
데이터베이스에서 새로 고침
이 명령은 데이터베이스에서 원본 개체를 새로 고칩니다.
대상 데이터베이스에 대해 이 명령을 실행하면 오류가 생성됩니다.
이 명령을 사용하려면 명령줄 매개 변수로 하나 이상의 메타베이스 노드가 필요합니다.
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)
/>
or
<refresh-from-database
object-name="<object-name>"
object-type="<object-category>" />
or
<refresh-from-database>
<metabase-object object-name="<object-name>"/>
</refresh-from-database>
스크립트 생성 명령
스크립트 생성 명령은 이중 작업을 수행합니다. 콘솔 출력을 스크립트 파일에 저장하고 지정한 매개 변수를 기반으로 T-SQL 출력을 콘솔 또는 파일에 기록합니다.
스크립트로 저장
이 명령은 metabase=target 때 언급된 파일에 개체의 스크립트를 저장하는 데 사용됩니다. 이는 스크립트를 가져와서 대상 데이터베이스에서 동일하게 실행한다는 측면에서 동기화 명령의 대안입니다.
이 명령을 사용하려면 명령줄 매개 변수로 하나 이상의 메타베이스 노드가 필요합니다.
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-name/folder-name>"
overwrite="<true/false>" (optional)
/>
or
<save-as-script
metabase="<source/target>"
destination="<file-name/folder-name>"
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</save-as-script>
convert-sql-statement
이 명령은 SQL 문을 변환합니다.
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
변환할 Sybase sql 문을 지정합니다. 하나 이상의 문을 ";"를 사용하여 구분할 수 있습니다.sql-files
는 T-SQL 코드로 변환해야 하는 sql 파일의 경로를 지정합니다.write-summary-report-to
는 요약 보고서가 생성될 경로를 지정합니다. 폴더 경로만 언급된 경우 이름 별 파일 ConvertSQLReport.XML 이 만들어집니다. (선택적 특성)요약 보고서 만들기에는 다음과 같은 두 가지 하위 범주가 있습니다.
보고서 오류(="true/false", 기본값은 "false"(선택적 특성))입니다.
verbose(="true/false", 기본값은 "false"(선택적 특성))
이 명령을 사용하려면 명령줄 매개 변수로 하나 이상의 메타베이스 노드가 필요합니다.
구문 예제:
<convert-sql-statement
context="<database-name>.<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)
write-converted-sql-to ="<file-name/folder-name>"
sql="SELECT 1 FROM DUAL;">
<output-window suppress-messages="<true/false>" />
</convert-sql-statement>
or
<convert-sql-statement
context="<database-name>.<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)
write-converted-sql-to ="<file-name/folder-name>"
sql-files="<folder-name>\*.sql"
/>
or
<convert-sql-statement
context="<database-name>.<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
sql-files="<folder-name>\*.sql"
/>
다음 단계
명령줄 옵션에 대한 자세한 내용은 SSMA 콘솔(AccessToSQL)의 명령줄 옵션을 참조하세요.
샘플 콘솔 스크립트 파일에 대한 자세한 내용은 샘플 콘솔 스크립트 파일 작업(SybaseToSQL)을 참조 하세요.
다음 단계는 프로젝트 요구 사항에 따라 달라집니다.