共用方式為


記憶體最佳化顧問

交易效能報告工具(請參閱 判斷數據表或預存程式是否應移植到 In-Memory OLTP)通知您,如果移植到使用 In-Memory OLTP,資料庫中哪些數據表會受益。 在您識別出想要移植使用 In-Memory OLTP 的數據表之後,您可以使用記憶體優化建議程式來協助您將磁碟資料庫數據表移轉至 In-Memory OLTP。

若要開始,請連線到包含磁碟資料庫數據表的 實例。 您可以連線到 SQL Server 2012 或 SQL Server 2014 實例。 不過,如果您想要使用 Advisor 執行移轉作業,您必須連線到啟用 In-Memory OLTP 功能的 SQL Server 2014 實例。 如需 In-Memory OLTP 需求的詳細資訊,請參閱 使用 Memory-Optimized 數據表的需求

如需移轉方法的相關信息,請參閱 In-Memory OLTP - 一般工作負載模式和移轉考慮

使用 Memory-Optimization Advisor 的操作指南

物件總管 中,以滑鼠右鍵點擊您要轉換的資料表,然後選取 Memory-Optimization Advisor。 這會顯示 資料表記憶體優化顧問 歡迎頁面。

記憶體優化檢查清單

當您在歡迎頁面中按一下 下一步數據表記憶體優化建議程式時,您將會看到記憶體優化檢查清單。 記憶體優化數據表不支援以磁碟為基礎的數據表中的所有功能。 記憶體優化檢查清單會報告磁碟數據表是否使用與記憶體優化數據表不相容的任何功能。 數據表記憶體優化建議程式不會修改磁碟型數據表,以便移轉為使用 In-Memory OLTP。 您必須先進行這些變更,才能繼續移轉。 針對找到的每個不相容情況, 數據表記憶體優化建議程式 會顯示可協助您修改磁碟數據表的信息連結。

如果您想要保留這些不相容的清單,若要規劃移轉,請按兩下 [產生報告 ] 以產生 HTML 清單。

如果您的數據表沒有不相容,且您已連線到具有 In-Memory OLTP 的 SQL Server 2014 實例,請按 [ 下一步]。

記憶體優化警告

下一頁記憶體優化警告包含的問題清單,不會防止數據表移轉成使用 In-Memory OLTP,但這可能會導致其他物件的行為(例如預存程式或 CLR 函式)失敗或導致非預期的行為。

清單中的前幾個警告是參考性的,而且可能或可能不適用於您的數據表。 數據表右側數據行中的連結會帶您前往詳細資訊。

警告表格也會顯示在您的表格中不存在的潛在警告條件。

可採取動作的警告會在左側數據行中有黃色三角形。 如果有可採取動作的警告,您應該結束移轉、解決警告,然後重新啟動程式。 如果您未解決警告,則移轉的數據表可能會導致失敗。

按兩下 [產生報表 ] 以產生這些警告的 HTML 報告。 按 [下一步] 繼續進行。

檢閱優化選項

下一個畫面可讓您修改移轉至 In-Memory OLTP 的選項:

記憶體優化檔案群組
記憶體優化檔案群組的名稱。 資料庫必須具有至少一個檔案的記憶體優化檔案群組,才能建立記憶體優化數據表。

如果您沒有記憶體優化檔案群組,您可以變更預設名稱。 記憶體優化檔案群組無法刪除。 記憶體優化檔案群組的存在可能會停用某些資料庫層級功能,例如 AUTO CLOSE 和資料庫鏡像。

如果資料庫已經有記憶體優化檔案群組,此欄位將會預先填入其名稱,而且您將無法變更此欄位的值。

邏輯檔名和檔案路徑
將包含記憶體優化數據表的檔名。 資料庫必須具有至少一個檔案的記憶體優化檔案群組,才能建立記憶體優化數據表。

如果您沒有現有的記憶體優化檔案群組,您可以變更移轉程式結尾所要建立之檔案的預設名稱和路徑。

