SQL Server SSMA 구성 요소 설치(OracleToSQL)

SQL Server Migration Assistant(SSMA)를 설치하는 것 외에도 SQL Server 실행하는 컴퓨터에 구성 요소를 설치해야 합니다. 이러한 구성 요소에는 데이터 마이그레이션을 지원하는 SSMA 확장 팩과 서버 간 연결을 사용하도록 설정하는 Oracle 공급자가 포함됩니다.

Oracle용 SSMA 확장 팩

SSMA 확장 팩은 확장 저장 프로시저를 배포하고 지정된 SQL Server 인스턴스에 데이터베이스를 추가합니다sysdb. 확장 저장 프로시저는 Oracle sysdb 의 기능 및 동작을 에뮬레이트하는 데 필요한 기능을 제공하지만 데이터베이스에는 데이터를 마이그레이션하는 데 필요한 테이블 및 저장 프로시저가 포함됩니다.

비고

확장 저장 프로시저는 SQL Server 더 이상 사용되지 않으며 이후 버전에서 제거될 예정입니다. 새 개발 작업에서 이 기능을 사용하지 말고 현재 이 기능을 사용하는 애플리케이션을 수정할 계획입니다. 대신 CLR(공용 언어 런타임) 프로시저를 만듭니다 .

또한 데이터를 SQL Server로 마이그레이션할 때 SSMA는 서버 쪽 데이터 마이그레이션 엔진을 사용하여 데이터를 마이그레이션할 때 SQL Server 에이전트 작업을 만듭니다.

필수 조건

SQL Server에 Oracle용 SSMA 서버 구성 요소를 설치하기 전에 시스템이 다음 요구 사항을 충족하는지 확인합니다.

  • Windows 11 이상 버전 또는 Windows Server 2022 이상 버전

  • .NET Framework 버전 4.7.2 이상 버전입니다. .NET Framework를 다운로드합니다.

  • SQL Server 인스턴스가 설치됩니다.

  • Oracle용 OLE DB 공급자(OLE DB를 사용하는 경우) 및 마이그레이션하려는 Oracle 데이터베이스에 대한 연결입니다. Oracle 제품 미디어 또는 Oracle 웹 사이트에서 공급자를 설치할 수 있습니다.

    중요합니다

    SSMA 확장 팩 확장 저장 프로시저는 UTF-8 서버 데이터 정렬 (예 Latin1_General_100_CI_AI_SC_UTF8: )과 호환되지 않습니다. SSMA에서 생성된 함수는 출력 매개 변수를 내부 ODBC 드라이버가 레거시 LOB 형식에 매핑하는 varchar(max)로 선언합니다. UTF-8 데이터 정렬 master 을 사용하는 서버에서 데이터베이스는 UTF-8을 사용하므로 확장 저장 프로시저의 루프백 호출이 실패합니다. ODBC 드라이버 17에서는 이 오류가 자동으로 잘못된 결과를 생성합니다. ODBC 드라이버 18에서는 다음과 같은 오류가 발생 Cannot convert to text/ntext or collate to 'Latin1_General_100_CI_AI_SC_UTF8'합니다. 서버에서 UTF-8 데이터 정렬을 사용하는 경우 SSMA 확장 팩 확장 저장 프로시저를 사용하지 마세요.

  • 설치하는 동안 SQL Server 브라우저 서비스를 실행해야 합니다. 서비스는 설치 마법사에서 SQL Server 인스턴스 목록을 채웁니다. 설치 후 SQL Server Browser 서비스를 사용하지 않도록 설정할 수 있습니다.

    SQL Server Browser 서비스가 실행 중이지만 설치 프로그램에서 인스턴스 목록이 표시되지 않는 경우 UDP 포트 1434의 차단을 해제해야 합니다. Windows 방화벽을 사용하여 일시적으로 포트 차단을 해제하거나 Windows 방화벽을 일시적으로 사용하지 않도록 설정할 수 있습니다. 바이러스 백신 소프트웨어를 일시적으로 사용하지 않도록 설정해야 할 수도 있습니다. 설치 후 방화벽 및 바이러스 백신 소프트웨어를 사용하도록 설정해야 합니다.

확장 팩 설치

데이터를 SQL Server 마이그레이션하기 전에 언제든지 확장 팩을 설치할 수 있습니다.

중요합니다

확장 팩을 설치하려면 SQL Server 인스턴스에서 sysadmin 고정 서버 역할의 멤버여야 합니다.

