메모리 내 OLTP에 대한 SQL Server Management Studio 지원SQL Server Management Studio Support for In-Memory OLTP

SQL Server Management StudioSQL Server Management StudioSQL ServerSQL Server 인프라를 관리하기 위한 통합 환경입니다. is an integrated environment for managing your SQL ServerSQL Server infrastructure. SQL Server Management StudioSQL Server Management StudioSQL ServerSQL Server인스턴스를 구성, 모니터링 및 관리하는 도구를 제공합니다. provides tools to configure, monitor, and administer instances of SQL ServerSQL Server. 자세한 내용은 SQL Server Management Studio를 참조하세요.For more information, see SQL Server Management Studio

이 항목의 태스크에서는 SQL Server Management StudioSQL Server Management Studio 를 사용하여 메모리 액세스에 최적화된 테이블, 메모리 액세스에 최적화된 테이블의 인덱스, 고유하게 컴파일된 저장 프로시저, 사용자 정의 메모리 액세스에 최적화된 테이블 형식을 관리하는 방법을 설명합니다.The tasks in this topic describe how to use SQL Server Management StudioSQL Server Management Studio to manage memory-optimized tables; indexes on memory-optimized tables; natively compiled stored procedures; and user-defined, memory-optimized table types.

프로그래밍 방식으로 메모리 액세스에 최적화된 테이블을 만드는 방법은 메모리 액세스에 최적화된 테이블 및 고유하게 컴파일된 저장 프로시저 만들기를 참조하세요.For information on how to programmatically create memory-optimized tables, see Creating a Memory-Optimized Table and a Natively Compiled Stored Procedure.

메모리 액세스에 최적화된 데이터 파일 그룹이 포함된 데이터베이스를 만들려면To create a database with a memory-optimized data filegroup

  1. 개체 탐색기에서 SQL ServerSQL Server 데이터베이스 엔진의 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.In Object Explorer, connect to an instance of the SQL ServerSQL Server Database Engine and then expand that instance.

  2. 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 새 데이터베이스를 클릭합니다.Right-click Databases, and then click New Database.

  3. 새 메모리 액세스에 최적화된 데이터 파일 그룹을 추가하려면 파일 그룹 페이지를 클릭합니다.To add a new memory-optimized data filegroup, click the Filegroups page. MEMORY OPTIMIZED DATA아래에서 파일 그룹 추가 를 클릭한 다음 메모리 액세스에 최적화된 데이터 파일 그룹의 이름을 입력합니다.Under MEMORY OPTIMIZED DATA, click Add filegroup and then enter the name of the memory-optimized data filegroup. FILESTREAM 파일 이라는 열에는 파일 그룹에 있는 컨테이너 수가 표시됩니다.The column labeled FILESTREAM Files represents the number of containers in the filegroup. 컨테이너는 일반 페이지에서 추가됩니다.Containers are added on the General page.

  4. 파일(컨테이너)를 파일 그룹에 추가하려면 일반 페이지를 클릭합니다.To add a file (container) to the filegroup, click the General page. 데이터베이스 파일아래에서 추가를 클릭합니다.Under Database files, click Add. 파일 형식FILESTREAM 데이터로 선택하고 컨테이너의 논리적 이름을 지정한 다음 메모리 액세스에 최적화된 파일 그룹을 선택하고 자동 증가/최대 크기제한 없음으로 설정되어 있는지 확인합니다.Select File Type as FILESTREAM Data, specify the logical name of the container, select the memory-optimized filegroup, and make sure that Autogrowth / Maxsize is set to Unlimited.

    SQL Server Management StudioSQL Server Management Studio를 사용하여 새 데이터베이스를 만드는 방법은 데이터베이스 만들기를 참조하세요.For more information on how to create a new database by using SQL Server Management StudioSQL Server Management Studio, see Create a Database.

