Восстановление 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С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

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

3600 руб.

10.02.2017    116618    702    176    

743

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

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

14400 руб.

29.04.2020    39959    121    152    

83

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

Вы наконец разобрались с закрытием месяцев и пора начать контролировать сроки оплаты поставщикам и задолженности клиентов, но в базе расчеты не идут из-за развернутого сальдо? Не беда, есть решение!

12000 руб.

02.11.2020    8668    6    3    

9

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

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

5000 руб.

13.07.2015    53109    182    29    

134

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

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

5000 руб.

07.05.2025    936    1    0    

2

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

Обработка для группового редактирования реквизитов номенклатуры в 1С для УТ 11 / КА 2. Позволяет редактировать реквизиты (как основные, так и дополнительные реквизиты и сведения) непосредственно в таблице, устанавливать новые значения реквизитов на выбранную номенклатуру, а также загружать новые значения из Excel. Предусмотрена возможность добавления фото к товарам перетаскиванием файла из проводника на строку с товаром (drag'n'drop)

4200 руб.

16.11.2020    18748    13    6    

12

Печатные формы Корректировка данных Учет документов 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 3.0

Данная обработка позволяет работать со справками об оплате медицинских услуг в любой конфигурации 1С 8.3 Решение выполнено в виде внешней обработки, поэтому будет работать так же на базовых версиях конфигураций 1С, где нет возможности добавить расширение.

3600 руб.

28.01.2025    1362    0    0    

3

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

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

2880 руб.

05.05.2024    1689    16    0    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. jan27 735 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 43 31.03.16 02:57 Сейчас в теме
(2) break, отличный вариант! только в бекап нужно добавить и некоторые другие таблицы: DBSchema, ConfigSave, Params

(4) I_G_O_R, Мешают только полчаса на его создание и довольно частые изменения конфигурации
6. I_G_O_R 70 31.03.16 20:24 Сейчас в теме
(5) бэкап журнала транзакций или дифференциального копирования вполне достаточно, они делаются довольно быстро.
3. PVG_73 17 30.03.16 10:24 Сейчас в теме
Надо взять на заметку....
4. I_G_O_R 70 30.03.16 21:24 Сейчас в теме
А что мешает делать бэкап перед обновлением? Я всегда делаю, точнее я настроил регламентную операцию, которая делает бэкап в определенное время. Если мне нужно обновить в другое время, то приходится конечно запускать ручками.
7. Ekovichev 837 02.04.16 08:59 Сейчас в теме
(4) I_G_O_R, Мешает база на 200Гб:)
8. flyDrag 293 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 466 10.01.20 19:26 Сейчас в теме
Спасибо, спасли узел в распределенной базе.
Для отправки сообщения требуется регистрация/авторизация