다음을 통해 공유


스크립트 파일 만들기(AccessToSQL)

SSMA 콘솔 애플리케이션을 시작하기 전의 첫 번째 단계는 스크립트 파일을 만들고 필요한 경우 변수 값 파일과 서버 연결 파일을 만드는 것입니다.

스크립트 파일은 viz..,의 세 섹션으로 나눌 수 있습니다.

  1. 구성: 사용자가 콘솔 애플리케이션에 대한 구성 매개 변수를 설정할 수 있도록 합니다.

  2. servers: 사용자가 원본/대상 서버 정의를 설정할 수 있도록 합니다. 별도의 서버 연결 파일에 있을 수도 있습니다.

  3. script-commands: 사용자가 SSMA 워크플로 명령을 실행할 수 있도록 합니다.

각 섹션은 아래에서 자세히 설명합니다.

Access 콘솔 설정 구성

스크립트의 구성은 콘솔 스크립트 파일에 표시됩니다.

구성 노드에 지정된 요소가 있으면 전역 설정으로 설정됩니다. 즉, 모든 스크립트 명령에 적용할 수 있습니다. 사용자가 전역 설정을 재정의하려는 경우 스크립트 명령 섹션의 각 명령 내에서 이러한 구성 요소를 설정할 수도 있습니다.

