Повреждение базы 1С на MS SQL: что задето и что поднимать из бэкапа
База данных - Администрирование СУБД
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Проверка целостности CHECKDB на MS SQL нашла ошибки и пишет про служебные таблицы, страницы и индексы. Обработка переводит это на язык 1С: какой документ, справочник или регистр задет, чего стоит потеря и что поднимать из бэкапа. Битый индекс отделяется от потерянных данных: его перестраивают без потерь. Движения регистров возвращаются перепроведением, бэкап для них не нужен.
Как читать вывод проверки и что стоит за каждым видом ошибки, разобрано в статье "CHECKDB нашёл ошибки. Что именно пропало в 1С".
Что делает
- Разбирает вывод CHECKDB: текст с вкладки "Сообщения" на русском или английском, вывод из командной строки, табличный результат. Вставить в поле или открыть файлом в кодировке UTF-16, UTF-8, windows-1251 или cp866.
- Называет объект 1С на каждой битой странице: документ, его табличную часть, регистр, итоги, регистрацию изменений, индекс. Перевод делает сама платформа, функцией
ПолучитьСтруктуруХраненияБазыДанных. - Ставит вердикт по каждой строке. Зелёный "Данные целы": испорчен только индекс, строк объекта в нём нет. Жёлтый "Восстановимо без бэкапа": движения, итоги, регистрация изменений, настройки. Красный "Нужен бэкап": шапки документов, табличные части, справочники, независимые регистры сведений. Серый "Разобрать вручную". Сверху крупная строка итога по всей базе.
- Называет конкретные документы с номерами и датами сверкой с копией из бэкапа: слепок рабочей базы, слепок копии, сравнение. По каждому документу видно, пропал он целиком, у него не хватает строк табличной части или пропали движения. Всё запросами 1С.
- План восстановления по шагам средствами 1С и код для консоли, который собирает ссылки на потерянные документы по их идентификаторам для переноса из копии.
- Выгрузка в Markdown одним файлом: итог, таблицы, план и сведения о базе без паролей. Удобно отдать коллеге или нейросети.




Чего не делает
- К серверу баз данных не подключается, к его таблицам не обращается. Базу не исправляет и в неё не пишет.
- Файловые базы и PostgreSQL не разбирает, только клиент-серверные базы на MS SQL.
- Не знает, что после бэкапа документы законно удаляли, перепроводили или переносили на другую дату: такие тоже попадут в список пропавших. Отчёт сверки об этом предупреждает, список сверяют по датам.
- Слепок пишется во временный каталог рабочего процесса сервера 1С. Если в кластере серверов 1С несколько рабочих серверов и вызов ушёл на другой, обработка пишет понятную ошибку. Тогда слепок снимают при одном рабочем сервере.
На чём проверялась
- Копия пустой типовой Управление торговлей для Казахстана 3.4, платформа 8.3.27, MS SQL 2022. Данные синтетические: 3 000 реализаций и 1 500 приобретений товаров с табличной частью "Товары" и движениями по регистру "Товары на складах".
- Четыре случая порчи страниц, каждый с чистой копии: индекс документа, сами документы, табличная часть, движения регистра. Плюс все четыре сразу. Сверка с копией назвала ровно то, что было испорчено: 9 документов целиком, 19 строк табличной части у 5 документов, 44 движения у 10 документов. Совпало со списком, снятым до порчи.
- Слепок по задетым объектам (документ и регистр, 10 499 строк) снимается за 0,7 секунды на сервере, сравнение 1,2-1,4 секунды. Слепок и сравнение идут порциями по месяцам, ход видно на форме.
- Другие типовые конфигурации не гонялись. Перевод таблиц в объекты и сверка платформенные и от конфигурации не зависят.
Что в файле
- Обработка на управляемых формах, любая конфигурация. Проверено на платформе 8.3.27.
- Внутри закладка "Частые вопросы": как отличить индекс от данных, что значит "Восстановимо без бэкапа", какой вывод CHECKDB подойдёт.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.22.67
Вступайте в нашу телеграмм-группу Инфостарт