症狀
假設您在 Microsoft SQL Server 2014 中建立一個原生編譯的預存程序,其查詢包含具有超過 256 個運算子的大型運算式。 當您嘗試在查詢或程序上使用 showplan_xml 時,收到下列錯誤:
注意
Msg 41322, Level 16, State 33, Procedure sp_name>, Line<<line_number>
MAT/PIT 匯出/匯入在記憶體最佳化表格或原生編譯的預存程序中發生失敗,其資料庫<>識別碼識別碼識別碼編號在資料庫識別碼<識別碼中>。 錯誤碼已0x88000015。
原因
發生此問題的原因是 SQL Server 2014 中的缺陷。
解決方式
套用 Hotfix 之後,showplan_xml具有大量運算子的原生程序將會成功。
此問題已先在下列 SQL Server 累積更新中修正。
SQL Server 2014 累積更新 1 /zh-tw/help/2931693
關於 SQL Server 的累積更新
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:
因應措施
若要解決此問題,請使用下列因應措施:
- 將運算式分割成多個子運算式。
- 使用括號明確強制運算式巢狀結構,以建立寬而淺的運算式樹狀結構,而不是深度巢狀的運算式樹狀結構。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。