徵狀
假設您在 Microsoft SQL Server 2012、2014或2016中包含大型小數值或數值的資料行上建立主鍵。 接著,您可以使用此資料行做為唯一的索引鍵索引來建立完整文字索引。 在這種情況下,如果有某些列無法編制索引,則完整的文字鍵值會記錄為負數或 unicode 字元。 因此,您無法識別無法編制索引的資料列。
解決方案
此問題已在 SQL Server 的下列累積更新中修正:
Sql server 2016 累積更新 4(適用于Sql Server 2012 Service Pack 3)累計更新 6
針對 Sql server 2014 SP1 累積更新10(適用于 SQL server 2014 SP2)累積更新 3
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
Sql server 2014 SP1/SP2最新累計更新 sql Server 2012的最新累計更新
因應措施
若要解決此問題,請將唯一的 Bigint 或 int 資料行新增至資料表,然後改為使用該資料行指定完整的文字。 當報告失敗的列或檔時, Int和Bigint會正確地向全文錯誤記錄報告其值。 完整文字所使用的唯一欄不需要是資料表的主鍵。
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
瞭解 Microsoft 用於描述軟體更新的 詞彙。