확장 팩을 설치하려면 다음을 수행합니다.

  1. <n>가 빌드 번호인 SSMAforOracleExtensionPack_<n>.msi를 SQL Server를 실행 중인 컴퓨터에 복사합니다.

  2. MSI를 두 번 클릭하여 실행합니다.

  3. 시작 페이지에서 다음을 선택합니다.

  4. 최종 사용자 사용권 계약 페이지에서 계약 내용을 읽습니다. 동의하는 경우 동의합니다를 선택한 후 다음을 선택합니다.

  5. 설정 유형 선택 페이지에서 일반을 선택합니다.

  6. 설치 준비 페이지에서 설치를 선택합니다.

  7. 설치의 첫 번째 단계 완료 페이지에서 다음을 선택합니다.

    새 대화 상자가 나타납니다. 확장 팩 유형을 선택합니다.

  8. 원하는 설치 유형을 선택한 다음, 다음을 선택합니다.

    중요합니다

    Linux에서 실행되는 SQL Server 확장 팩을 설치하거나 Azure SQL Managed Instance 대상으로 지정할 때만 원격 옵션을 사용합니다. Windows 실행되는 SQL Server 설치를 위해 항상 확장 팩을 로컬로 설치합니다. Azure SQL Database 및 Azure Synapse Analytics 확장 팩을 지원하지 않습니다.

    로컬 SQL Server 인스턴스에 확장 팩을 설치하는 경우 Oracle 스키마를 마이그레이션할 SQL Server 로컬 인스턴스를 선택할 수 있습니다. 드롭다운 목록에서 인스턴스를 선택한 다음, 다음을 선택합니다.

    기본 인스턴스의 이름은 컴퓨터와 같습니다. 명명된 인스턴스 뒤에는 백슬래시와 인스턴스 이름이 이어집니다.

  9. 연결 페이지에서 인증 방법을 선택한 다음 , 다음을 선택합니다.

    Windows 인증은 Windows 자격 증명을 사용하여 SQL Server 인스턴스에 로그인하려고 시도합니다. 서버 인증을 선택하는 경우 SQL Server 로그인 이름 및 암호를 입력해야 합니다.

  10. 다음 단계에서는 서버 쪽 데이터 마이그레이션 중에 확장 팩 데이터베이스에 저장된 중요한 데이터를 암호화하는 마스터 키에 대한 암호를 설정해야 합니다. 강력한 암호를 입력하고 다음을 선택합니다.

  11. 다음 페이지에서 유틸리티 데이터베이스 n 설치 및 확장 팩 라이브러리 설치를 선택합니다. 여기서 n은 버전 번호이고 다음을 선택합니다.

    데이터베이스는 sysdb 테이블을 사용하여 만들어지고 데이터 마이그레이션에 필요한 저장 프로시저가 서버 쪽 데이터 마이그레이션 엔진을 사용하여 이 데이터베이스에 만들어집니다.

  12. 설치가 완료되면 다른 SQL Server 인스턴스에 Utilities Database를 설치할지 묻는 프롬프트가 나타납니다. 예를 선택하고 다음을 선택합니다. 마법사를 종료하려면 아니요 를 선택한 다음 끝내기를 선택합니다.

  13. SQL Server Management Studio에서 또는 유틸리티를 sqlcmd 사용하여 다음 스크립트를 실행하여 CLR을 사용하도록 설정합니다.

    EXECUTE sp_configure 'clr enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    

    CLR을 사용하도록 설정하지 않으면 SSMA가 SQL Server 연결할 때 다음 오류가 발생합니다.

    SSMA could not retrieve the extension pack assembly version information. Reinstall the extension pack on the database server.
    

SQL Server 데이터베이스 개체

확장 팩을 설치하면 sysdb 데이터베이스에 ssma_oracle.bcp_migration_packages 테이블이 표시됩니다.

데이터를 SQL Server로 마이그레이션할 때마다 SSMA는 SQL Server 에이전트 작업을 만듭니다. 이러한 작업의 이름은 Jobs ssma_oracle data migration package {GUID}폴더에 있는 SQL Server Management Studio SQL Server 에이전트 노드에서 볼 수 있습니다.

다음 확장 저장 프로시저가 데이터베이스에 master 추가됩니다.

  • xp_ora2ms_exec2
  • xp_ora2ms_exec2_ex
  • xp_ora2ms_versioninfo2