一個SQL服務器,除其他任務檢查所有數據庫的完整性(通過發出命令DBCC CHECKDB (blabla) WITH all_errormsgs, no_infomsgs, data_purity
每一個數據庫)上的自動maintainence作業時,引發以下錯誤消息(幾百次):數據類型爲SQL_VARIANT的數值超出範圍?
Msg 2570, Level 16, State 3, Line 1
Page (1:235), slot 22 in object ID 643585431, index ID 1, partition ID 323652991516672, alloc unit ID 42178014806016 (type "In-row data"). Column "Value" value is out of range for data type "sql_variant". Update column to a legal value.
經過一些取證工作後,我發現它在所有行上都有一列值爲0
的消息。當有另一個值不是0
時,不會引發錯誤消息。我不知道數據類型sql_variant
的特定值可能會超出範圍。
這個數據庫是一個商業產品的一部分,我沒有設計輸入,維護工作是安裝服務器的公司必須的。我大多隻是爲了知道數據庫維護檢查如何認爲值0
超出範圍,以查看它是否可修復而感興趣。所有錯誤都會被髮送到總部,因此必須由一些可憐的靈魂進行評論和迴應,所以能夠避免這種無意義的錯誤會很好。
服務器操作系統是Windows Server 2012 Standard,Microsoft SQL Server版本是11.0.5058.0。
什麼是引發錯誤的列的數據類型? – Stephan