메모리 액세스에 최적화된 테이블을 만들려면To create a memory-optimized table

  1. 개체 탐색기에서 데이터베이스의 테이블 노드를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 클릭한 다음 메모리 액세스에 최적화된 테이블을 클릭합니다.In Object Explorer, right-click the Tables node of your database, click New, and then click Memory Optimized Table.

    메모리 액세스에 최적화된 테이블을 만들기 위한 템플릿이 표시됩니다.A template for creating memory-optimized tables is displayed.

  2. 템플릿 매개 변수를 바꾸려면 쿼리 메뉴에서 템플릿 매개 변수 값 지정 을 클릭합니다.To replace the template parameters, click Specify Values for Template Parameters on the Query menu.

    템플릿을 사용하는 방법은 Template Explorer를 참조하십시오.For more information on how to use templates, see Template Explorer.

  3. 개체 탐색기에서 테이블은 먼저 디스크 기반 테이블에 따라 정렬된 다음, 메모리 액세스에 최적화된 테이블에 따라 정렬됩니다.In Object Explorer, tables will be ordered first by disk-based tables followed by memory-optimized tables. 개체 탐색기 정보 를 사용하여 모든 테이블을 이름순으로 정렬합니다.Use Object Explorer Details to see all tables ordered by name.

고유하게 컴파일된 저장 프로시저를 만들려면To create a natively compiled stored procedure

  1. 개체 탐색기에서 데이터베이스의 저장 프로시저 노드를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 클릭한 다음 고유하게 컴파일된 저장 프로시저를 클릭합니다.In Object Explorer, right-click the Stored Procedures node of your database, click New, and then click Natively Compiled Stored Procedure.

    고유하게 컴파일된 저장 프로시저를 만들기 위한 템플릿이 표시됩니다.A template for creating natively compiled stored procedures is displayed.

  2. 템플릿 매개 변수를 바꾸려면 쿼리 메뉴에서 템플릿 매개 변수 값 지정을 클릭합니다.To replace the template parameters, click Specify Values for Template Parameters on the Query menu.

    새 저장 프로시저를 만드는 방법은 Create a Stored Procedure를 참조하십시오.For more information on how to create a new stored procedure, see Create a Stored Procedure.

사용자 정의 메모리 액세스에 최적화된 테이블 형식을 만들려면To create a user-defined memory-optimized table type

  1. 개체 탐색기에서 데이터베이스의 형식 노드를 확장하고 사용자 정의 테이블 형식 노드를 마우스 오른쪽 단추로 클릭한 다음 새로 만들기를 클릭하고 사용자 정의 메모리 액세스에 최적화된 테이블 형식을 클릭합니다.In Object Explorer, expand the Types node of your database, right-click the User-Defined Table Types node, click New, and then click User-Defined Memory Optimized Table Type.

    사용자 정의 메모리 액세스에 최적화된 테이블 형식을 만들기 위한 템플릿이 표시됩니다.A template for creating user-defined memory-optimized table type is displayed.

  2. 템플릿 매개 변수를 바꾸려면 쿼리 메뉴에서 템플릿 매개 변수 값 지정 을 클릭합니다.To replace the template parameters, click Specify Values for Template Parameters on the Query menu.

    새 저장 프로시저를 만드는 방법은 CREATE TYPE(Transact-SQL)을 참조하세요.For more information on how to create a new stored procedure, see CREATE TYPE (Transact-SQL).

메모리 모니터링Memory Monitoring

메모리 액세스에 최적화된 개체별 메모리 사용량 보고서 보기View Memory Usage by Memory-Optimized Objects Report

  • 개체 탐색기에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 보고서, 표준 보고서, 메모리 액세스에 최적화된 개체별 메모리 사용량을 차례로 클릭합니다.In Object Explorer, right-click your database, click Reports, click Standard Reports, and then click Memory Usage By Memory Optimized Objects.

    이 보고서는 데이터베이스에 있는 메모리 액세스에 최적화된 개체의 메모리 공간 사용률에 대한 자세한 데이터를 제공합니다.This report provides detailed data on the utilization of memory space by memory-optimized objects within the database.

