Автоматическое ОБСЛУЖИВАНИЕ Работа на сервере SQL, который помимо других задач, проверяет целостность всех баз данных (с помощью команды DBCC CHECKDB (blabla) WITH all_errormsgs, no_infomsgs, data_purity
для каждой базы данных), выдает следующее сообщение об ошибке (несколько сот раз):Zero вне диапазона для типа данных 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 - 11.0.5058.0.
Каков тип данных столбца, который выдает ошибку? – Stephan