次の方法で共有


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

重要

Azure Data Studio は、2026 年 2 月 28 日 に廃止される予定です。 弊社は、Visual Studio Codeを使用することをお勧めします。 Visual Studio Code への移行の詳細については、「Azure Data Studio の概要」を参照してください。

適用対象:SQL ServerAzure 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
        --
    

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

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

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

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

    スキーマのみの構成を持つテーブル Memory-Optimized 示すテーブル デザイナーのスクリーンショット。

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

注意

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

次の手順