SSMA 콘솔 실행(AccessToSQL)
Microsoft는 강력한 스크립트 파일 명령 및 명령줄 옵션 세트를 제공하여 SSMA(SQL Server Migration Assistant) 활동을 실행하고 제어할 수 있도록 합니다. 이어지는 섹션에서 이 내용을 자세히 설명합니다.
프로젝트 스크립트 파일 명령
프로젝트 명령은 프로젝트 만들기, 프로젝트 열기, 저장 및 종료를 처리합니다.
create-new-project
새 SSMA 프로젝트를 만듭니다.
attribute | 기본값 | 설명 | Type |
---|---|---|---|
project-folder |
None | 생성되는 프로젝트의 폴더를 나타냅니다. | 문자열 |
project-name |
None | 프로젝트 이름을 나타냅니다. | 문자열 |
overwrite-if-exists |
false |
기존 프로젝트를 덮어쓸지 여부를 지정하는 선택 사항 특성입니다. | Boolean |
project-type |
sql-server-2008 |
선택적 특성입니다. project-type 에 사용할 수 있는 옵션:sql-server-2005 sql-server-2008 sql-server-2012 sql-server-2014 sql-server-2016 sql-azure |
문자열 |
구문 예시
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true | false>"
project-type="<project-type>"
/>
open-project
기존 프로젝트를 엽니다.
attribute | 기본값 | 설명 | Type |
---|---|---|---|
project-folder |
None | 생성되는 프로젝트의 폴더를 나타냅니다. 지정된 폴더가 없으면 명령이 실패합니다. | 문자열 |
project-name |
None | 프로젝트 이름을 나타냅니다. 지정된 프로젝트가 없으면 명령이 실패합니다. | 문자열 |
구문 예시
<open-project
project-folder="<project-folder>"
project-name="<project-name>"
/>
참고 항목
액세스 콘솔용 SSMA 애플리케이션은 이전 버전과의 호환성을 지원합니다. 이전 버전의 SSMA에서 만든 프로젝트를 열 수 있습니다.
save-project
마이그레이션 프로젝트를 저장합니다.
구문 예시
<save-project/>
close-project
마이그레이션 프로젝트를 닫습니다.
attribute | 기본값 | 설명 | Type |
---|---|---|---|
if-modified |
ignore |
동작을 지정하는 선택 사항 특성입니다. 가능한 값은 save , error 및 ignore 입니다. |
문자열 |
구문 예시
<close-project
if-modified="<save/error/ignore>" (optional)
/>
특성 'if-modified'는 선택 사항이며, 기본적으로 무시입니다.
데이터베이스 연결 스크립트 파일 명령
데이터베이스 연결 명령은 데이터베이스에 연결하는 데 도움이 됩니다.
UI의 찾아보기 기능은 콘솔에서 지원되지 않습니다.
windows-authentication 및 포트 매개 변수는 SQL Azure에 연결하는 경우에는 적용되지 않습니다.
자세한 내용은 스크립트 파일 만들기(AccessToSQL)를 참조하세요.
connect-source-database
원본 데이터베이스에 대한 연결을 수행하고 원본 데이터베이스의 상위 수준 메타데이터를 로드하지만 모든 메타데이터는 로드하지 않습니다.
원본에 연결할 수 없는 경우 오류가 발생하고 콘솔 애플리케이션이 더 이상의 실행을 중지합니다.
server
정의는 서버 연결 파일 또는 스크립트 파일의 server
섹션에 있는 각 연결에 대해 정의된 이름 특성에서 검색됩니다.
구문 예시
<connect-source-database server="<server-unique-name>"/>
load-access-database
액세스 데이터베이스 파일을 로드하는 데 사용됩니다.
attribute | 기본값 | 설명 | Type |
---|---|---|---|
database-file |
None | 액세스 데이터베이스의 경로를 지정합니다. | 문자열 |
구문 예시
<load-access-database database-file="<Access-database>"/>
-또는-
<load-access-database>
<access-database database-file="<Access-database1>"/>
<access-database database-file="<Access-database2>"/>
</load-access-database>
force-load
원본 또는 대상 데이터베이스
원본 메타데이터를 로드합니다. 오프라인으로 마이그레이션 프로젝트를 작업하는 데 유용합니다.
원본 또는 대상에 연결할 수 없는 경우 오류가 발생하고 콘솔 애플리케이션이 더 이상의 실행을 중지합니다.
명령줄 매개 변수로 1개 이상의 metabase
노드가 필요합니다.
attribute | 기본값 | 설명 | Type |
---|---|---|---|
object-name |
None | 개체의 이름을 지정합니다. | 문자열 |
metabase |
None | 액세스 데이터베이스의 경로를 지정합니다. 가능한 값은 source 또는 target 입니다. |
문자열 |
구문 예시
<force-load
object-name="<object-name>"
metabase="<source/target>"/>
-또는-
<force-load>
<metabase-object object-name="<object-name>"/>
</force-load>
reconnect-source-database
원본 데이터베이스에 다시 연결하지만 connect-source-database 명령과 달리 메타데이터는 로드하지 않습니다.
원본에 (재)연결할 수 없는 경우 오류가 발생하고 콘솔 애플리케이션이 더 이상의 실행을 중지합니다.
server
정의는 서버 연결 파일 또는 스크립트 파일의 server
섹션에 있는 각 연결에 대해 정의된 이름 특성에서 검색됩니다.
구문 예시
<reconnect-source-database server="<server-unique-name>"/>
connect-target-database
대상 SQL Server 또는 SQL Azure Database에 연결하고 대상 데이터베이스의 상위 수준 메타데이터를 로드하지만 메타데이터는 완전히 로드하지 않습니다.
대상에 연결할 수 없는 경우 오류가 발생하고 콘솔 애플리케이션이 더 이상 실행을 중지합니다.
server
정의는 서버 연결 파일 또는 스크립트 파일의 server
섹션에 있는 각 연결에 대해 정의된 이름 특성에서 검색됩니다.
구문 예시
<connect-target-database server="<server-unique-name>"/>
reconnect-target-database
대상 데이터베이스에 다시 연결하지만 connect-target-database 명령과 달리 메타데이터는 로드하지 않습니다.
대상에 대한 연결을 설정할 수 없는 경우 오류가 생성되고 콘솔 애플리케이션이 추가 실행을 중지합니다.
server
정의는 서버 연결 파일 또는 스크립트 파일의 server
섹션에 있는 각 연결에 대해 정의된 이름 특성에서 검색됩니다.
구문 예시
<reconnect-target-database server="<server-unique-name>"/>
보고서 스크립트 파일 명령
보고서 명령은 다양한 SSMA 콘솔 활동의 성능에 대한 보고서를 생성합니다.
generate-assessment-report
원본 데이터베이스에 대한 평가 보고서를 생성합니다.
이 명령을 실행하기 전에 원본 데이터베이스 연결이 수행되지 않으면 오류가 생성되고 콘솔 애플리케이션이 종료됩니다.
명령 실행 중에 원본 데이터베이스 서버에 연결하지 못하면 콘솔 애플리케이션도 종료됩니다.
스크립트
assessment-report-folder
: 평가 보고서를 저장할 수 있는 폴더를 지정합니다(선택 사항 특성).object-name
: 평가 보고서 생성에 고려되는 개체를 지정합니다(개별 개체 이름 또는 그룹 개체 이름을 가질 수 있음).object-type
: 개체 이름 특성에 지정된 개체의 형식을 지정합니다(개체 범주를 지정하면 개체 형식은 "범주"가 됨).assessment-report-overwrite
: 이미 있는 경우 평가 보고서 폴더를 덮어쓸지 여부를 지정합니다.기본값: false (선택 사항 특성)
write-summary-report-to
: 보고서가 생성될 경로를 지정합니다.폴더 경로만 언급된 경우 AssessmentReport<n>.XML이라는 이름의 파일이 생성됩니다. (선택 사항 특성)
보고서 만들기에는 다음 두 가지 하위 범주가 있습니다.
report-errors
(="true/false", 기본값은 "false"(선택 사항 특성))verbose
(="true/false", 기본값은 "false"(선택 사항 특성))
구문 예시
<generate-assessment-report
object-name="ssma.Procedures"
object-type="category"
write-summary-report-to="<file>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
-또는-
<generate-assessment-report
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="ssma.Procedures"
object-type="category"/>
</generate-assessment-report>
마이그레이션 스크립트 파일 명령
마이그레이션 명령은 대상 데이터베이스 스키마를 원본 스키마로 변환하고 데이터를 대상 서버로 마이그레이션합니다.
마이그레이션 명령의 기본 콘솔 출력 설정은 자세한 오류 보고가 없는 '전체' 출력 보고서이며, 원본 개체 트리 루트 노드에서 요약만 출력합니다.
convert-schema
원본에서 대상 스키마로 스키마 변환을 수행합니다.
이 명령을 실행하기 전에 원본 또는 대상 데이터베이스 연결을 수행하지 않았거나 명령 실행 중에 원본 또는 대상 데이터베이스 서버에 대한 연결이 실패하면 오류가 발생하고 콘솔 애플리케이션이 종료됩니다.
스크립트
conversion-report-folder
: 평가 보고서를 저장할 수 있는 폴더를 지정합니다(선택 사항 특성).object-name
: 스키마 변환에 고려되는 원본 개체를 지정합니다(개별 개체 이름 또는 그룹 개체 이름을 가질 수 있음).object-type
: 개체 이름 특성에 지정된 개체의 형식을 지정합니다(개체 범주를 지정하면 개체 형식은 "범주"가 됨).conversion-report-overwrite
: 이미 있는 경우 평가 보고서 폴더를 덮어쓸지 여부를 지정합니다.기본값: false (선택 사항 특성)
write-summary-report-to
: 보고서가 생성될 경로를 지정합니다.폴더 경로만 언급되면 SchemaConversionReport<n>.XML이라는 이름의 파일이 생성됩니다. (선택 사항 특성)
보고서 만들기에는 다음 두 가지 하위 범주가 있습니다.
report-errors
(="true/false", 기본값은 "false"(선택 사항 특성))verbose
(="true/false", 기본값은 "false"(선택 사항 특성))
구문 예시
<convert-schema
object-name="ssma.Procedures"
object-type="category"
write-summary-report-to="<filepath/folder>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
-또는-
<convert-schema
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="ssma.Procedures"
object-type="category"/>
</convert-schema>
migrate-data
원본 데이터를 대상으로 마이그레이션합니다.
스크립트
object-name
: 데이터 마이그레이션에 고려되는 원본 개체를 지정합니다(개별 개체 이름 또는 그룹 개체 이름을 포함할 수 있음).object-type
: 개체 이름 특성에 지정된 개체의 형식을 지정합니다(개체 범주를 지정하면 개체 형식은 "범주"가 됨).write-summary-report-to
: 보고서가 생성될 경로를 지정합니다.폴더 경로만 언급된 경우 DataMigrationReport<n>.XML이라는 이름의 파일이 생성됩니다. (선택 사항 특성)
보고서 만들기에는 다음 두 가지 하위 범주가 있습니다.
report-errors
(="true/false", 기본값은 "false"(선택 사항 특성))verbose
(="true/false", 기본값은 "false"(선택 사항 특성))
구문 예시
<migrate-data
write-summary-report-to="<filepath/folder>"
report-errors="true" verbose="true">
<metabase-object object-name="ssma.TT1"/>
<metabase-object object-name="ssma.TT2"/>
<metabase-object object-name="ssma.TT3"/>
<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="ssma.Tables"
object-type="category"
write-summary-report-to="<filepath/folder>"
report-errors="true" verbose="true"/>
link-tables
이 명령은 원본(액세스) 테이블을 대상 테이블에 연결합니다.
스크립트
구문 예시
<link-tables>
<metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
<metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</link-tables>
-또는-
<link-tables>
<metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</link-tables>
unlink-tables
이 명령은 대상 테이블에서 원본(액세스) 테이블의 연결을 해제합니다.
스크립트
구문 예시:
<unlink-tables>
<metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
<metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</unlink-tables>
-또는-
<unlink-tables>
<metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</unlink-tables>
마이그레이션 준비 스크립트 파일 명령
마이그레이션 준비 명령은 원본 데이터베이스와 대상 데이터베이스 간의 스키마 매핑을 시작합니다.
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="ots_triggers.dbo"
on-error="<report-total-as-warning|
report-each-as-warning|
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
-또는-
<synchronize-target
object-name="ssma.dbo.Procedures"
object-type="category"/>
-또는-
<synchronize-target>
<metabase-object object-name="ssma.dbo.TT1"/>
<metabase-object object-name="ssma.dbo.TT2"/>
<metabase-object object-name="ssma.dbo.TT3"/>
</synchronize-target>
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="ssma.TT1"
on-error="<report-total-as-warning|
report-each-as-warning|
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
-또는-
<refresh-from-database
object-name="ssma.Procedures"
object-type="category"/>
-또는-
<refresh-from-database>
<metabase-object object-name="ssma.TT_1"/>
</refresh-from-database>
스크립트 생성 스크립트 파일 명령
스크립트 생성 명령은 스크립트 파일에 콘솔 출력을 저장하는 데 도움이 됩니다.
save-as-script
metabase=target일 때 언급된 파일에 개체의 스크립트를 저장하는 데 사용되며, 스크립트를 가져와 대상 데이터베이스에서 동일한 스크립트를 실행하는 동기화 명령의 대안입니다.
스크립트
명령줄 매개 변수로 1개 이상의 메타베이스 노드가 필요합니다.
object-name
: 스크립트를 저장할 개체를 지정합니다. (개별 개체 이름 또는 그룹 개체 이름을 포함할 수 있음).object-type
:object-name
특성에 지정된 개체의 유형을 지정합니다. 개체 범주가 지정되면 개체 유형은category
입니다.metabase
: 원본 또는 대상 메타베이스인지 여부를 지정합니다.destination
: 스크립트를 저장해야 하는 경로 또는 폴더를 지정합니다. 파일 이름이 지정되지 않은 경우 (object_name attribute value
) 형식의 파일 이름입니다.overwrite
true
: 동일한 파일 이름이 있으면 덮어씁니다. 값(true
/false
)을 가질 수 있습니다.
구문 예시
<save-as-script
metabase="<source/target>"
object-name="ssma.dbo.Procedures"
object-type="category"
destination="<file/folder>"
overwrite="<true/false>" (optional)
/>
-또는-
<save-as-script
metabase="<source/target>"
destination="<file/folder>"
>
<metabase-object object-name="ssma.dbo.Procedures"
object-type="category"/>
</save-as-script>