메모리 최적화 관리자
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
트랜잭션 성능 분속 보고서( 메모리 내 OLTP에 테이블 또는 저장 프로시저를 이식해야 하는지 확인참조)는 메모리 내 OLTP를 사용하도록 변환할 경우 효과를 얻을 수 있는 데이터베이스 테이블을 알려 줍니다. 메모리 내 OLTP를 사용하도록 포팅할 테이블을 식별한 후 SQL Server Management Studio에서 메모리 최적화 관리자를 사용하여 디스크 기반 테이블을 메모리 최적화 테이블로 마이그레이션할 수 있습니다.
메모리 액세스 최적화 관리자를 통해 다음 작업을 할 수 있습니다.
메모리 최적화 테이블에 지원되지 않는 디스크 기반 테이블에 사용되는 기능을 식별합니다.
지원되지 않는 기능이 없는 경우 테이블 및 데이터를 메모리 최적화로 마이그레이션합니다.
마이그레이션 방법론에 대한 자세한 내용은 메모리 내 OLTP - 일반적인 워크로드 패턴 및 마이그레이션 고려 사항을 참조하세요.
메모리 최적화 관리자를 사용한 연습
개체 탐색기에서 변환할 테이블을 마우스 오른쪽 단추로 클릭하고 메모리 최적화 관리자를 선택합니다. 테이블 메모리 최적화 관리자의 환영 페이지가 표시됩니다.
메모리 최적화 체크리스트
테이블 메모리 최적화 관리자 시작 페이지에서 다음을 클릭하면 메모리 최적화 검사 목록이 표시됩니다. 메모리 최적화 테이블은 디스크 기반 테이블의 모든 기능을 지원하지는 않습니다. 메모리 최적화 체크리스트는 디스크 기반 테이블이 메모리 최적화 테이블과 호환되지 않는 기능을 사용하는지 여부를 보고합니다. 테이블 메모리 최적화 관리자는 디스크 기반 테이블을 수정하지 않으므로 메모리 내 OLTP를 사용하도록 마이그레이션할 수 있습니다. 마이그레이션을 계속하기 전에 변경해야 합니다. 발견된 각 비호환성에 대해 테이블 메모리 최적화 관리자는 디스크 기반 테이블을 수정하는 데 도움이 되는 정보에 대한 링크를 표시합니다.
마이그레이션 계획을 위해 호환되지 않는 기능 목록을 보관하려면 보고서 생성 을 클릭하여 HTML 목록을 생성합니다.
테이블의 비호환성이 없고 메모리 내 OLTP를 사용하여 SQL Server 2014(12.x) 인스턴스에 연결된 경우 다음을 클릭합니다.
메모리 최적화 경고
다음 페이지인 메모리 최적화 경고에는 테이블이 메모리 내 OLTP를 사용하도록 마이그레이션되지 않지만 다른 개체(예: 저장 프로시저 또는 CLR 함수)의 동작이 실패하거나 예기치 않은 동작이 발생할 수 있는 문제 목록이 포함되어 있습니다.
목록의 처음 몇 가지 경고는 유용하며 테이블에 적용될 수도 있고 적용되지 않을 수도 있습니다. 표의 오른쪽 열에 있는 링크는 자세한 정보로 연결됩니다.
경고 테이블에는 테이블에 없는 잠재적인 경고 조건도 표시됩니다.
실행 가능한 경고는 왼쪽 열에 노란색 삼각형이 있습니다. 조치 가능한 경고가 있는 경우 마이그레이션을 종료하고 경고를 해결한 후 프로세스를 다시 시작해야 합니다. 경고를 해결하지 않을 경우 마이그레이션한 테이블에서 오류가 발생할 수 있습니다.
보고서 생성을 클릭하여 이러한 경고의 HTML 보고서를 생성합니다. 계속 진행하려면 다음 을 클릭합니다.
최적화 옵션 검토
다음 화면에서는 메모리 내 OLTP로 마이그레이션하는 옵션을 수정할 수 있습니다.
메모리 최적화 파일 그룹
메모리 최적화 파일 그룹의 이름입니다. 메모리 최적화 테이블을 만들려면 데이터베이스에 파일을 하나 이상 포함한 메모리 최적화 파일 그룹이 있어야 합니다.
메모리 최적화 파일 그룹이 없는 경우 기본 이름을 변경할 수 있습니다. 메모리 최적화 파일 그룹은 삭제할 수 없습니다. 메모리 최적화 파일 그룹이 있으면 AUTO CLOSE 및 데이터베이스 미러링과 같은 일부 데이터베이스 수준 기능을 사용하지 않도록 설정할 수 있습니다.
데이터베이스에 이미 메모리 최적화 파일 그룹이 있는 경우 이 필드는 해당 이름으로 미리 채워지고 이 필드의 값을 변경할 수 없습니다.
논리적 파일 이름 및 파일 경로
메모리 최적화 테이블을 포함할 파일의 이름입니다. 메모리 최적화 테이블을 만들려면 데이터베이스에 파일을 하나 이상 포함한 메모리 최적화 파일 그룹이 있어야 합니다.
기존 메모리 최적화 파일 그룹이 없는 경우 마이그레이션 프로세스가 끝날 때 만들 파일의 기본 이름과 경로를 변경할 수 있습니다.
기존 메모리 최적화 파일 그룹이 있는 경우 이러한 필드는 미리 채워지고 값을 변경할 수 없습니다.
원래 테이블 이름 변경
마이그레이션 프로세스가 끝나면 테이블의 현재 이름으로 새 메모리 최적화 테이블이 만들어집니다. 이름 충돌을 방지하려면 현재 테이블의 이름을 바꿔야 합니다. 이 필드에서 이름을 변경할 수 있습니다.
예상 현재 메모리 비용(MB)
메모리 최적화 관리자는 디스크 기반 테이블의 메타데이터에 따라 새 메모리 최적화 테이블에서 사용할 메모리 양을 추정합니다. 테이블 크기 계산은 메모리 최적화 테이블의 테이블 및 행 크기에 설명되어 있습니다.
충분한 메모리가 할당되지 않으면 마이그레이션 프로세스가 실패할 수 있습니다.
테이블 데이터를 새 메모리 최적화 테이블에 복사
현재 테이블의 데이터를 새 메모리 최적화 테이블로 이동하려면 이 옵션을 선택합니다. 이 옵션을 선택하지 않으면 행 없이 새 메모리 최적화 테이블이 만들어집니다.
테이블은 기본적으로 지속형 테이블로 마이그레이션
메모리 내 OLTP는 지속형 메모리 최적화 테이블에 비해 성능이 뛰어난 비영구 테이블을 지원합니다. 그러나 서버를 다시 시작하면 비지속성 테이블의 데이터가 손실됩니다.
이 옵션을 선택하면 메모리 최적화 관리자가 영구 테이블 대신 비영구 테이블을 만듭니다.
Warning
비지속성 테이블과 관련된 데이터 손실의 위험을 이해하는 경우에만 이 옵션을 선택합니다.
다음 을 클릭하여 계속합니다.
기본 키 변환 검토
다음 화면은 기본 키 변환 검토화면입니다. 메모리 최적화 관리자는 테이블에 하나 이상의 기본 키가 있는지 확인하고 기본 키 메타데이터를 바탕으로 열 목록을 채웁니다. 기본 키가 없는 경우 메모리 최적화 영구 테이블로 마이그레이션하려면 기본 키를 만들어야 합니다.
기본 키가 없고 테이블이 비지속성 테이블로 마이그레이션되는 경우 이 화면이 표시되지 않습니다.
텍스트 열(char, nchar, varchar, nvarchar 형식의 열)의 경우 적절한 데이터 정렬을 선택해야 합니다. 메모리 내 OLTP는 메모리 최적화 테이블의 열에 대한 BIN2 데이터 정렬만 지원하며 보조 문자가 있는 데이터 정렬은 지원하지 않습니다. 지원되는 데이터 정렬 및 데이터 정렬 변경의 잠재적 영향에 대한 자세한 내용은 데이터 정렬 및 코드 페이지를 참조하세요.
기본 키에 대해 다음 매개 변수를 구성할 수 있습니다.
이 기본 키의 새 이름 선택
이 테이블의 기본 키 이름은 데이터베이스 내에서 고유해야 합니다. 여기에서 기본 키의 이름을 변경할 수 있습니다.
기본 키의 유형 선택
메모리 내 OLTP는 메모리 최적화 테이블에서 다음 두 가지 유형의 인덱스를 지원합니다.
비클러스터형 해시 인덱스. 이 인덱스는 지점 조회가 많은 인덱스에 적합합니다. 버킷 수 필드에서 이 인덱스의 버킷 수를 구성할 수 있습니다.
비클러스터형 인덱스. 이 유형의 인덱스는 범위 쿼리가 많은 인덱스에 적합합니다. 정렬 열 및 순서 목록의 각 열에 대한 정렬 순서를 구성할 수 있습니다.
기본 키에 가장 적합한 인덱스 유형을 이해하려면 해시 인덱스를 참조하세요.
기본 키 관련 사항을 선택한 후 다음을 클릭합니다.
인덱스 변환 검토
다음 페이지는 인덱스 변환 검토입니다. 메모리 최적화 관리자는 테이블에 하나 이상의 인덱스가 있는지 확인하고 열 및 데이터 형식 목록을 채웁니다. 인덱스 변환 검토 페이지에서 구성할 수 있는 매개 변수는 이전의 기본 키 변환 검토 페이지와 비슷합니다.
테이블에 기본 키만 있고 지속형 테이블로 마이그레이션되는 경우 이 화면이 표시되지 않습니다.
테이블의 모든 인덱스 관련 결정 후 다음을 클릭합니다.
마이그레이션 작업 확인
다음 페이지는 마이그레이션 작업 확인페이지입니다. 마이그레이션 작업을 스크립팅하려면 스크립트를 클릭하여 Transact-SQL 스크립트를 생성합니다. 그런 다음 스크립트를 수정하고 실행할 수 있습니다. 마이그레이션 을 클릭하여 테이블 마이그레이션을 시작합니다.
프로세스가 완료되면 개체 탐색기 를 새로 고쳐 새 메모리 최적화 테이블 및 이전의 디스크 기반 테이블이 표시되는지 확인합니다. 이전 테이블을 유지하거나 편의상 삭제할 수 있습니다.