Процедура FLEET_TableSizeController
Код
USE
[BN]GO
DECLARE @return_value int
EXEC @return_value = [dbo].[FLEET_TableSizeController]
SELECT 'Return Value' = @return_value
GO
начала валиться с ошибками.
Цитата
Сообщение 8646, уровень 21, состояние 1, строка 50
Невозможно найти индексную запись в индексе с идентификатором 1 таблицы 295008132, в базе данных "BN". Указанный индекс поврежден, или есть проблема с текущим планом обновлений. Запустите программу DBCC CHECKDB или DBCC CHECKTABLE. Если проблема не устранится, свяжитесь со службой поддержки продукта.
Сообщение 0, уровень 20, состояние 0, строка 0
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы.
Решилось удаление всех индексов таблицы FLEET_AnalogData и повторным их созданием
Для "ловли" имени таблицы процедура была изменена в плане:
Open Curs
while 0=0
begin
Fetch from Curs into
@TableSizeParameterID,
@TableName,
@IDColName,
@DateColName,
@MaxRecords,
@MaxDays
if @@Fetch_Status!=0 break
print @TableName
Select
@Cleared=0
где вставленная строка выделена красным.
При запуске в Management studio кода выше выдает не только ошибку, но и название таблицы чуть выше, для которой была ошибка
После пересоздания индекса процедура стала выполняться без ошибок
Цитата
SYS_DEV_ArchiveData
(строк обработано: 0)
FLEET_Events
(строк обработано: 0)
FLEET_AnalogData
(строк обработано: 0)
FLEET_TaskArchive
(строк обработано: 0)
FLEET_UserLog
(строк обработано: 0)
FLEET_SmsWork
(строк обработано: 0)
FLEET_OutCome
(строк обработано: 0)
FLEET_Zone
(строк обработано: 0)
FLEET_ZoneVisitsHistory
(строк обработано: 0)
FLEET_ObjectExtStatusHistory
(строк обработано: 0)
(строк обработано: 1)
(строк обработано: 1)