테이블 또는 데이터베이스에 대해 할당되고 사용된 메모리에 대한 속성 보기View Properties for Allocated and Used Memory for a Table, Database

  1. 메모리 내 사용량에 대한 정보를 가져오려면 다음과 같이 하십시오.To get information about in-memory usage:

    • 개체 탐색기에서 메모리 액세스에 최적화된 테이블을 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 저장소 페이지를 클릭합니다.In Object Explorer, right-click on your memory-optimized table, click Properties, and then the Storage page. 데이터 공간 속성에 대한 값은 테이블에 있는 데이터가 사용하는 메모리를 나타냅니다.The value for the Data Space property indicates the memory used by the data in the table. 인덱스 공간 속성에 대한 값은 테이블의 인덱스가 사용하는 메모리를 나타냅니다.The value for the Index Space property indicates the memory used by the indexes on table.

    • 개체 탐색기에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 일반 페이지를 클릭합니다.In Object Explorer, right-click on your database, click Properties, and then click the General page. 메모리 액세스에 최적화된 개체에 할당된 메모리 속성에 대한 값은 데이터베이스에 있는 메모리 액세스에 최적화된 개체에 할당된 메모리를 나타냅니다.The value for the Memory Allocated To Memory Optimized Objects property indicates the memory allocated to memory-optimized objects in the database. 메모리 액세스에 최적화된 개체가 사용하는 메모리 속성에 대한 값은 데이터베이스에 있는 메모리 액세스에 최적화된 개체가 사용하는 메모리를 나타냅니다.The value for the Memory Used By Memory Optimized Objects property indicates the memory used by memory-optimized objects in the database.

다음에서 지원되는 기능 SQL Server Management StudioSQL Server Management StudioSupported Features in SQL Server Management StudioSQL Server Management Studio

SQL Server Management StudioSQL Server Management Studio 는 메모리 액세스에 최적화된 데이터 파일 그룹, 메모리 액세스에 최적화된 테이블, 인덱스 및 고유하게 컴파일된 저장 프로시저가 포함된 데이터베이스에서 데이터베이스 엔진이 지원하는 기능과 작업을 지원합니다. supports features and operations that are supported by the database engine on databases with memory-optimized data filegroup, memory-optimized tables, indexes, and natively compiled stored procedures.

