MS SQL Ошибка СУБД: Предоставленный поток статистики разрушен. Как решить проблему с разрушенной статистикой

16.04.19

Задачи пользователя - Корректировка данных

MS SQL Ошибка СУБД: Предоставленный поток статистики разрушен... Как решить проблему с разрушенной статистикой

Всем привет. Как всегда внезапно появилась проблема с рабочей базой 1С на MS SQL Server. Она появилась в виде окна с ошибкой СУБД при попытке посмотреть структуру подчиненности документа. Сначала, конечно, сделал копию базы. Для поиска разрушенной статистики в SQL Server Management Studio запустил команду 

EXEC sp_updatestats.

В окне сообщений находим название проблемной таблицы.У меня это была таблица документа _Document531. Находим эту таблицу в обозревателе слева и ищем перечень Статистик этой таблицы.

Затем обновляем конкретные статистики, пока не находим проблемную
USE test; 

GO 

UPDATE STATISTICS [dbo].[_Document531]([_Document531_ByDocDate_TRL]); 

GO

Эта нормальная, сообщение: Выполнение команд успешно завершено.

Находим проблемную, в нашем случае
USE test; 

GO 

UPDATE STATISTICS [dbo].[_Document531]([_Document531_ByField27205_RR]); 

GO

Сообщение: Сообщение 9105, уровень 16, состояние 25, строка 3

Предоставленный поток статистики разрушен.

Можно попробовать команду удаления автосозданной статистики типа
drop statistics [_Document531].[_WA_Sys_00000002_7EBF9EA0]

Но на проблемной статистике эта команда не сработала
drop statistics [_Document531].[_Document531_ByField27205_RR]

Выдало сообщение: Сообщение 3739, уровень 11, состояние 1, строка 1

Невозможно DROP индекс "_Document531._Document531_ByField27205_RR", так как он не является коллекцией статистики.

Для решения проблемы нужно пересоздать индекс, находим его в списке индексов, нажимаем правой кнопкой мыши и выбираем Создать скрипт для индекса > Используя DROP и CREATE.

Запускаем запрос, появившийся в новом окне.

Выдало сообщение: Выполнение команд успешно завершено.

После чего еще раз запускаем команду  EXEC sp_updatestats

В конце было сообщение: Статистика по всем таблицам обновлена.

Вступайте в нашу телеграмм-группу Инфостарт

Ошибка СУБД Предоставленный поток статистики разрушен

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14640 руб.

29.04.2020    49923    135    161    

90

Корректировка данных Системный администратор Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3660 руб.

10.02.2017    120728    728    177    

765

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    45768    31    13    

49

Зарплата Корректировка данных Бухгалтер 1С 8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет НДФЛ Платные (руб)

Внешняя обработка сравнивает НДФЛ из расчетного листка и НДФЛ из регистра, на разницу формирует документы в 2 шага. Исправляет расхождения, в том числе, когда Аванс больше Зарплаты

9760 руб.

01.09.2023    7819    320    85    

19

Взаиморасчеты Корректировка данных Бухгалтер 1С 8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Автоматическое создание документов корректировок долга. Распределение Аванса уплаченному Интернет-площадке и долгами поставщиков.

7320 руб.

02.03.2026    743    2    0    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. s22 23 17.04.19 14:54 Сейчас в теме
Напишите, что это MSSQL в шапке.
2. user1661095 09.09.21 18:22 Сейчас в теме
А находить проблемную таблицу только перебором?
А то если таблиц 500штук, сложно
3. ivdenis 01.02.25 22:55 Сейчас в теме
Так намного удобнее искать.

DECLARE @tableName NVARCHAR(255);

DECLARE table_cursor CURSOR FOR
SEL ECT TABLE_NAME
FR OM INFORMATION_SCHEMA.TABLES
WH ERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'ИмяБазы';

OPEN table_cursor;
FETCH NEXT FROM table_cursor INTO @tableName;

WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
DECLARE @sql NVARCHAR(MAX);
SET @sql = 'UPDATE STATISTICS [' + @tableName + '] WITH FULLSCAN;';
EXEC sp_executesql @sql;
PRINT 'Обновлена статистика для таблицы: ' + @tableName;
END TRY
BEGIN CATCH
PRINT 'Ошибка обновления статистики для таблицы: ' + @tableName + '. Ошибка: ' + ERROR_MESSAGE();
END CATCH;

FETCH NEXT FR OM table_cursor INTO @tableName;
END;

CLOSE table_cursor;
DEALLOCATE table_cursor;
Для отправки сообщения требуется регистрация/авторизация