SQL서버를 My로 변환 SQL - AWS Schema Conversion Tool

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

SQL서버를 My로 변환 SQL

변환된 내 SQL 코드에서 Microsoft SQL Server 데이터베이스 함수를 에뮬레이션하려면 에서 SQL Server to My SQL 확장 팩을 사용하세요. AWS SCT확장 팩에 대한 자세한 내용은 다음과 함께 확장 팩 사용 AWS Schema Conversion Tool 섹션을 참조하세요.

My를 대상 SQL 데이터베이스로 사용할 수 있는 권한

SQL대상으로서 My에게 필요한 권한은 다음과 같습니다.

  • CREATE켜짐* . *

  • ALTER아니오* . *

  • DROP아니오* . *

  • INDEX아니오* . *

  • REFERENCES아니오* . *

  • SELECT아니오* . *

  • CREATEVIEW아니오* . *

  • SHOWVIEW아니오* . *

  • TRIGGER아니오* . *

  • CREATEROUTINE아니오* . *

  • ALTERROUTINE아니오* . *

  • EXECUTE아니오* . *

  • INSERT, UPDATE 아니요 AWS _ SQLSERVER _EXT. *

  • INSERTUPDATE, 아니요 DELETE AWS _ SQLSERVER _ EXT _DATA. *

  • CREATETEMPORARYTABLES아니요 AWS _ SQLSERVER _ EXT _DATA. *

다음 코드 예제를 사용하여 데이터베이스 사용자를 생성하고 권한을 부여할 수 있습니다.

CREATE USER 'user_name' IDENTIFIED BY 'your_password'; GRANT CREATE ON *.* TO 'user_name'; GRANT ALTER ON *.* TO 'user_name'; GRANT DROP ON *.* TO 'user_name'; GRANT INDEX ON *.* TO 'user_name'; GRANT REFERENCES ON *.* TO 'user_name'; GRANT SELECT ON *.* TO 'user_name'; GRANT CREATE VIEW ON *.* TO 'user_name'; GRANT SHOW VIEW ON *.* TO 'user_name'; GRANT TRIGGER ON *.* TO 'user_name'; GRANT CREATE ROUTINE ON *.* TO 'user_name'; GRANT ALTER ROUTINE ON *.* TO 'user_name'; GRANT EXECUTE ON *.* TO 'user_name'; GRANT INSERT, UPDATE ON AWS_SQLSERVER_EXT.* TO 'user_name'; GRANT INSERT, UPDATE, DELETE ON AWS_SQLSERVER_EXT_DATA.* TO 'user_name'; GRANT CREATE TEMPORARY TABLES ON AWS_SQLSERVER_EXT_DATA.* TO 'user_name';

위 예제에서는 다음을 대체하십시오.user_name 사용자 이름으로. 그런 다음 교체하세요.your_password 안전한 비밀번호로

내 SQL 데이터베이스 버전 5.7 이하를 대상으로 사용하는 경우 다음 명령을 실행하십시오. 내 SQL 데이터베이스 버전 8.0 이상에서는 이 명령이 더 이상 사용되지 않습니다.

GRANT SELECT ON mysql.proc TO 'user_name';

Amazon RDS for My SQL 또는 Aurora My를 대상으로 사용하려면 lower_case_table_names 파라미터를 SQL 로 설정합니다. 1 이 값은 내 SQL 서버가 테이블, 인덱스, 트리거 및 데이터베이스와 같은 객체 이름의 식별자를 대소문자를 구분하지 않고 처리한다는 것을 의미합니다. 대상 인스턴스에서 이진 로깅을 활성화했다면 log_bin_trust_function_creators 파라미터를 1로 설정합니다. 이 경우 저장된 함수를 생성하기 위해 DETERMINISTIC, READS SQL DATA 또는 NO SQL 특성을 사용할 필요가 없습니다. 이들 파라미터를 구성하려면 새 DB 파라미터 그룹을 생성하거나 기존 DB 파라미터 그룹을 수정해야 합니다.

