Sql-Server

has_unchecked_assembly_data 在更改兼容性級別後由於持久計算列的重要性?

  • November 6, 2018

這個數據庫有一個持久化的計算列,它是通過呼叫 .NET 函式來計算的。在將兼容性從 MSSQL 2005 更改為 2012 時,我收到了錯誤 10334,這看起來更像是一個警告:它告訴我它必須將其中一個表標記為 has_unchecked_assembly_data。

它沒有告訴我該怎麼做。我應該保持原樣嗎?我應該強制以某種方式重新計算列嗎?如何?

在此處輸入圖像描述

alter assembly unchecked data 的文件列出了導致此問題的幾個原因,我認為 #1 是唯一適用於該數據庫的原因。它也沒有解釋如何取消標記這些列。

執行DBCC CHECKTABLEDBCC CHECKDB將 has_unchecked_assembly_data 設置為零。這在SQL Server 聯機叢書 sys.tables 參考中有記錄。

在升級到 SQL Server 2017 時,我需要執行DBCC CHECKDBDBCC CHECKTABLE選擇EXTENDED_LOGICAL_CHECKS設置has_unchecked_assembly_data為零。

參考:

程序集 -

對索引執行邏輯一致性檢查

引用自:https://dba.stackexchange.com/questions/121953