메모리 최적화 관리자

트랜잭션 성능 보고서 도구( Determining if a Table or Stored Procedure Should Be Ported to In-Memory OLTP참조)는 메모리 내 OLTP를 사용하도록 변환할 경우 효과를 얻을 수 있는 데이터베이스 테이블을 알려 줍니다. 메모리 내 OLTP를 사용하도록 포팅할 테이블을 식별한 후 메모리 최적화 관리자를 사용하여 디스크 기반 데이터베이스 테이블을 메모리 내 OLTP로 마이그레이션할 수 있습니다.

먼저 디스크 기반 데이터베이스 테이블이 포함된 인스턴스에 연결합니다. SQL Server 2012 또는 SQL Server 2014 instance 연결할 수 있습니다. 그러나 advisor를 사용하여 마이그레이션 작업을 수행하려는 경우 In-Memory OLTP 기능이 사용하도록 설정된 SQL Server 2014 instance 연결해야 합니다. 메모리 내 OLTP 요구 사항에 대한 자세한 내용은 Requirements for Using Memory-Optimized Tables을 참조하십시오.

마이그레이션 방법에 대한 자세한 내용은 메모리 내 OLTP – 일반적인 작업 패턴 및 마이그레이션 고려 사항을 참조하세요.

메모리 최적화 관리자 사용 연습

개체 탐색기에서 변환할 테이블을 마우스 오른쪽 단추로 클릭하고 메모리 최적화 관리자를 선택합니다. 테이블 메모리 최적화 관리자시작 페이지가 표시됩니다.

메모리 최적화 검사 목록

테이블 메모리 최적화 관리자 시작 페이지에서 다음을 클릭하면 메모리 최적화 검사 목록이 표시됩니다. 메모리 액세스에 최적화된 테이블은 디스크 기반 테이블의 기능 중 일부를 지원하지 않습니다. 메모리 액세스 최적화 검사 목록은 디스크 기반 테이블에 메모리 최적화 테이블과 호환되지 않는 기능이 사용되는지 여부를 보고합니다. 테이블 메모리 최적화 관리자 는 메모리 내 OLTP 사용을 위해 마이그레이션이 가능하도록 디스크 기반 테이블을 수정하는 작업은 수행하지 않습니다. 마이그레이션을 계속하려면 먼저 사용자가 테이블을 변경해야 합니다. 호환되지 않는 기능이 발견되면 테이블 메모리 최적화 관리자 는 디스크 기반 테이블을 수정하는 데 도움이 되는 링크를 표시합니다.

마이그레이션 계획을 위해 호환되지 않는 기능 목록을 보관하려면 보고서 생성 을 클릭하여 HTML 목록을 생성합니다.

테이블의 비호환성이 없고 In-Memory OLTP를 사용하여 SQL Server 2014 instance 연결된 경우 다음을 클릭합니다.

메모리 최적화 경고

다음에 표시되는 메모리 최적화 경고 페이지에는 메모리 내 OLTP를 사용하도록 테이블을 마이그레이션하는 데 방해가 되지는 않지만 저장 프로시저 또는 CLR 함수와 같은 다른 개체의 동작이 실패하거나 예기치 않은 동작을 야기할 수 있는 문제 목록이 제공됩니다.

목록의 처음 몇 가지 경고는 정보 제공 목적으로만 제공되며 사용자 테이블에는 해당되지 않는 내용일 수도 있습니다. 표의 오른쪽 열에 있는 링크는 자세한 정보로 연결됩니다.

경고 표에는 테이블에 존재하지 않는 잠재적 경고 조건도 표시됩니다.

조치 가능한 경고는 왼쪽 열에 노란색 삼각형이 표시됩니다. 조치 가능한 경고가 있는 경우 마이그레이션을 종료하고 경고를 해결한 후 프로세스를 다시 시작해야 합니다. 경고를 해결하지 않을 경우 마이그레이션한 테이블에서 오류가 발생할 수 있습니다.

보고서 생성 을 클릭하여 HTML 경고 보고서를 생성합니다. 다음 을 클릭하여 진행합니다.

최적화 옵션 검토

다음 화면에서는 메모리 내 OLTP로의 마이그레이션에 대한 옵션을 수정할 수 있습니다.

메모리 액세스에 최적화된 파일 그룹
메모리 최적화 파일 그룹의 이름입니다. 메모리 최적화 테이블을 만들려면 데이터베이스에 파일을 하나 이상 포함한 메모리 최적화 파일 그룹이 있어야 합니다.

메모리 최적화 파일 그룹이 없는 경우 기본 이름을 변경할 수 있습니다. 메모리 액세스에 최적화된 파일 그룹은 삭제할 수 없습니다. 메모리 최적화 파일 그룹이 있는 경우 자동 닫기 및 데이터베이스 미러링과 같은 일부 데이터베이스 수준 기능을 사용할 수 없을 수도 있습니다.

데이터베이스에 메모리 최적화 파일 그룹이 있는 경우 이 필드가 해당 파일 그룹의 이름으로 미리 채워지며 필드 값을 변경할 수 없습니다.

논리적 파일 이름 및 파일 경로
메모리 최적화 테이블을 포함할 파일의 이름입니다. 메모리 최적화 테이블을 만들려면 데이터베이스에 파일을 하나 이상 포함한 메모리 최적화 파일 그룹이 있어야 합니다.

기존 메모리 최적화 파일 그룹이 없는 경우 마이그레이션 프로세스가 끝날 때 만들려는 파일의 기본 이름 및 경로를 변경할 수 있습니다.

