다음을 통해 공유


메모리 액세스에 최적화된 테이블 사용을 위한 요구 사항

적용 대상: SQL Server

이 문서에서는 SQL Server에서 메모리 내 기능을 채택하기 위한 요구 사항을 설명합니다.

요구 사항

SQL Server 2022: 하드웨어 및 소프트웨어 요구 사항 외에도 메모리 내 OLTP를 사용하기 위한 요구 사항은 다음과 같습니다.

  • SQL Server 2016(13.x) SP 1 이상 모든 버전. SQL Server 2014(12.x) 및 SQL Server 2016(13.x) RTM(SP1 이전)의 경우 Enterprise, Developer 또는 Evaluation 버전이 필요합니다.

  • 메모리 내 OLTP에는 64비트 버전의 SQL Server가 필요합니다.

  • SQL Server에는 메모리 최적화 테이블 및 인덱스에 데이터를 저장할 충분한 메모리와 온라인 워크로드를 지원하기 위한 추가 메모리가 필요합니다. 자세한 내용은 메모리 최적화 테이블에 필요한 메모리 요구 사항 예측을 참조하세요.

  • VM(가상 머신)에서 SQL Server를 실행하는 경우 메모리 최적화 테이블 및 인덱스에 필요한 메모리를 지원하기에 충분한 메모리가 VM에 할당되었는지 확인합니다. VM 호스트 애플리케이션에 따라 VM에 대한 메모리 할당을 보장하는 구성 옵션을 메모리 예약 또는 동적 메모리를 사용하는 경우 최소 RAM이라고 할 수 있습니다. 이러한 설정이 SQL Server의 데이터베이스 요구 사항에 충분한지 확인합니다.

  • 지속형 메모리 최적화 테이블 크기의 2배에 달하는 사용 가능한 디스크 공간입니다.

  • 프로세서는 메모리 내 OLTP를 사용하는 cmpxchg16b 명령을 지원해야 합니다. 모든 최신 64비트 프로세서는 cmpxchg16b를 지원합니다.

    가상 머신을 사용하는 경우 SQL Server에서 이전 프로세서로 인한 오류가 표시되면 cmpxchg16b를 허용하도록 VM 호스트 애플리케이션의 구성 옵션이 설정되어 있는지 확인합니다. 그렇지 않은 경우 구성 옵션을 수정할 필요 없이 cmpxchg16b를 지원하는 Hyper-V를 사용할 수 있습니다.

  • 메모리 내 OLTP는 데이터베이스 엔진 서비스의 일부로 설치됩니다.

    보고서 생성(테이블 또는 저장 프로시저를 메모리 내 OLTP로 포팅해야 하는지 확인) 및 SQL Server Management Studio(SQL Server Management Studio 개체 탐색기를 통해 메모리 내 OLTP 관리)를 설치하려면 SSMS(SQL Server Management Studio)를 다운로드합니다.

참고 항목

메모리 내 OLTP 사용에 관한 중요 정보

  • SQL Server 2016(13.x) 이상 버전에서는 사용 가능한 메모리 이외의 메모리 최적화 테이블의 크기에 제한이 없습니다.

  • SQL Server 2014(12.x)에서는 데이터베이스에 있는 모든 지속형 테이블의 총 메모리 내 크기가 250GB를 초과할 수 없습니다. 자세한 내용은 메모리 최적화 테이블에 필요한 메모리 요구 사항 예측을 참조하세요.

참고 항목

SQL Server 2016(13.x) SP 1부터 Standard 및 Express 버전은 메모리 내 OLTP를 지원하지만 지정된 데이터베이스의 메모리 최적화 테이블에 사용할 수 있는 메모리 양에 할당량을 적용합니다. Standard 버전에서는 데이터베이스당 32GB입니다. Express 버전에서는 데이터베이스당 352MB입니다.

  • 메모리 최적화 테이블을 사용하여 하나 이상의 데이터베이스를 만드는 경우 SQL Server 서비스 시작 계정에 SE_MANAGE_VOLUME_NAME 사용자 권한을 부여하여 IFI(인스턴트 파일 초기화)를 사용하도록 설정해야 합니다. IFI가 없으면 메모리 최적화 스토리지 파일(데이터 및 델타 파일)이 생성 시 초기화되어 워크로드 성능에 부정적인 영향을 미칠 수 있습니다. IFI 및 사용 방법에 대한 자세한 내용은 데이터베이스 인스턴트 파일 초기화를 참조하세요.

  • 알려진 문제: 메모리 최적화 테이블이 있는 데이터베이스의 경우 복구 없이 트랜잭션 로그 백업을 수행한 후 나중에 복구를 사용하여 트랜잭션 로그 복원을 실행하면 데이터베이스 복원 프로세스가 응답하지 않을 수 있습니다. 이 문제는 로그 전달 기능에도 영향을 줄 수 있습니다. 이 문제를 해결하려면 복원 프로세스를 시작하기 전에 SQL Server 인스턴스를 다시 시작할 수 있습니다.