KB4470821 - 修正:在 SQL Server 2017 中啟用通用準則合規性時,主資料庫上的 DBCC CHECKDB 發生失敗,並發生錯誤 2570

Applies To
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

症狀

請考慮以下案例:

  • 您在 SQL Server 2017 執行個體上啟用通用準則合規性 (CCC) 選項。
  • 您嘗試使用不存在的 SQL 登入登入 SQL Server 執行個體。
  • 使用系統管理員帳戶登入 SQL Server 執行個體。
  • 針對 master 資料庫執行 DBCC CHECKDB 命令。

在此案例中,您可能會收到如下所示的錯誤訊息:

Msg 2570, 層級 16, 狀態 2, Line LineNumber
頁面 (#:#) , slot # in object ID #, index ID #, partition ID #, alloc unit ID # (type “In-row data”) . 資料類型 “nvarchar” 的欄 “name” 值不在範圍內。 將資料欄位更新為法律值。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

解決方式

此問題已在下列 SQL Server 累積更新中修正:

關於 SQL Server 的累積更新:

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

因應措施

若要解決此問題,請啟用 TF) 2566 (追蹤旗標,以便在您針對 master 資料庫執行 DBCC CHECKDB 命令時停用DATA_PURITY檢查。 不過,這並不會防止無效的資料列插入 master 資料庫。 它只會在 DBCC CHECKDB 期間停用檢查。

參考資料

了解 Microsoft 用來說明軟體更新的術語。