Microsoft 將 Microsoft SQL Server 2012、2014 或 2016 的修補程式作為一個可下載檔案發佈。 由於修補是累積性的,每個新版本都包含先前 SQL Server 2012、2014、2016 修補釋中包含的所有熱修補與安全修補。
症狀
啟用 Microsoft SQL Server 2012、2014 或 2016 資料庫的變更資料擷取後,變更表中的 __$operation 欄位可能會因更新資料列而順序錯誤。 當你更新一列時,變更表中有兩列,分別是 delete(刪除)和 insert(用於 __$ 操作)。 但插入操作可能會意外出現在刪除操作之前。 若應用程式將資料列重新套用到另一有主鍵限制的資料表,可能會發生以下主鍵違規:
注意
訊息 2627,第 14 級,州 1,第 6 行違反 PRIMARY KEY 約束「Primary_Key_name」。 無法在物件「table_name」中插入重複金鑰。 重複的鍵值是 (值) 。
解決方式
此問題在以下 SQL Server 的累積更新中得到修正。
- Cumulative Update 5 for SQL Server 2016 RTM
- Cumulative Update 2 for SQL Server 2016 SP1
- Cumulative Update 4 for SQL Server 2014 SP2
- Cumulative Update 10 for SQL Server 2014 SP1
- 累積更新9 for SQL Server 2014
- 累積更新8 for SQL Server 2012 SP3
- 累積更新7 for SQL Server 2012 SP2
建議:安裝最新的 SQL Server 累積更新
每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:
- SQL Server 2016 最新累積更新
- SQL Server 2014 最新累積更新
- SQL Server 2012 SP3 的最新累積更新
- SQL Server 2012 SP2 的最新累積更新
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
了解 Microsoft 用來說明軟體更新的術語。