共用方式為


使用記憶體最佳化資料表的需求

除了安裝 SQL Server 2014 的硬體和軟體需求之外,以下是使用 OLTP In-Memory的需求:

  • 64 位 Enterprise、Developer 或 Evaluation edition of SQL Server 2014。

  • SQL Server需要足夠的記憶體來保存記憶體優化資料表和索引中的資料。 為了說明資料列版本,您應該提供記憶體最佳化的資料表和索引預期大小兩倍的記憶體數量。 但是所需的實際記憶體數目將取決於您的工作負載。 您應該監視記憶體使用量並視需要進行調整。 記憶體最佳化資料表的資料大小不得超過集區所允許的百分比。 若要探索記憶體優化資料表的大小,請參閱 sys.dm_db_xtp_table_memory_stats (Transact-SQL)

    如果資料庫中有以磁碟為基礎的資料表,您需要提供足夠的記憶體,讓緩衝集區和查詢能夠在這些資料表上進行處理。

    請務必了解記憶體中 OLTP 應用程式需要多少記憶體。 如需詳細資訊,請參閱 估計記憶體最佳化資料表的記憶體需求

  • 釋放持久的記憶體最佳化資料表大小的兩倍磁碟空間。

  • 處理器需要支援指令 cmpxchg16b 以使用記憶體內部 OLTP。 所有新型 64 位元處理器都支援 cmpxchg16b

    如果您使用 VM 主機應用程式,且SQL Server顯示舊版處理器所造成的錯誤,請參閱應用程式是否有允許cmpxchg16b的組態選項。 如果沒有,您可以使用 Hyper-V,它可以支援 cmpxchg16b ,而不需要修改組態選項。

  • 若要安裝 In-Memory OLTP,請在安裝 SQL Server 2019 (15.x) 時選取[Database Engine Services]。

    若要安裝報表產生 (判斷資料表或預存程式是否應移植到In-Memory OLTP) ,並SQL Server Management Studio (透過 SQL Server Management Studio 物件總管) 管理In-Memory OLTP,請在您選取 [管理工具]-[基本] 或 [管理工具-進階]install SQL Server 2019 (15.x) 。

使用 In-Memory OLTP 的重要注意事項

  • 資料庫中所有持久資料表的記憶體中大小總計不應該超過 250 GB。 如需詳細資訊,請參閱 Memory-Optimized 資料表的持久性

  • 此版本的 In-Memory OLTP 的目標是在 2 或 4 個通訊端和少於 60 個核心的系統上以最佳方式執行。

  • 檢查點檔案無法手動刪除。 SQL Server會在不需要的檢查點檔案上自動執行垃圾收集。 如需詳細資訊,請參閱Memory-Optimized 資料表持久性中合併資料和差異檔案的討論。

  • 在這個 SQL Server 2014) 中In-Memory OLTP (版中,移除記憶體優化檔案群組的唯一方法是卸載資料庫。

  • 如果您在嘗試刪除大批資料列時,有並行的插入或更新工作負載會影響您正嘗試刪除的資料列範圍,則刪除作業可能會失敗。 解決方法是先停止插入或更新工作負載,然後執行刪除。 或者,您也可以將交易設定為較小的交易,這樣做比較不容易受到並行工作負載所中斷。 如同記憶體最佳化資料表上的所有寫入作業,使用重試邏輯 (Guidelines for Retry Logic for Transactions on Memory-Optimized Tables)。

  • 如果您使用記憶體優化資料表建立一或多個資料庫,您應該啟用「立即檔案初始化」 (授與SQL Server服務啟動帳戶SE_MANAGE_VOLUME_NAME SQL Server實例的使用者權限) 。 如果沒有立即檔案初始化,記憶體最佳化儲存體檔案 (資料和差異檔案) 將會在建立時初始化,而這樣可能會對工作負載的效能造成負面影響。 如需有關立即檔案初始化的詳細資訊,請參閱 資料庫檔案初始化。 如需有關如何啟用立即檔案初始化的詳細資訊,請參閱 如何及為何啟用立即檔案初始化

這篇文章對您有幫助嗎? 我們正在接聽

您要尋找哪些資訊?找到了嗎? 我們正在聆聽您的意見反應,以改善內容。 請將您的意見傳送到 sqlfeedback@microsoft.com的商務規則範例。

另請參閱

In-Memory OLTP (記憶體中最佳化)