메모리 액세스에 최적화된 테이블 사용을 위한 요구 사항Requirements for Using Memory-Optimized Tables

이 항목은 다음에 적용됩니다.예SQL Server(2014부터 시작)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2014)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Azure DB에서 메모리 내 OLTP 사용의 경우 SQL 데이터베이스에서 메모리 내 시작을 참조하세요.For using In-Memory OLTP in Azure DB see Get started with In-Memory in SQL Database.

SQL Server 2016 설치를 위한 하드웨어 및 소프트웨어 요구 사항외에 메모리 내 OLTP를 사용하기 위한 요구 사항은 다음과 같습니다.In addition to the Hardware and Software Requirements for Installing SQL Server 2016, the following are requirements to use In-Memory OLTP:

  • SQL Server 2016 SP1(또는 이상), 모든 버전.SQL Server 2016 SP1 (or later), any edition. SQL Server 2014 및 SQL Server 2016 RTM(SP1 이전)의 경우 Enterprise, Developer 또는 Evaluation 버전이 필요합니다.For SQL Server 2014 and SQL Server 2016 RTM (pre-SP1) you need Enterprise, Developer, or Evaluation edition.

    • 참고: 메모리 내 OLTP에는 64비트 버전의 SQL Server가 필요합니다.Note: In-Memory OLTP requires the 64-bit version of SQL Server.
  • SQL ServerSQL Server 에는 메모리 액세스에 최적화된 테이블 및 인덱스에 데이터를 저장하기에 충분한 메모리와 온라인 워크로드를 지원하기 위한 추가 메모리가 필요합니다. needs enough memory to hold the data in memory-optimized tables and indexes, as well as additional memory to support the online workload. 자세한 내용은 메모리 액세스에 최적화된 테이블에 필요한 메모리 예측 을 참조하세요.See Estimate Memory Requirements for Memory-Optimized Tables for more information.

  • VM(가상 컴퓨터)에서 SQL ServerSQL Server 를 실행하는 경우 메모리 액세스에 최적화된 테이블 및 인덱스에 필요한 메모리를 지원하기에 충분한 메모리가 VM에 할당되었는지 확인합니다.When running SQL ServerSQL Server in a Virtual Machine (VM), ensure there is enough memory allocated to the VM to support the memory needed for memory-optimized tables and indexes. VM 호스트 응용 프로그램에 따라 VM에 대한 메모리 할당을 보장하는 구성 옵션을 메모리 예약 또는 동적 메모리를 사용하는 경우 최소 RAM이라고 할 수 있습니다.Depending on the VM host application, the configuration option to guarantee memory allocation for the VM could be called Memory Reservation or, when using Dynamic Memory, Minimum RAM. 이러한 설정이 SQL ServerSQL Server의 데이터베이스 요구에 충분한지 확인합니다.Make sure these settings are sufficient for the needs of the databases in SQL ServerSQL Server.

  • 지속형 메모리 액세스에 최적화된 테이블 크기의 2배에 해당하는 여유 디스크 공간Free disk space that is two times the size of your durable memory-optimized tables.

  • 메모리 내 OLTP를 사용하려면 프로세서에서 cmpxchg16b 명령을 지원해야 합니다.A processor needs to support the instruction cmpxchg16b to use In-Memory OLTP. 최신 64비트 프로세서는 cmpxchg16b를 지원합니다.All modern 64-bit processors support cmpxchg16b.

    가상 컴퓨터를 사용하는 경우 SQL ServerSQL Server 에서 이전 프로세서로 인한 오류가 표시되면 cmpxchg16b를 허용하도록 VM 호스트 응용 프로그램의 구성 옵션이 설정되어 있는지 확인합니다.If you are using a Virtual Machine and SQL ServerSQL Server displays an error caused by an older processor, see if the VM host application has a configuration option to allow cmpxchg16b. 설정되어 있지 않은 경우 구성 옵션을 설정할 필요 없이 cmpxchg16b 를 지원하는 Hyper-V를 사용할 수 있습니다.If not, you could use Hyper-V, which supports cmpxchg16b without needing to modify a configuration option.

  • 메모리 내 OLTP는 데이터베이스 엔진 서비스의 일부로 설치됩니다.In-Memory OLTP is installed as part of Database Engine Services.

    보고서 생성(메모리 내 OLTP에 테이블 또는 저장 프로시저를 포팅해야 하는지 확인) 및 SQL Server Management StudioSQL Server Management Studio ( SQL Server Management StudioSQL Server Management Studio 개체 탐색기를 통해 메모리 내 OLTP를 관리하기 위해)를 설치하려면 SSMS(SQL Server Management Studio)를 다운로드합니다.To install report generation (Determining if a Table or Stored Procedure Should Be Ported to In-Memory OLTP) and SQL Server Management StudioSQL Server Management Studio (to manage In-Memory OLTP via SQL Server Management StudioSQL Server Management Studio Object Explorer), Download SQL Server Management Studio (SSMS).