如果您有現有的記憶體優化檔案群組,這些欄位將會預先填入,而且您將無法變更這些值。

將原始數據表重新命名為
在移轉程序結束時,將會使用數據表的目前名稱來建立新的記憶體優化數據表。 若要避免名稱衝突,必須重新命名目前的數據表。 您可以在此欄位中變更該名稱。

估計目前的記憶體成本 (MB)
Memory-Optimization Advisor 根據磁碟型數據表的元數據估算新的記憶體優化數據表將會消耗的記憶體量。 表格大小的計算在 Memory-Optimized 表格中的表格及列大小 中有所說明。

如果未分配足夠的記憶體,移轉程式可能會失敗。

同時將數據表數據複製到新的記憶體優化數據表
如果您想要將目前資料表中的數據移至新的記憶體優化數據表,請選取此選項。 如果未選擇此選項,將建立一個新的記憶體優化的資料表,且不包含任何資料列。

根據預設,數據表會移轉為永久性數據表
In-Memory OLTP 支援非耐久數據表,其性能優於持久記憶體優化數據表。 不過,伺服器重新啟動時,非耐久數據表中的數據將會遺失。

如果選取此選項,Memory-Optimization Advisor 會建立非永久性表,而不是持久性表。

警告

只有在您瞭解與非耐久數據表相關聯的數據遺失風險時,才選取此選項。

選取 [下一步] 以繼續操作。

審查主鍵轉換

下一個畫面是 [檢閱主要密鑰轉換]。 Memory-Optimization Advisor 會偵測數據表中是否有一或多個主鍵,並根據主鍵元數據填入數據行清單。 否則,如果您想要移轉至持久的記憶體優化數據表,您必須建立主鍵。

如果主鍵不存在,且數據表正在移轉至非耐久數據表,則不會出現此畫面。

對於文字欄位(類型為 charncharvarcharnvarchar 的欄位),您必須選擇適當的排序。 In-Memory OLTP 僅支援記憶體優化數據表上數據行的 BIN2 定序,而且不支援具有補充字元的定序。 如需所支援定序的相關信息,以及定序變更的潛在影響,請參閱 定序和代碼頁

您可以設定主鍵的下列參數:

選取此主鍵的新名稱
此數據表的主鍵名稱在資料庫內必須是唯一的。 您可以在這裏變更主鍵的名稱。

選取此主鍵的類型
In-Memory OLTP 支援記憶體優化資料表上的兩種類型的索引:

  • 非聚簇哈希索引。 此索引最適合具有許多點查詢的索引。 您可以在 [桶數] 欄位中設定此索引的 桶數

  • 「NONCLUSTERED」索引。 這種類型的索引最適合具有許多範圍查詢的索引。 您可以在 [排序資料行] 和 [順序 ] 列表中設定每個資料行的排序順序。

若要瞭解最適合主鍵的索引類型,請參閱 哈希索引

在進行主鍵選擇之後,按 [ 下一步 ]。

審核索引轉換

下一頁是 [檢閱索引轉換]。 Memory-Optimization Advisor 會偵測數據表中是否有一或多個索引,並填入數據行和數據類型的清單。 您可以在 [ 檢閱索引轉換 ] 頁面中設定的參數類似於上一個[ 檢閱主鍵轉換 ] 頁面。

如果數據表只有主鍵,而且它正在遷移至耐久數據表,則不會出現此畫面。

在您決定數據表中的每個索引之後,請按 [下一步]。

確認移轉動作

下一頁是 驗證移轉動作。 若要編寫移轉作業的腳本,請按兩下 [ 文稿 ] 來產生 Transact-SQL 腳本。 然後,您可以修改並執行腳本。 按一下移轉以開始表格移轉。

當程序完成後,請重新整理物件總管,以查看新的記憶體優化表格和舊的基於磁碟的表格。 您可以保留舊的數據表,或在方便時加以刪除。

另請參閱

移轉至 In-Memory OLTP