メモリ最適化テーブルの作成

適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance

メモリ最適化テーブルは、テーブル全体がメモリ内に存在する SQL Server の機能です。 テーブル データの 2 番目のコピーはディスクに保持されています。 データベース復旧中は、メモリ最適化テーブルのデータはディスクからの読み取りのみ行われます。 たとえば、サーバー再起動後などの場合です。 メモリ最適化テーブルは、Azure Data Studio のテーブル デザイナーで作成できます。

注意

メモリ最適化テーブルは、ファイル グループに属している必要があります。 詳細については、メモリ最適化ファイル グループに関するこのドキュメントを参照してください。

メモリ最適化テーブルには、クラスター化されていない主キーが必要です。 メモリ最適化テーブルの概要については、「メモリ最適化テーブルの概要」の記事を参照してください。 さらに、すべてのメモリ最適化テーブルに少なくとも 1 つのインデックスが必要です。

メモリ最適化テーブルを作成する

  1. メモリ最適化テーブルを作成するには、データベースのファイル グループが作成されていることを確認する必要があります。 オブジェクト エクスプローラーで、メモリ最適化テーブルが存在するまったく新しいデータベースを作成するため、サーバー レベルから新しいクエリ エディター ウィンドウを開きます。 クエリ エディターで、次のコードをコピーし貼り付けて実行します。

    CREATE DATABASE imoltp   
    GO  
    
    --------------------------------------  
    -- create database with a memory-optimized
    -- filegroup and a container.
    
    ALTER DATABASE imoltp ADD FILEGROUP imoltp_mod
        CONTAINS MEMORY_OPTIMIZED_DATA;
    
    ALTER DATABASE imoltp ADD FILE (
        name='imoltp_mod1', filename='c:\data\imoltp_mod1')
        TO FILEGROUP imoltp_mod;
    
    ALTER DATABASE imoltp
        SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = ON;
    GO  
    --
    

    上記のコードで、新しいデータベースを作成し、ファイル グループをデータベースに追加し、ファイル グループにファイルを追加し、最後に、このデータベースに追加されたメモリ最適化テーブルの分離レベルを SNAPSHOT に設定します。

  2. 次に、オブジェクト エクスプローラーから imoltp データベースを開き、[テーブル] フォルダーを右クリックし、[新しいテーブル] を選択してテーブルを作成します。 これにより、テーブル デザイナー ビューが開きます。 このテーブルの主キーを割り当てます ([主キー] 設定の [クラスター化] チェック ボックスをオフにして、この主キーがクラスター化されていないことを確認します)

    非クラスター化主キーを使ってメモリ最適化テーブルを作成する方法を示すテーブル デザイナーのスクリーンショット。

  3. [テーブルのプロパティ] ペインに移動します。 [メモリ最適化] チェック ボックスを選択します。 これにより、[持続性] ドロップダウンが有効になり、スキーマのみをメモリに格納するか、スキーマとデータの両方を格納するかを選択できます。 [スキーマ] を選択すると、データベースのスキーマのみがメモリに保存されます。 次に示すように、スクリプトが更新されて変更が反映されます。

    スキーマのみの構成を使用したメモリ最適化テーブルを示すテーブル デザイナーのスクリーンショット。

    [スキーマ] を選択すると、スキーマのみがメモリに保存されます。 [スキーマとデータ] を選択すると、スキーマとデータの両方がメモリに保存されます。 スクリプトの変更に注意してください。

    スキーマのみのメモリ最適化テーブルを示すテーブル デザイナーのスクリーンショット。

注意

テーブル デザイナーでは、ハッシュ インデックス、列ストア インデックスもサポートされており、これらはメモリ最適化テーブルの作成時に構成できます。

次の手順