메모리 내 OLTPIn-Memory OLTP 사용에 관한 중요 사항Important Notes on Using 메모리 내 OLTPIn-Memory OLTP

  • SQL Server 2016 이상에서는 사용 가능한 메모리 외에 메모리 액세스에 최적화된 테이블의 크기에 대한 제한이 없습니다.Starting SQL Server 2016 there is no limit on the size of memory-optimized tables, other than available memory. SQL Server 2014에서는 데이터베이스에 있는 모든 영구 테이블의 총 메모리 내 크기가 SQL Server 2014 데이터베이스의 경우 250GB를 초과할 수 없습니다.In SQL Server 2014 the total in-memory size of all durable tables in a database should not exceed 250 GB for SQL Server 2014 databases. 자세한 내용은 메모리 액세스에 최적화된 테이블에 필요한 메모리 예측을 참조하세요.For more information, see Estimate Memory Requirements for Memory-Optimized Tables.

    • 참고: SQL Server 2016 SP1부터 Standard 및 Express Edition은 메모리 내 OLTP를 지원하지만 지정된 데이터베이스의 메모리 액세스에 최적화된 테이블에 사용할 수 있는 메모리의 양에 할당량을 적용합니다.Note: Starting SQL Server 2016 SP1, Standard and Express Editions support In-Memory OLTP, but they impose quotas on the amount of memory you can use for memory-optimized tables in a given database. Standard edition에서는 데이터베이스당 32GB이고, Express edition에서는 데이터베이스당 352MB입니다.In Standard edition this is 32GB per database; in Express edition this is 352MB per database.
  • 메모리 액세스에 최적화된 테이블로 하나 이상의 데이터베이스를 만들 경우 SQL ServerSQL Server 인스턴스에 대한 즉시 파일 초기화( SQL ServerSQL Server 서비스 시작 계정에 SE_MANAGE_VOLUME_NAME 사용자 권한 부여)를 사용하도록 설정해야 합니다.If you create one or more databases with memory-optimized tables, you should enable Instant File Initialization (grant the SQL ServerSQL Server service startup account the SE_MANAGE_VOLUME_NAME user right) for the SQL ServerSQL Server instance. 즉시 파일 초기화를 사용하지 않을 경우 메모리 액세스에 최적화된 저장소 파일(데이터 및 델타 파일)이 생성될 때 초기화되므로 작업 성능이 저하될 수 있습니다.Without Instant File Initialization, memory-optimized storage files (data and delta files) will be initialized upon creation, which can have negative impact on the performance of your workload. 즉시 파일 초기화에 대한 자세한 내용은 데이터베이스 파일 초기화를 참조하세요.For more information about Instant File Initialization, see Database File Initialization. 즉시 파일 초기화를 사용하도록 설정하는 방법은 즉시 파일 초기화를 사용하도록 설정하는 방법과 이유를 참조하세요.For information on how to enable Instant File Initialization, see How and Why to Enable Instant File Initialization.

관련 항목:See Also

메모리 내 OLTP(메모리 내 최적화)In-Memory OLTP (In-Memory Optimization)