複寫到記憶體最佳化資料表的訂閱者

適用於:SQL ServerAzure SQL 受控執行個體

你可以將作為快照和交易複製訂閱者的資料表(點對點交易複製除外)配置為記憶體優化資料表。 記憶體優化的表格與其他複製配置不相容。 此功能自 SQL Server 2016(13.x)起開始提供。

需要兩項設定

將記憶體最佳化資料表設定為訂閱者

  1. 建立交易式發行集。 如需詳細資訊,請參閱 建立出版物。

  2. 將文章加入出版物。 如需詳細資訊,請參閱 定義發行項。

    如果使用 Transact-SQL 進行設定,請將 sp_addarticle 預存程序的 @schema_option 參數設為
    0x40000000000。

  3. 在文章屬性視窗中,將 啟用記憶體優化 設 為 true。

  4. 啟動 快照集代理程式 作業,以產生此發行的初始快照。 如需詳細資訊,請參閱 建立和套用初始快照集。

  5. 現在建立一項新訂閱。 在 [新增訂閱精靈] 中,將 記憶體最佳化訂閱 設定為 [true] 。

記憶體最佳化資料表現在應會開始接收來自發行端的更新。

重新設定現有的交易複寫

  1. 在 Management Studio 中前往訂閱屬性,將 [記憶體最佳化訂閱] 設定為 true。 這些變更只有在你重新初始化訂閱後才會生效。

    如果使用 Transact-SQL 進行設定,請將 sp_addsubscription 預存程序的新 @memory_optimized 參數設為 true。

  2. 在 Management Studio 中,前往某發行的發行項屬性,並將 Enable Memory optimization 設定為 true。

    如果使用 Transact-SQL 進行設定,請將 sp_addarticle 預存程序的 @schema_option 參數設為
    0x40000000000。

  3. 記憶體優化的資料表不支援叢集索引。 若要讓複製處理此限制,將目標目錄轉換為非叢集索引,請將「 記憶體最佳化文章的群組索引轉換為非叢集 」設為 true。

    如果使用 Transact-SQL 進行設定,請將 sp_addarticle 預存程序的 @schema_option 參數設為 0x0000080000000000。

  4. 重新生成快照。

  5. 重新初始化這項訂閱。

備註與限制

僅支援單向異動複寫。 不支援點對點交易複製。

你無法發佈記憶體優化的資料表。

你無法在發行版上將複製表設定為記憶體最佳化資料表。

無法在合併式複寫中包含記憶體最佳化資料表。

在訂閱者端,你可以將涉及交易複製的資料表配置為記憶體優化資料表,但訂閱者資料表必須符合記憶體最佳化資料表的要求。 此要求施加以下限制:

修改結構描述檔案

  • 如果你使用記憶體優化資料表選項 DURABILITY = SCHEMA_AND_DATA,該資料表必須有非叢集的主鍵索引。

  • ANSI_PADDING 必須是 ON。