기존 메모리 최적화 파일 그룹이 있는 경우 이러한 필드가 미리 채워지며 필드 값을 변경할 수 없습니다.

원래 테이블을 다른 이름으로 바꾸기
마이그레이션 프로세스가 끝날 때 현재 테이블 이름으로 메모리 최적화 테이블이 새로 생성됩니다. 이름 충돌을 방지하려면 현재 테이블의 이름을 바꿔야 합니다. 이 필드에서 이름을 변경할 수 있습니다.

예상 현재 메모리 비용(MB)
메모리 최적화 관리자는 디스크 기반 테이블의 메타데이터를 기준으로 새 메모리 액세스에 최적화된 테이블에서 사용할 메모리 양을 예상합니다. 테이블 크기 계산 방법은 메모리 액세스에 최적화된 테이블의 테이블 및 행 크기를 참조하세요.

충분한 메모리가 할당되지 않으면 마이그레이션 프로세스가 실패할 수 있습니다.

메모리 액세스에 최적화된 테이블에 테이블 데이터도 함께 복사
현재 테이블의 데이터도 함께 새 메모리 최적화 테이블로 이동하려는 경우 이 옵션을 선택합니다. 이 옵션을 선택하지 않으면 메모리 최적화 테이블이 행 없이 새로 생성됩니다.

테이블을 기본적으로 영구 테이블로 마이그레이션
메모리 내 OLTP는 메모리 최적화 영구 테이블보다 우수한 성능을 지닌 비영구 테이블을 지원합니다. 하지만 비영구 테이블의 데이터는 서버를 다시 시작하면 손실됩니다.

이 옵션을 선택하면 메모리 최적화 관리자가 영구 테이블 대신 비영구 테이블을 만듭니다.

경고

비영구 테이블과 관련된 데이터 손실 위험에 대해 잘 알고 있는 경우에만 이 옵션을 선택하십시오.

다음을 클릭하여 계속합니다.

기본 키 변환 검토

다음 화면은 기본 키 변환 검토화면입니다. 메모리 최적화 관리자는 테이블에 하나 이상의 기본 키가 있는지 확인하고 기본 키 메타데이터를 기준으로 열 목록을 채웁니다. 기본 키가 없는 경우 메모리 최적화 영구 테이블로 마이그레이션하려면 기본 키를 만들어야 합니다.

기본 키가 없고 테이블을 비영구 테이블로 마이그레이션하는 경우에는 이 화면이 표시되지 않습니다.

텍스트 열(char, nchar, varcharnvarchar 유형 열)의 경우 적절한 데이터 정렬을 선택해야 합니다. 메모리 내 OLTP는 메모리 최적화 테이블의 열에 대해 BIN2 데이터 정렬만 지원하고 보조 문자를 사용한 데이터 정렬은 지원하지 않습니다. 지원되는 데이터 정렬 및 데이터 정렬 변경이 주는 잠재적 영향은 Collations and Code Pages 를 참조하십시오.

기본 키에 대해 다음 매개 변수를 구성할 수 있습니다.

이 기본 키의 새 이름 선택
이 테이블의 기본 키 이름이 데이터베이스 내에서 고유해야 합니다. 여기에서 기본 키 이름을 변경할 수 있습니다.

이 기본 키의 유형 선택
메모리 내 OLTP는 메모리 최적화 테이블에 대해 두 가지 유형의 인덱스를 지원합니다.

  • 비클러스터형 해시 인덱스. 이 인덱스는 포인트 조회가 많은 인덱스에 적합합니다. 버킷 수 필드에 이 인덱스의 버킷 수를 구성할 수 있습니다.

  • 비클러스터형 인덱스. 이 유형의 인덱스는 범위 쿼리가 많은 인덱스에 적합합니다. 열 정렬 및 순서 목록의 각 열에 대해 정렬 순서를 구성할 수 있습니다.

기본 키에 적합한 인덱스 형식을 확인하려면 해시 인덱스를 참조하세요.

기본 키를 선택한 후 다음 을 클릭합니다.

인덱스 변환 검토

다음 페이지는 인덱스 변환 검토페이지입니다. 메모리 최적화 관리자는 테이블에 하나 이상의 인덱스가 있는지 확인하고 열 및 데이터 형식 목록을 채웁니다. 인덱스 변환 검토 페이지에서 구성할 수 있는 매개 변수는 앞의 기본 키 변환 검토 페이지와 유사합니다.

테이블에 기본 키만 있고 영구 테이블로 마이그레이션하는 경우에는 이 화면이 표시되지 않습니다.

테이블의 모든 인덱스에 대해 적절한 설정을 지정한 후 다음을 클릭합니다.

마이그레이션 작업 확인

다음 페이지는 마이그레이션 작업 확인페이지입니다. 마이그레이션 작업을 스크립팅하려면 스크립트 를 클릭하여 Transact-SQL 스크립트를 생성합니다. 그런 다음 스크립트를 수정하고 실행할 수 있습니다. 마이그레이션 을 클릭하여 테이블 마이그레이션을 시작합니다.

프로세스가 완료되면 개체 탐색기 를 새로 고쳐 새 메모리 최적화 테이블 및 이전의 디스크 기반 테이블이 표시되는지 확인합니다. 편의대로 테이블을 유지하거나 삭제할 수 있습니다.

참고 항목

메모리 내 OLTP로 마이그레이션