데이터베이스, 테이블, 저장 프로시저, 사용자 정의 테이블 형식 또는 인덱스 개체에 대해 다음 SQL Server Management StudioSQL Server Management Studio 기능이 메모리 내 OLTP를 지원하도록 업데이트되었거나 확장되었습니다.For database, table, stored procedure, user-defined table type, or index objects, the following SQL Server Management StudioSQL Server Management Studio features have been updated or extended to support In-Memory OLTP.

  • 개체 탐색기Object Explorer

    • 상황에 맞는 메뉴Context menus

    • 필터 설정Filter settings

    • 스크립팅Script As

    • 작업Tasks

    • 보고서Reports

    • 속성Properties

    • 데이터베이스 태스크:Database tasks:

      • 메모리 액세스에 최적화된 테이블이 포함된 데이터베이스 연결 및 분리Attach and detach a database that contains memory-optimized tables.

        데이터베이스 연결 사용자 인터페이스는 메모리 액세스에 최적화된 데이터 파일 그룹을 표시하지 않습니다.The Attach Databases user interface does not display the memory-optimized data filegroup. 그러나 데이터베이스 연결은 계속 진행할 수 있으며 데이터베이스는 올바르게 연결됩니다.However, you can proceed with attaching the database and the database will be attached correctly.

        참고

        SQL Server Management StudioSQL Server Management Studio 를 사용하여 메모리 액세스에 최적화된 데이터 파일 그룹 컨테이너가 있는 데이터베이스를 연결하려고 하는데 데이터베이스의 메모리 액세스에 최적화된 데이터 파일 그룹 컨테이너가 다른 컴퓨터에서 만든 것이라면 메모리 액세스에 최적화된 데이터 파일 그룹 컨테이너의 위치가 두 컴퓨터에서 동일해야 합니다.If you want to use SQL Server Management StudioSQL Server Management Studio to attach a database that has a memory-optimized data filegroup container, and if the database's memory-optimized data filegroup container was created on another computer, the location of the memory-optimized data filegroup container must be the same on both computers. 데이터베이스의 메모리 액세스에 최적화된 데이터 파일 그룹 컨테이너 위치를 새 컴퓨터에서 다르게 지정하려는 경우 Transact-SQLTransact-SQL 을 사용하여 데이터베이스를 연결할 수 있습니다.If you want the location of the database's memory-optimized data filegroup container to be different on the new computer, you can, use Transact-SQLTransact-SQL to attach the database. 다음 예에서 새 컴퓨터의 메모리 액세스에 최적화된 데이터 파일 그룹 컨테이너 위치는 C:\Folder2입니다.In the following example, the location of the memory-optimized data filegroup container on the new computer is C:\Folder2. 그러나 첫 번째 컴퓨터에서 메모리 액세스에 최적화된 데이터 파일 그룹 컨테이너가 생성된 위치는 C:\Folder1입니다.But when the memory-optimized data filegroup container was created, on the first computer, the location was C:\Folder1.

        CREATE DATABASE[imoltp] ON

        (NAME =N'imoltp',FILENAME=N'C:\Folder2\imoltp.mdf'),

        (NAME =N'imoltp_mod1',FILENAME=N'C:\Folder2\imoltp_mod1'),

        (NAME =N'imoltp_log',FILENAME=N'C:\Folder2\imoltp_log.ldf')

        FOR ATTACH

        GO

      • 스크립트 생성Generate scripts.

        스크립트 생성 및 게시 마법사에서 개체의 존재 여부 확인 스크립팅 옵션의 기본값은 FALSE입니다.In the Generate and Publish Scripts Wizard, the default value for Check for object existence scripting option is FALSE. 개체의 존재 여부 확인 스크립팅 옵션의 값을 마법사의 스크립팅 옵션 설정 화면에서 TRUE로 설정하면 생성되는 스크립트에는 "CREATE PROCEDURE <procedure_name> AS" 및 "ALTER PROCEDURE <procedure_name> <procedure_definition>"이 포함됩니다.If the value of Check for object existence scripting option is set to TRUE in the Set Scripting Options screen of the wizard, the script generated would contain "CREATE PROCEDURE <procedure_name> AS" and "ALTER PROCEDURE <procedure_name> <procedure_definition>". 고유하게 컴파일된 저장 프로시저에서는 ALTER PROCEDURE가 지원되지 않으므로 생성된 스크립트를 실행하면 오류가 반환됩니다.When executed, the generated script will return an error as ALTER PROCEDURE is not supported on natively compiled stored procedures.

        각각의 고유하게 컴파일된 저장 프로시저에 대해 생성되는 스크립트를 변경하려면 다음을 수행합니다.To change the generated script for each natively compiled stored procedure:

        1. "CREATE PROCEDURE <procedure_name> AS"에서 "AS"를 "<procedure_definition>"으로 바꿉니다.In "CREATE PROCEDURE <procedure_name> AS", replace "AS" with "<procedure_definition>".

        2. "ALTER PROCEDURE <procedure_name> <procedure_definition>"을 삭제합니다.Delete "ALTER PROCEDURE <procedure_name> <procedure_definition>".

      • 데이터베이스 복사.Copy databases. 메모리 액세스에 최적화된 개체가 포함된 데이터베이스의 경우 대상 서버에서 데이터베이스 만들기 및 데이터 전송이 트랜잭션 내에서 실행되지 않습니다.For databases with memory-optimized objects, the creation of the database on the destination server and transfer of data will not be executed within a transaction.

      • 데이터 가져오기 및 내보내기.Import and export data. SQL ServerSQL Server 가져오기 및 내보내기 마법사 하나 이상의 테이블 또는 뷰에서 데이터 복사 옵션을 사용합니다.Use the SQL ServerSQL Server Import and Export WizardCopy data from one or more tables or views option. 대상 테이블이 대상 데이터베이스에 존재하지 않는 메모리 액세스에 최적화된 테이블인 경우:If the destination table is a memory-optimized table that does not exist in the destination database:

        1. SQL ServerSQL Server 가져오기 및 내보내기 마법사테이블 복사 또는 쿼리 지정 화면에서 하나 이상의 테이블 또는 뷰에서 데이터 복사를 선택합니다.In the SQL ServerSQL Server Import and Export Wizard, in the Specify Table Copy or Query screen, select Copy data from one or more tables or views. 그런 후 다음을 클릭합니다.Then click Next.

        2. 매핑 편집을 클릭합니다.Click Edit Mappings. 그런 다음 대상 테이블 만들기 를 선택하고 SQL 편집을 클릭합니다.Then select Create destination table and click Edit SQL. 대상 데이터베이스에서 메모리 액세스에 최적화된 테이블을 만드는 CREATE TABLE 구문을 입력합니다.Enter the CREATE TABLE syntax for creating a memory-optimized table on the destination database. 확인 을 클릭하고 마법사의 나머지 단계를 완료합니다.Click OK and complete the remaining steps in the wizard.

      • 유지 관리 계획.Maintenance plans. 유지 관리 태스크인 인덱스 다시 구성 및 인덱스 다시 작성은 메모리 액세스에 최적화된 테이블과 해당 인덱스에서 지원되지 않습니다.The maintenance tasks reorganize index and rebuild index are not supported on memory-optimized tables and their indexes. 따라서 인덱스 다시 작성 및 인덱스 다시 구성에 대한 유지 관리 계획을 실행하면 선택한 데이터베이스에서 메모리 액세스에 최적화된 테이블과 해당 인덱스가 생략됩니다.Therefore, when a maintenance plan for rebuild index and reorganize index are executed, the memory-optimized tables and their indexes in the selected databases are omitted.

        유지 관리 태스크 업데이트 통계는 메모리 액세스에 최적화된 테이블과 해당 인덱스에 대한 예제 검사에서 지원되지 않습니다.The maintenance task update statistics are not supported with a sample scan on memory-optimized tables and their indexes. 따라서 통계 업데이트에 대한 유지 관리 계획을 실행하면 메모리 액세스에 최적화된 테이블과 해당 인덱스에 대한 통계는 항상 WITH FULLSCAN, NORECOMPUTE로 업데이트됩니다.Therefore, when a maintenance plan for update statistics is executed, the statistics for memory-optimized tables and their indexes are always updated to WITH FULLSCAN, NORECOMPUTE.

  • 개체 탐색기 정보 창Object Explorer details pane

  • Template ExplorerTemplate Explorer

다음에서 지원되지 않는 기능 SQL Server Management StudioSQL Server Management StudioUnsupported Features in SQL Server Management StudioSQL Server Management Studio

메모리 내 OLTP 개체의 경우 SQL Server Management StudioSQL Server Management Studio 는 데이터베이스 엔진이 지원하지 않는 기능과 작업을 지원하지 않습니다.For In-Memory OLTP objects, SQL Server Management StudioSQL Server Management Studio does not support features and operations that are also not supported by the database engine.

지원되지 않는 SQL ServerSQL Server 기능에 대한 자세한 내용은 메모리 내 OLTP에 대해 지원되지 않는 SQL Server 기능을 참조하세요.For more information on unsupported SQL ServerSQL Server features, see Unsupported SQL Server Features for In-Memory OLTP.

참고 항목See Also

메모리 내 OLTP에 대한 SQL Server 지원SQL Server Support for In-Memory OLTP