사용자가 구성할 수 있는 옵션은 다음과 같습니다.

  1. 출력 창 공급자: 메시지 표시 안 함 특성이 'true'로 설정된 경우 명령별 메시지가 콘솔에 표시되지 않습니다. 특성 설명은 다음과 같습니다.

    • 대상: 출력을 파일 또는 stdout에 인쇄해야 하는지 여부를 지정합니다. 이것은 기본적으로 false입니다.

    • file-name: 파일의 경로(선택 사항)입니다.

    • 메시지 표시 안 함: 콘솔에서 메시지를 표시하지 않습니다. 기본적으로 'false'입니다.

    예제:

    <output-providers>  
    
      <output-window  
    
        suppress-messages="<true/false>"   (optional)  
    
        destination="<file/stdout>"        (optional)  
    
        file-name="<file-name>"            (optional)  
    
       />  
    
    </output-providers>  
    

    or

    <...All commands...>  
    
      <output-window  
    
         suppress-messages="<true/false>"   (optional)  
    
         destination="<file/stdout>"        (optional)  
    
         file-name="<file-name>"            (optional)  
    
       />  
    
    </...All commands...>  
    
  2. 데이터 마이그레이션 연결 공급자: 데이터 마이그레이션에 고려할 원본/대상 서버를 지정합니다. 원본 사용 마지막 사용은 마지막으로 사용된 원본 서버가 데이터 마이그레이션에 사용됨을 나타냅니다. 마찬가지로 target-use-last-used는 마지막으로 사용한 대상 서버가 데이터 마이그레이션에 사용됨을 나타냅니다. 사용자는 특성 원본 서버 또는 대상 서버를 사용하여 서버(원본 또는 대상)를 지정할 수도 있습니다.

    지정된 특성 중 하나만 사용할 수 있습니다. 즉,

    • source-use-last-used="true"(기본값) 또는 source-server="source_servername"

    • target-use-last-used="true"(기본값) 또는 target-server="target_servername"

    예제:

    <output-providers>  
    
      <data-migration-connection   source-use-last-used="true"  
    
                                   target-server="target_1"/>  
    
    </output-providers>  
    

    or

    <migrate-data>  
    
      <data-migration-connection   source-server="source_1"  
    
                                   target-use-last-used="true"/>  
    
    </migrate-data>  
    
  3. 사용자 입력 팝업: 데이터베이스에서 개체를 로드할 때 오류를 처리할 수 있습니다. 사용자가 입력 모드를 제공하며 오류가 발생할 경우 사용자가 지정한 대로 콘솔이 진행됩니다.

    모드는 다음과 같습니다.

    • ask-user - 사용자에게 계속('예') 또는 오류('아니요')를 입력하라는 메시지를 표시합니다.

    • error - 콘솔에서 오류를 표시하고 실행을 중지합니다.

    • continue - 콘솔이 실행을 진행합니다.

    기본 모드는 오류입니다.

    예제:

    <output-providers>  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </output-providers>  
    

    or

    <!-- Connect to target database -->  
    
    <connect-target-database server="target_0">  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </connect-target-database>  
    
  4. 공급자 다시 연결: 연결 실패 시 사용자가 다시 연결 설정을 할 수 있습니다. 원본 서버와 대상 서버 모두에 대해 설정할 수 있습니다.

    다시 연결 모드는 다음과 같습니다.

    • reconnect-to-last-used-server: 연결이 활성화되지 않은 경우 최대 5번 사용된 마지막 서버에 다시 연결하려고 시도합니다.

    • generate-an-error: 연결이 활성화되지 않으면 오류가 생성됩니다.

    기본 모드는 오류 생성입니다.

    예제:

    <output-providers>  
    
     <reconnect-manager on-source-reconnect="<reconnect-to-last-used-server/generate-an-error>"  
    
                        on-target-reconnect="<reconnect-to-last-used-server/generate-an-error>"/>  
    
    </output-providers>  
    

    or

    <!--synchronization-->  
    
    <synchronize-target>  
    
      <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/>  
    
    </synchronize-target>  
    

    or

    <!--data migration-->  
    
    <migrate-data server="target_0">  
    
      <reconnect-manager  
    
        on-source-reconnect="reconnect-to-last-used-server"  
    
        on-target-reconnect="generate-an-error"/>  
    
    </migrate-data>  
    
  5. 변환기 덮어쓰기 공급자: 이를 통해 사용자는 대상 메타베이스에 이미 있는 개체를 처리할 수 있습니다. 가능한 작업은 다음과 같습니다.

    • 오류: 콘솔에서 오류를 표시하고 실행을 중지합니다.

    • 덮어쓰기: 기존 개체 값을 덮어씁니다. 이 작업은 기본적으로 수행됩니다.

    • skip: 콘솔에서 데이터베이스에 이미 있는 개체를 건너뜁니다.

    • ask-user: 사용자에게 입력을 요청합니다('예'/ '아니요').

    예제:

    <output-providers>  
    
      <object-overwrite action="<error|skip|overwrite|ask-user>"/>  
    
    </output-providers>  
    

    or

    <convert-schema object-name="ssma.TT1">  
    
      <object-overwrite action="<error|skip|overwrite|ask-user>"/>  
    
    </convert-schema>  
    
  6. 실패한 필수 구성 요소 공급자: 이를 통해 사용자는 명령을 처리하는 데 필요한 모든 필수 구성 요소를 처리할 수 있습니다. 기본적으로 strict 모드는 'false'입니다. 'true'로 설정된 경우 필수 구성 요소를 충족하지 못한 경우 예외가 생성됩니다.

    예제:

    <output-providers>  
    
      <prerequisites strict-mode="<true|false>"/>  
    
    </output-providers>  
    
  7. 작업 중지: 중간 작업 중에 사용자가 작업을 중지하려는 경우 'Ctrl+C' 바로 가기 키를 사용할 수 있습니다. 액세스 콘솔용 SSMA는 작업이 완료될 때까지 기다렸다가 콘솔 실행을 종료합니다.

    사용자가 즉시 실행을 중지하려는 경우 SSMA 콘솔 애플리케이션의 갑작스러운 종료를 위해 'Ctrl+C' 바로 가기 키를 다시 누를 수 있습니다.

  8. 진행률 공급자: 각 콘솔 명령의 진행률을 알려줍니다. 이 옵션은 기본적으로 사용하지 않도록 설정되어 있습니다. 진행률 보고 특성은 다음으로 구성됩니다.

    • off

    • 매 1%

    • 매 2%

    • 매 5%

    • 매 10%

    • 매 20%

    예제:

    <output-providers>  
    
     <progress-reporting enable="<true|false>"           (optional)  
    
                         report-messages="<true|false>"  (optional)  
    
                         report-progress="every-1%|every-2%|every-5%|every-10%|every-20%|off" (optional)/>  
    
    </output-providers>  
    

    or

    <...All commands...>  
    
      <progress-reporting  
    
        enable="<true|false>"              (optional)  
    
        report-messages="<true|false>"     (optional)  
    
        report-progress="every-1%|every-2%|every-5%|every-10%|every-20%|off"     (optional)/>  
    
    </...All commands...>  
    
  9. 로거 세부 정보 표시: 로그 세부 정보 표시 수준을 설정합니다. 이는 UI의 모든 범주 옵션에 해당합니다. 기본적으로 로그 세부 정보 표시 수준은 "error"입니다.

    로거 수준 옵션은 다음과 같습니다.

    • 심각한 오류: 치명적인 오류 메시지만 기록됩니다.

    • 오류: 오류 및 심각한 오류 메시지만 기록됩니다.

    • 경고: 디버그 및 정보 메시지를 제외한 모든 수준이 기록됩니다.

    • 정보: 디버그 메시지를 제외한 모든 수준이 기록됩니다.

    • debug: 기록된 모든 수준의 메시지입니다.

    참고 항목

    필수 메시지는 모든 수준에서 기록됩니다.

    예제:

    <output-providers>  
    
      <log-verbosity level="fatal-error/error/warning/info/debug"/>  
    
    </output-providers>  
    

    or

    <...All commands...>  
    
      <log-verbosity level="fatal-error/error/warning/info/debug"/>  
    
    </...All commands...>  
    
  10. 암호화된 암호 재정의: 'true'이면 서버 연결 파일의 서버 정의 섹션 또는 스크립트 파일에 지정된 텍스트 암호가 보호된 스토리지에 저장된 암호화된 암호(있는 경우)를 재정의합니다. 암호가 명확한 텍스트로 지정되지 않은 경우 사용자에게 암호를 입력하라는 메시지가 표시됩니다.

    여기서는 다음 두 가지 경우가 발생합니다.

    1. 재정의 옵션이 false이면 검색 순서가 보호된 스토리지 스크립트 파일->>서버 연결 파일-> 프롬프트 사용자가 됩니다.

    2. 재정의 옵션이 true면 검색 순서는 스크립트 파일 서버> 연결 파일 프>롬프트 사용자입니다.

    예제:

    <output-providers>  
    
      <encrypted-password override="<true/false>"/>  
    
    </output-providers>  
    

