Восстановление SQL базы данных после неудачного обновления

26.03.16

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

После добавления нескольких реквизитов справочника в момент обновления конфигуратор завис и благополучно вывалился с ошибкой.

К сожалению, на момент починки не смог найти статью с похожей проблемой:
//infostart.ru/public/390768/
//infostart.ru/public/391766/ 

Поэтому решил описать свой опыт, для более простых случаев, когда под рукой есть более-менее свежий бекап.


Итак, что имеем:

  1. MS SQL Server 2008 + 1C 8.2.19
  2. Свежий ночной бекап (если такового нет, прочтения вышеуказанных ссылок вам не избежать)
  3. В Предприятие зайти невозможно - дает ошибку на какой-то тип
  4. Конфигуратор открывается нормально, можно сохранить в файл конфигурацию и конфигурацию БД, любые другие операции с конфигурацией БД (обновление, сравнение, открытие) приводят к вылету Конфигуратора.
  5. Тестирование и исправление (Реструктуризация таблиц) также ведут к моментальному вылету Конфигуратора.


Поиск способа решения:

  1. Проверка БД средствами SQL показала что ошибок нет
  2. Выгрузка в dt и загрузка обратно без ошибок, но ничего не дает: успешно получаем такую же базу с битой конфигурацией.
  3. Загрузка конфигурации целиком из файла также безуспешно.
  4. Создание новой базы из сохраненной конфигурации и копирование из нее нужных данных - имена таблиц SQL будут не совпадать.

Решение:

  1. Делаем бекап поврежденной базы (бекапы лишними не бывают) (у меня она называется ForGamesWithRestore)!
  2. Сохраняем конфигурацию из поврежденной базы (если она отличается от конфигурации в бекапе).
  3. Разворачиваем бекап в параллельную базу (напр. назовем ее FromBackUp).
  4. В поврежденной базе чистим таблицу ConfigSave (это изменения конфигурации, которые не удалось применить к Конфигурации БД):
    DELETE FROM ForGamesWithRestore.dbo.ConfigSave
    GO
  5. Очищаем таблицы Config, DBSchema, Params в поврежденной базе, и копируем их базы FromBackUp:
     
    DELETE FROM ForGamesWithRestore.dbo.Config
    GO
    DELETE FROM ForGamesWithRestore.dbo.DBSchema
    GO
    DELETE FROM ForGamesWithRestore.dbo.Params
    GO
    INSERT INTO ForGamesWithRestore.dbo.Config SELECT * FROM From_BackUp.dbo.Config
    INSERT INTO ForGamesWithRestore.dbo.DBSchema SELECT * FROM From_BackUp.dbo.DBSchema
    INSERT INTO ForGamesWithRestore.dbo.Params SELECT * FROM From_BackUp.dbo.Params
  6. Если структуры конфигураций базы и бекапа не отличались, то на этом все.

  7. Если отличия в метаданных были, то важно понимать что на текущем этапе таблицы SQL не соответствуют структуре конфигурации, напр. в моем случае  в таблице с измененным справочником присутствовали две колонки, про которые Конфигуратор не знал.

  8. Пробуем обновить Конфигурацию из файла (сохраняли на шаге 2). При возникновении ошибок читаем ссылки указанные в начале

См. также

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

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

60000 руб.

06.10.2023    4773    38    20    

45

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

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

14400 руб.

29.04.2020    34231    109    152    

75

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

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

3600 руб.

10.02.2017    111739    672    175    

711

Корректировка данных Программист Пользователь Платформа 1С v8.3 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.2 от 09.06.2024!

19200 руб.

26.08.2018    52747    16    61    

55

Закрытие периода Корректировка данных Программист Пользователь Платформа 1С v8.3 Система компоновки данных 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    51486    175    29    

127

Корректировка данных Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Налоговый учет Налог на прибыль Платные (руб)

Обработка служит для: выравнивания бухгалтерского и налогового учета на определенную дату по выбранным счетам; закрытия остатков по выбранным счетам; обнуления налогового учета (ПР, ВР также будут обнулены)

2880 руб.

05.05.2024    743    11    0    

7

Корректировка данных Программист Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет НДС Платные (руб)

Обработка предназначена для ООО для смены системы налогообложения УСН на ОСНО, без ведения раздельного учета, входящего НДС по способам учета. При реализации перехода в операции формируются проводки по выделению НДС, который ранее учитывался в стоимости номенклатуры, регистр «НДС Предъявленный».

6000 руб.

22.01.2025    437    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. jan27 733 28.03.16 13:03 Сейчас в теме
Если очищать таблицу целиком - truncate быстрее
Irwin; BlaSo; +2 Ответить
2. break 33 30.03.16 09:14 Сейчас в теме
можно один раз настроить триггер на сохранение Config и всегда иметь его свежую версию http://infostart.ru/public/327674/
5. BlaSo 42 31.03.16 02:57 Сейчас в теме
(2) break, отличный вариант! только в бекап нужно добавить и некоторые другие таблицы: DBSchema, ConfigSave, Params

(4) I_G_O_R, Мешают только полчаса на его создание и довольно частые изменения конфигурации
6. I_G_O_R 69 31.03.16 20:24 Сейчас в теме
(5) бэкап журнала транзакций или дифференциального копирования вполне достаточно, они делаются довольно быстро.
3. PVG_73 17 30.03.16 10:24 Сейчас в теме
Надо взять на заметку....
4. I_G_O_R 69 30.03.16 21:24 Сейчас в теме
А что мешает делать бэкап перед обновлением? Я всегда делаю, точнее я настроил регламентную операцию, которая делает бэкап в определенное время. Если мне нужно обновить в другое время, то приходится конечно запускать ручками.
7. Ekovichev 832 02.04.16 08:59 Сейчас в теме
(4) I_G_O_R, Мешает база на 200Гб:)
8. flyDrag 292 11.04.16 19:44 Сейчас в теме
9. d4rkmesa 06.06.18 09:14 Сейчас в теме
Всего 11 строк скрипта, но сколько адреналина в процессе. =)
10. RomanenkoandriyUr 10.01.19 13:42 Сейчас в теме
Из огромной кучи инфы, это самородок! Хвала автору!
11. SashinPapa 23.01.19 18:58 Сейчас в теме
Браво! И низкий поклон.
Рекомендация и п.5 оживила базу.
12. zabaluev 465 10.01.20 19:26 Сейчас в теме
Спасибо, спасли узел в распределенной базе.
Оставьте свое сообщение