SQL서버에서 내 서버로의 변환 설정 SQL

SQLServer-to-My SQL 변환 설정을 편집하려면 설정을 AWS SCT 선택한 다음 전환 설정을 선택합니다. 상단 목록에서 서버를 선택한 다음 SQLSQL서버 - My를 선택합니다SQL. AWS SCT SQL서버에서 내 SQL 변환에 사용할 수 있는 모든 설정을 표시합니다.

SQL내 서버에서 내 서버로 SQL 변환 설정에는 다음과 같은 옵션이 AWS SCT 포함됩니다.

  • 변환된 코드에서 작업 항목이 포함된 설명의 수를 제한합니다.

    선택한 심각도 이상의 작업 항목에 대해 변환된 코드에 주석 추가에서 작업 항목의 심각도를 선택합니다. AWS SCT 선택한 심각도 이상의 작업 항목에 대해 변환된 코드에 설명을 추가합니다.

    예를 들어, 변환된 코드의 설명 수를 최소화하려면 오류만을 선택합니다. 변환된 코드의 모든 작업 항목에 대한 설명을 포함하려면 모든 메시지를 선택합니다.

  • 소스 SQL 서버 데이터베이스에서 결과를 테이블에 저장할 수 있도록 하기 EXEC 위함입니다. AWS SCT 이 기능을 에뮬레이션하기 위한 임시 테이블과 추가 프로시저를 만듭니다. 이 에뮬레이션을 사용하려면 Create additional routines for handling open datasets를 선택합니다.

마이그레이션 고려 사항

SQL서버 스키마를 My로 마이그레이션할 때는 다음 사항을 고려하십시오. SQL

  • SQLMy는 이 MERGE 명령문을 지원하지 않습니다. 하지만 INSERT ON DUPLICATE KEY 절과 MERGE 명령문을 사용하여 변환 중에 명령문을 AWS SCT 에뮬레이션할 수 있습니다. UPDATE FROM and DELETE FROM

    를 사용하여 INSERT ON DUPLICATE KEY 올바르게 에뮬레이션하려면 대상 My 데이터베이스에 고유한 제약 조건이나 기본 키가 있어야 합니다. SQL

  • GOTO 문과 레이블을 사용하여 명령문 실행 순서를 변경할 수 있습니다. SQL명령문 뒤에 오는 모든 GOTO Transact-문은 건너뛰고 처리는 레이블에서 계속됩니다. GOTO 문과 레이블은 프로시저, 배치(batch), 명령문 블록 내 어디든 사용할 수 있습니다. GOTO 문을 중첩할 수도 있습니다.

    SQLMy는 명세서를 사용하지 GOTO 않습니다. GOTO명령문이 포함된 코드를 AWS SCT 변환할 때 명령문은 BEGIN…END or LOOP…END LOOP 문을 사용하도록 변환됩니다. 다음 GOTO 표에서 명령문을 AWS SCT 변환하는 방법의 예를 찾을 수 있습니다.

    SQL서버 명령문 내 SQL 진술
    BEGIN .... statement1; .... GOTO label1; statement2; .... label1: Statement3; .... END
    BEGIN label1: BEGIN .... statement1; .... LEAVE label1; statement2; .... END; Statement3; .... END
    BEGIN .... statement1; .... label1: statement2; .... GOTO label1; statement3; .... statement4; .... END
    BEGIN .... statement1; .... label1: LOOP statement2; .... ITERATE label1; LEAVE label1; END LOOP; statement3; .... statement4; .... END
    BEGIN .... statement1; .... label1: statement2; .... statement3; .... statement4; .... END
    BEGIN .... statement1; .... label1: BEGIN statement2; .... statement3; .... statement4; .... END; END
  • SQLMy는 다중 명령문 테이블 반환 함수를 지원하지 않습니다. AWS SCT 임시 테이블을 만들고 이러한 임시 테이블을 사용하도록 명령문을 다시 작성하여 변환 중에 테이블 반환 함수를 시뮬레이션합니다.