구성할 수 없는 옵션은 다음과 같습니다.

  • 최대 다시 연결 시도: 네트워크 오류로 인해 설정된 연결 시간이 초과되거나 중단되는 경우 서버를 다시 연결해야 합니다. 다시 연결 시도는 최대 5 번의 재시도를 허용하며, 그 후 콘솔은 자동으로 다시 연결을 수행합니다. 자동 다시 연결 기능을 사용하면 스크립트를 다시 실행하기 위한 노력이 줄어듭니다.

서버 연결 매개 변수

서버 연결 매개 변수는 스크립트 파일 또는 서버 연결 파일에서 정의할 수 있습니다. 자세한 내용은 서버 연결 파일 만들기(AccessToSQL) 섹션을 참조하세요.

스크립트 명령

스크립트 파일에는 XML 형식의 마이그레이션 워크플로 명령 시퀀스가 포함되어 있습니다. SSMA 콘솔 애플리케이션은 스크립트 파일에 나타나는 명령 순서대로 마이그레이션을 처리합니다.

예를 들어 Access 데이터베이스에서 특정 테이블의 일반적인 데이터 마이그레이션은 Database-> Table의 계층 구조를 따릅니다.

스크립트 파일의 모든 명령이 성공적으로 실행되면 SSMA 콘솔 애플리케이션이 종료되고 컨트롤이 사용자에게 반환됩니다. 스크립트 파일의 내용은 가변 값 파일 또는 변수 값에 대한 스크립트 파일 내의 별도 섹션에 포함된 변수 정보를 사용하여 정적입니다.

예제:

<!--Sample of script file commands -->  
  
<ssma-script-file>  
  
  <script-commands>  
  
    <create-new-project project-folder="$project_folder$"  
  
                        project-name="$project_name$"  
  
                        overwrite-if-exists="true"/>  
  
    <connect-source-database server="source_2"/>  
  
    <save-project/>  
  
    <close-project/>  
  
  </script-commands>  
  
</ssma-script-file>  

3개의 스크립트 파일(다양한 시나리오 실행용), 변수 값 파일 및 서버 연결 파일로 구성된 템플릿은 제품 디렉터리의 샘플 콘솔 스크립트 폴더에 제공됩니다.

  • AssessmentReportGenerationSample.xml

  • ConversionAndDataMigrationSample.xml

  • VariableValueFileSample.xml

  • ServersConnectionFileSample.xml

관련성을 위해 해당 파일에 표시된 매개 변수를 변경한 후 템플릿(파일)을 실행할 수 있습니다.

스크립트 명령의 전체 목록은 SSMA 콘솔 실행(AccessToSQL)에서 찾을 수 있습니다.

스크립트 파일 유효성 검사

사용자는 'Schemas' 폴더에서 사용할 수 있는 스키마 정의 파일 'A2SSConsoleScriptSchema.xsd'에 대해 스크립트 파일의 유효성을 쉽게 검사할 수 있습니다.

다음 단계

콘솔 을 운영하는 다음 단계는 AccessToSQL(변수 값 파일)을 만드는 것입니다.

참고 항목

변수 값 파일 만들기(AccessToSQL)