Восстановление SQL базы 1С 8.2. рухнувшей во время сохранения конфигурации.

18.04.12

База данных - Архивирование (backup)

При обновлении конфигурации вылетела 1С. После чего наотрез отказалась входить в базу. При этом в конфигураторе выдавалось сообщение "Внимание!!! При обновлении данных, после последней реструктуризации, произошла критическая ошибка. Повторить обновление?" Потом выходило сообщение "Обнаружена незавершённая операция сохранения конфигурации. Для продолжения необходимо завершить операцию". Горела кнопка Ок - на этом работоспособность конфигуратора и базы заканчивалась.

Предистория.

Два дня назад осуществили переход с 8.1 на 8.2 - меняли конфу УПП 1.2... на 1.3.22.1. Соответственно куча отличий от типовой конфигурации, которые накатывали - повлекло за собой кучу ошибок. Два дня, не ночуя, меняем конфигурацию в режиме нон-стоп. Конфигуратор сохраняется раз 15 в час. Следовало ожидать, что при сохранении, конфигурация может вылететь, что собственно и произошло. Такие проблемы, в конфе 8.1 - всегда разрешались выходом пользователей, которые еще работали в базе, но уже не могли повторно войти и монопольным доступом. В нашей же новой конфигурации 8.2 база сказала нам "Я устал. Я ухожуй" ), в общем проблема описана в анонсе.

Что было предпринято из правильного и неправильного. И совет о том что делать первым делом.

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

http://www.forum.mista.ru/topic.php?id=534298

http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=573910

http://sysadmins.ru/post9322239.html

В общем во всех трех статьях ответ на решение текущий проблемы один - "Восстанавливайте базу из бэкапа".

Не стоит говорить о важности бэкапов их регулярности и прочем. Считаю что в плане нас это было хорошим предупреждением, хотя у нас и был бэкап базы после ее сохранения в конфигурации 1.3 но за их регулярностью и тем что они делаются (а винчестер не чистится и прочее) , за этим мало кто следит. Соответственно простите за "капитана очевидность", но если у вас есть свежий бэкап - первым делом и займитесь восстановлением базы из него, не теряйте драгоценное время, за простой которого руководство вас не поблагодарит. Однако можно попытаться оживить "упавшую" базу, что благодаря моей настырности было и предпринято. Отмечу, что другим программистом также были приняты попытки как то оживить базу 1с-вскими способами, но они были безуспешны. Не знаю всего что он делал, но видел попытки запуска 1С в командном режиме сразу с запуском Тестирования и исправления ИБ, которые собственно ничего не запускали.

Я заострил свое внимание на SQL. Небольшой опыт конфигурирования и администрирования баз и типовой набор sql-команд мне знаком, но изложенный ниже способ итак не потребует никаких глубоких знаний и навыков работы с SQL. Я просто подключил логику - если база "упала" в момент сохранения конфигурации, делаем вывод, что в SQL могла порушиться структура одной таблицы (хотя я не знал до этого что конфигурация в 8 версии лежит в одной сиквель таблице) и эта таблица в которой хранится конфигурация базы. а именном таблица dbo.config. Это в последствии я узнал методом "самотыка" и опять же логики, ибо единственное что нашел это местную разработку, мне не помогшую но довольно полезную на будущее, а именно //infostart.ru/public/61114/ Спасибо автору от учетки моего коллеги, с помощью которого я ее скачал. Итак перехожу к самому важному - попытки(!) восстановления базы ибо гарантий никаких я вам, к сожалению, дать не могу и тому есть ряд предустановок, которых у вас может и не быть или как говорится - это не ваш случай...

Требования и непосредственно само восстановление базы.

Итак все что было выше, читать, в случае возникшей проблемы, может и интересно, но необязательно.

(Внимание. Посмотрите обязательно сноску снизу, если хотите попробывать оживить и саму конфигурацию. Сегодня (18.04.2012) путем экспериментов мне это удалось ибо стало жалко недельный труд который был проделан над ней. Таким образом получилось  базу оживить оставив старый конфигуратор без всяких копий)

Исходные данные - SQL база 1С 8.2, конфигурация УПП 1.3.22.1 (полагаю описанный способ подойдет для любой эскюэльной базы 8.2). SQL сервер 2005. Ошибка описанная в анонсе и ошибка возникшая в момент сохранения конфигурации! Самое важное и обязательное требование!!! Копия SQL базы с ТАКОЙ  ЖЕ КОНФИГУРАЦИЕЙ(!) У нас настроен авто-обмен с другой базой и конфигурации их совпадают. Кроме этого, так как нас трое программистов 1С - у каждого есть выгруженный и относительно свежий файл конфы. По факту подойдет любая база, неважно с какими данными, главное чтобы конфигурация в ней соответствовала структуре метаданных базы. Отмечу тот факт, что конфигурация даже немного отличалась от той, с которой база вылетела. Самое основное, на мой взгляд, требование, чтобы отличия в конфигурации не затрагивали метаданные. Не стоит забывать тот факт, что если конфигурация отличается, то в итоге вы получите рабочую базу но с конфигурацией из вашей копии.

Сам процесс восстановления не займет у вас много времени - буквально пару минут, но крайне рекомендую предварительно сделать бэкап даже "упавшей" базы, а он может занять время. Например у вас будет возможность восстановить базу откатом из log-файла (который у нас к сожалению в суматохе восстановления "грохнули") или еще какой способ. Итак, напомню что где то должна быть SQL база неважно какими данными но с такой же конфигурацией. Если у вас конфигурация представляет из себя "нетроганную" типовую  (что подразумевает, что данная проблема возникла в процессе наката новой типовой конфигурации) - можете создать новую пустую базу и залить туда типовую конфу, которая у вас была до этого. В случае, если конфигурация, которую вы нашли, не такая уж свежая - подумайте и примите решение, возможно те отличия с копией конфигуратора, которые вы будете вынуждены повторить в вашей базе, займут много больше времени и ресурсов, нежели потеря информации самой базы данных 1С. Своеобразная палка о двух концах ) Итак...

1. Делаем бэкап рухнувшей базы средствами SQL.

2. Очищаем таблицу dbo.config нашей базы в которой лежит наша порушенная конфа. Это можно сделать из SQL- Profiler, к примеру запустив в нем команду:

Use Base2009

go

Delete From [DBO].[Config]

go

где Base2009 имя рухнувшей базы.

Примечание: где-то в сети читал непроверенную инфу, что иногда помогает очистка таблицы dbo.ConfigSave, в которой, якобы, лежит накатываемая конфа. В нашей базе она оказалась пустая, поэтому чистить пустую таблицу, понятно не стал. Возможно - можно как-нибудь обмануть и оживить базу 1С, используя данную таблицу но, не зная механизм работы 1С с этой таблицей, ничего не буду говорить в плане действий, применительно к ней.

3. Копируем таблицу из базы с целой конфигурацией, в нашу порушенную базу. В моём случае обе базы были на одном сервере поэтому команда копирования в SQL-Profiler выглядела так.

insert into [base2009].[Dbo].[Config] select * from [BaseCopy].[Dbo].[Config]

go

где base2009 - имя рухнувшей базы, BaseCopy имя базы с копией конфигуратора

4. Запускаем 1С, и в случае успеха - прыгаем, как я от радости, что удалось оживить базу без каких-либо потерь информации.

5. (Капитан очевидность) проверяем отлаживаем и следим за системой создания бэкапов базы и очень ответственно подходим к процессу обновления конфигурации (делаем это не по сети, а желательно на сервере, по возможности сделав предварительно бэкап). Особенно если версия вашей 1С стала 8.2. Насколько я понял из статей в сети и превых двух дней работы с ней, что она более чувствительна и капризна, по сравнению 8.1 с которой таких проблем не было.

5а. Если конфигурация базы с которой вы будете копировать таблицу конфы - все-таки отличается, (не имея при этом отличий в метаданных, о чем я уже говорил), и где-то лежит ваш относительно свежий cf-файл с выгруженной конфой - накатываем его на ожившую базу. В противном случае Вам придется повторить все те отличия, которые были с копией конфигуратора. Так что еще раз хорошо подумайте и проанализируйте - что важнее - ваша работа по изменению конфигурации (и сколько времени вы на это потратите) или работа пользователей базы до момента последнего бэкапа. В моем случае это была работа 2-х программистов в течении 3-х часов против работы порядка 100 пользователей в течении 1.5 дней, так что выбор был очевиден.

З.Ы. Еще раз напомню? что данная функция восстановления является недокументированным 1С-овцами способом восстановления базы (в конкретном случае обрушения базы, произошедшего в процессе сохранения конфы) и все что вы делаете - вы делаете на свой страх и риск, но конкретно в моем случае других путей оживить базу с минимальной потерей существующей информации не было (лог файл потерли и самый свежий бэкап представлял потерю 1.5 дня работы порядка 100 пользователей), поэтому, как говорится мосты были сожжены )

З.Ы.Ы. Это моя первая публикация тут т.к. трусь на других 1С форумах, но нахожу этот ресурс одним из самых полезных в плане выложенных разработок и публикаций, поэтому не судите строго за много ЕСЛИ в данной публикации). Буду очень рад, если реально помог кому-нибудь с восстановлением порушенной базы ибо страшнее этого только ядерная война )

З.Ы.Ы.Ы. Спустя 3 недели проблема повторилась ) На этот раз на решение было потрачены какие-то секунды (если не учитывать время создания бэкапа), и даже пользователей не пришлось выгонять.

_____________________________________________________________________________________________________________

Сегодня прибежал коллега. Та же самая беда. Только база тестовая а не рабочая и сама база ему поскольку постольку - а вот конфигуратор ему важен. Неделю он краптел над ним ни разу не выгрузив в cf файл и не накатив изменения в рабочую базу. Ну что ж - почему бы не поковырятся уже с таблицей?! На этот раз все еще проще. Открываю SQL Managment Studio. Формирую запрос по таблице на поля с текущей датой изменения и временем когда у него вылетела база - результат дает 2 записи. Первая - Поле FileName  = "commit" Ну что же - грохнуть эту запись - и у меня все получилось! Конфигуратор ожил и база опять работает. Что же нужно сделать?! 

Итак в открытом окне SQL Managment Studio ищем нашу базу - открываем Таблицы, ищем в конце списка таблицу с конфой dbo.config на таблице - правую кнопку - Открыть таблицу. Далее в правом окне спускаемся в самой таблице вниз по алфавиту на поле где FileName  = "commit". Встаем на эту запись - правую кнопку мыши - Удалить. В общем удаляем  запись с двоичным файлом. Далее пробуем зайти в конфу. Ошибка та же самая первая появляется. Наверно не получилось?Ё  Нажимаем Ок. И тут, прежде чем выдать как ранее 2-е сообщение о невозможности сохранить -  компьютер задумался. Спустя секунд 30 - О ЧУДО! Конфигуратор открылся. Пробуем сохранить конфигуратор (предварительно сохранив cf файл). Конфигуратор сохраняется. Таким образом и волки сыты и овцы целы. Не уверен насчет полной работоспосбности базы после таких измывательств - так что посоветую сделать реструтуризацию и пересчет итогов уже потом вечером (предварительно конечно же сделав архив). Удачного востановления и положительных эмоций )

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

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

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

См. также

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

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

14640 руб.

29.04.2020    52963    145    164    

98

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

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

9760 руб.

01.09.2023    10124    325    93    

25

Корректировка данных Разработчик Пользователь 1С:Предприятие 8 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.3 от 24.06.2025!

26840 руб.

26.08.2018    57643    20    65    

59

Файловый обмен (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    47848    33    15    

51

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

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

5084 руб.

13.07.2015    55915    191    31    

144

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

Инструмент для анализа и устранения битых записей в регистрах 1С:Предприятия. Позволяет поддерживать целостность данных и повышает стабильность работы системы. Обработка предназначена для диагностики и корректировки ошибок в регистрах накопления и сведений. Обеспечивает контроль корректности данных и упрощает администрирование информационной базы. Решение для автоматизированного выявления и исправления записей в регистрах 1С. Снижает вероятность сбоев при расчётах и формировании отчётности.

5490 руб.

05.09.2025    2200    4    0    

7
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. German 416 08.02.12 21:37 Сейчас в теме
2. VanDiesel1 388 09.02.12 08:10 Сейчас в теме
German, спасибо полезная ссылка!
3. itar59 87 09.02.12 12:02 Сейчас в теме
"... И опыт, сын ошибок трудных..."
прекрасное обобщение практики, и очень понятно.
СПАСИБО!
4. 1cvirus 14 09.02.12 12:46 Сейчас в теме
чиню подобным скриптом
GO
DROP TABLE [ПОЛОМАНАЯ_БАЗА].[dbo].[Config]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [ПОЛОМАНАЯ_БАЗА].[dbo].[Config](
[FileName] [nvarchar](128) NOT NULL,
[Creation] [datetime] NOT NULL,
[Modified] [datetime] NOT NULL,
[Attributes] [smallint] NOT NULL,
[DataSize] [int] NOT NULL,
[BinaryData] [image] NOT NULL,
PRIMARY KEY CLUSTERED
(
[FileName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
INSERT INTO [ПОЛОМАНАЯ_БАЗА].[dbo].[Config]
SELECT * FROM [БЭКАПНАЯ_БАЗА].[dbo].[Config]
GO
audion; Dali; skilster; ZeroDM; tehas; madonov; Andre32; Minakov00078; partner1c; cj512; DrSender; trickster; dutlovva; dour-dead; Jkey; Nicholas; Aragorn; Release; pauchok; AlexGS; Kaavan; VitaliyTokarev; sakustov; ctulhua; Garstag; prokopulka; arabesca; ZeusF1; JohnyDeath; dandrontiy; skil; VanDiesel1; ГМВ; marsohod; +34 – Ответить
11. 1cinfo1 7 16.02.12 05:39 Сейчас в теме
(4) 1cvirus, Если не сложно, объясните, в чем заключается работа данного скрипта?
16. 1cvirus 14 22.02.12 15:51 Сейчас в теме
(11) 1cinfo1,
удаляем таблицу конфигурации и записываем на ее место таблицу с рабочей конфигурацией
17. VanDiesel1 388 27.02.12 16:07 Сейчас в теме
(16)Совершенно верно, если на пальцах - вычищаем таблицу с конфигурацией в рухнувшей базе и записываем туда такую же но рабочую конфигурацию из другой неважно какой базы...
Можно склеить пункт 2 и 3, предварительно убедивщись что таблица ConfigSave - пустая...
Use Base2009
go
Delete From [DBO].[Config]
go
insert into [base2009].[Dbo].[Config] select * from [BaseCopy].[Dbo].[Config]
go

(14) Возможно побыстрее будет - но в общей сложности пункт 2 + 3, на конфе УПП котоая весит в cf-файле 365 мб занял около 10 секунд, что для меня не очень критично.
50. LadyDy 6 16.07.12 14:51 Сейчас в теме
(17) Подскажите пжл, можно ли восстановить не sql-ную базу
31. ZeusF1 11.05.12 17:33 Сейчас в теме
(4) 1cvirus, Спасибо, думал сам писать потом увидел комментарий.

Вернул таблицу из копии, все заработало.
38. arabesca 21.06.12 11:03 Сейчас в теме
(4) 1cvirus, о, спасибо... помогло!
39. prokopulka 21.06.12 11:05 Сейчас в теме
(4) 1cvirus, прямо жизнь спасло! Спасибо!
47. ctulhua 06.07.12 18:28 Сейчас в теме
(4) 1cvirus, Отличный скрипт! Бекапы для трусов)))
49. LadyDy 6 16.07.12 13:50 Сейчас в теме
(4) 1cvirus, подскажите пжл, что должно стоять вместо [ПОЛОМАНАЯ_БАЗА], я в скриптах плохо разбираюсь, а восстановить очень-очень надо. спасибо
83. VitaliyTokarev 222 11.01.13 17:39 Сейчас в теме
(4) 1cvirus, Спасибо! Хирургически восстановил БД. Помогло!
VanDiesel1; +1 – Ответить
126. ketr 156 06.07.18 08:44 Сейчас в теме
(4) дай бог тебе здоровья!
127. skilster 46 01.08.18 09:27 Сейчас в теме
(4) Спасибо за скрипт! База запустилась. Работает. Однако при попытке внести в нее изменения - снова возникает ошибка нарушения целостности структуры. Как победить? Сейчас приходится изменять дочернюю конфигурацию и скриптом заливать изменения в основную
5. napan 44 14.02.12 09:01 Сейчас в теме
Спасибо большое!
Я все таки надеюсь никогда не пригодиться.
Хотя всякое бывает, если что буду держать под рукой.
Сенкс!
6. serpisal 14.02.12 12:01 Сейчас в теме
Согласен, хорошее решение, но никому не пожелаю причину, по которой ею можно воспользоваться, спасибо!
7. asady 127 14.02.12 15:59 Сейчас в теме
Совсем недавно абсолютно похожая ситуация случилась и у меня

УПП 1.3.19 PostgreSQL 8.3.8
при обновлении конфигурации БД упал сеанс конфигуратора.
После этого случился сабж.
Очень помогла эта статья - но сделал немного по другому

через PG_ADMIN
1. copy config to '/home/user/config_1.txt в упавшей базе
2. copy config to '/home/user/config_0.txt в базе поднятой из последнего бэкапа
3. delete from config в упавшей базе
4. copy config from '/home/user/config_0.txt в упавшей базе

базу удалось восстановить без потерь информации
Повезло в том что при злополучном обновлении конфигурации менялась только прикладная логика
dour-dead; VanDiesel1; ГМВ; +3 – Ответить
99. trand 29.01.14 18:31 Сейчас в теме
(7) asady, мне не помогло. Может кому-то пригодится. Я просто выполнил в pg_admin delete from configsave

После этого смог удачно открыть свою конфигурацию (откатиться к конфигурации БД)
dsuryaninov; +1 – Ответить
121. Shaldryn 08.02.18 12:24 Сейчас в теме
(7)
через PG_ADMIN
1. copy config to '/home/user/config_1.txt в упавшей базе
2. copy config to '/home/user/config_0.txt в базе поднятой из последнего бэкапа
3. delete from config в упавшей базе
4. copy config from '/home/user/config_0.txt в упавшей базе

базу удалось восстановить без потерь информации
Повезло в том что при злополучном обновлении конфигурации менялась только прикладная логика


я извиняюсь, а можете тупому объяснить вот эту часть строки '/home/user/config_1.txt ?
у нас просто ОС Windiws, как мне там написать, пример можете прислать на будущее?

а так у меня получилось восстановить эту таблицу такими действиями:
- в pg_admin delete from config
- открыл таблицы копии базы, там config сделал backup
- и у таблицы config упавшей базы сделал restore

если делать без удаления, то выдает ошибку что запись такая то уже есть
8. natnat3 15.02.12 09:33 Сейчас в теме
кто предупрежден, тот вооружен.
9. rus128 2 15.02.12 15:57 Сейчас в теме
Спасибо!
Надеюсь - никогда не понадобится.
Замечания только по пунктуации.
10. koka 88 15.02.12 17:38 Сейчас в теме
Спасибо за статью! Теперь можно более спокойно прыгать с парашютом (обновлять конфу, имея какоё-либо БЭКАП), имея ещё и запасной парашют (эту методику).
12. art_m 5 16.02.12 13:42 Сейчас в теме
Спасибо большое за статью. Только что произошла такая же ситуация, никогда б не подумал, что при замене пары отчетов может такое случится....
13. novosys 16.02.12 13:43 Сейчас в теме
Для читателей: если у Вас не та самая критическая ситуация, описанная в статье, то рекомендую первым делом прочитать пункт 5! В нём наиболее важная информация, которая может помочь Вам избежать опыта автора.
А в целом - респект!
14. sound 538 16.02.12 15:41 Сейчас в теме
Нормально, только мне кажется вместо

Delete From [DBO].[Config]


быстрей будет

TRUNCATE TABLE [DBO].[Config]
dutlovva; PavleG29; +2 – Ответить
15. katun 17.02.12 18:09 Сейчас в теме
Спасибо за статью! Возьму на вооружение! Ведь всякое бывает.
18. gely 14.03.12 15:50 Сейчас в теме
Спасибо огромное, действительно помогает и притом очень быстро.
19. vip76 13 15.03.12 01:48 Сейчас в теме
Только что статья помогла, а думал что уже пушной зверек пришел....
20. StreamLVM 209 16.03.12 05:27 Сейчас в теме
Спасибо! Восстановил базу! Правда потерял пару дней своей работы, но это мелочи.
21. x50 03.04.12 13:35 Сейчас в теме
Платформа 1С:Предприятие 8.2 (8.2.15.294).

При обновлении конфигурации конфигуратор завис, windows сказал что приложение будет закрыто. После этого в базу попасть никак не мог.
Пытался восстановить по инструкции http://www.gilev.ru/1c/81/restore/, но ситуация не изменилась.
Так как это была копия рабочей БД решил поэкспериментировать.
Сравнил чем отличаются таблицы Config битой базы от целой. В битой базе были 2 записи, которых небыло в целой, с полями FileName = 'commit' и FileName = 'dbStruFinal' binaryData 0x0. Никакой информации об этих полях не нашел. Удалил эти записи. Запустил конфигуратор, он выдал предупреждение "Внимание!!! При обновлении данных, после последней реструктуризации, произошла критическая ошибка. Повторить обновление?" нажал "Да" и все обновилось.
Не знаю на что еще могло повлиять удаление.
Гриффин; Olvia; charushkin; +3 – Ответить
22. DeD MustDie 09.04.12 12:02 Сейчас в теме
Спасибо большое за статью. Сегодня она меня реально выручила.
23. free-lancer-2018 259 13.04.12 18:47 Сейчас в теме
Полезная ссылка, спасибо. Один раз было, что сервер 1С обрубил соединение в момент сохранения конфигурации. В итоге в скуле получил "невосстановимая ошибка БД".

Знал бы раньше этот прикуп - жил бы в Сочи :)
24. VanDiesel1 388 18.04.12 14:45 Сейчас в теме
Рекомендую при подобной ситуации попробывать восстановить базу исходя из последнего опыта и сноски. Все просто и быстро. Не нужны копии и скрипты. Правда как и в первом случае 100% успешного результата не обещаю но попробывать конечно же стоит...
25. vaZum 19 19.04.12 09:32 Сейчас в теме
Спасибо! Помогло. Аж руки трясутся до сих пор...
26. gely 20.04.12 10:40 Сейчас в теме
Спасибо огромное за публикацию. Воспользовался ей повторно и особенно сноской. очень помогло, действительно описанным способом можно легко восстановить базу и хотя бы сделать бекап.
27. electronik 20.04.12 15:53 Сейчас в теме
Спасибо огромное статья помогла. Но біло так страшно что передать не могу на все решилось автору огромное спасибо так дердать.Заслуженое 5+ респект
28. IT_PROGRAMMIST 106 22.04.12 21:53 Сейчас в теме
Хорошая статья.До этого была та же проблема. Думал смерть моя пришла).Выручила копия базы. Зато, после этой проблемы слежу за снятием копии ежедневно)))
29. Just 3 25.04.12 03:33 Сейчас в теме
Автор написал, что на 81 таких проблемм не было, но мне кажется что было, да еще как. Происходили подобные сбои в случае неоднократного динамического обновления, без выгонялки пользователей. После одного из таких сбоев, была забавная ситуация, пускало в конфигуратор и в предприятие одного-двух пользовтаелей, если больше базы висла "наглухо", ни выгрузку ни ТИИ не отрабатовало, приводило к зависанию. Приведенным в статье способом, базу поднять не удалось, к счастью потерялось с прошлого бэкапа 2-3 часа. С тех пор больше никогда не использую динамическое обновление больше 1-го раза в день, даже по-мелочи. Честно говоря надеялся, что эти проблеммы ушли в 82, но видать нет. Еще удивляет, когда я искал подобную проблемму пару лет назад на форумах, то такой ситуацией сталкивались единицы, а в коментах у этой стать чуть ли не каждый второй пишет о подобной проблемме, лично у меня за крайние 2 года больше не было таких косяков, к счаcтью.
34. mxm2 1287 17.05.12 15:14 Сейчас в теме
(29) Just, 3 года обновлял динамически на 8.1 - не было проблем ни разу... а на 8.2 - за год - 2 раза падала, один раз успешно восстанавливал как описано в статье... да вобщем-то 8.3 готовится... )))
30. denklu 05.05.12 14:20 Сейчас в теме
Спасибо Огромное!!!. все аналогично как и у других: было очень страшно и руки до сих пор трясутся, плюс я завтра в опуск, поэтому было вдвойне страшно.
копия есть ночная, но она меня не сильно бы спасла, как раз сегодня менеджеры решили перебить кучу доков и в 10 рук непрерывно с сомого утра стучат по клавишам.

все больше никаких динамических

восстановил по вышеописанному скрипту:

Use Base2009
go
Delete From [DBO].[Config]
go
insert into [base2009].[Dbo].[Config] select * from [BaseCopy].[Dbo].[Config]
go
dutlovva; Istur; +2 – Ответить
32. H0SE 12.05.12 00:00 Сейчас в теме
Была практически такая ситуация. Помог вовремя сделанный бэкап до обновления. Бэкап рулит )). Спасибо за статью. Теперь буду еще более готов ко всяким таким вещам.
33. mxm2 1287 17.05.12 15:09 Сейчас в теме
Спасибо огромное! Реально спасло. Работает на MS SQL 2008 R2 64x. Данные сохранились все; единственно во время первого запуска конфигуратора в заголовке появился <!> (несмотря на то что предварительно была очищена ConfigSave). ну и сохранение конфигурации происходило очень долго ~ 5 минут. Вобщем, все по делу - спасибо.
35. SteelWalk 01.06.12 09:15 Сейчас в теме
Use Base2009
go
Delete From [DBO].[Config]
go
insert into [base2009].[Dbo].[Config] select * from [BaseCopy].[Dbo].[Config]
go

Шедевриальный скрипт!!!

Шикарно просто, ОГРОМНЕЙШЕЕ СПАСИБО за идею, до сих пор шок, как ваще такое может случиться....добавил в оборотно-сальдовую ведомость номера страниц блин........
36. shatur 12.06.12 13:56 Сейчас в теме
Есть новое решение проблемы, для тех у кого не сохранилось базы с такой же конфигурацией;
1. Очищаем configsave
2. delete from config where FileName = 'commit'
3. delete from config where FileName = ' dbStruFinal'.
Запускаю 1С, все работает. Потом попробовал сохранить конфигурацию, все сохранилось, работаем уже на такой базе в течении 5-ти часов, полет нормальный, вариант кстати очень быстрый
tdv2005; GlukAl; nasik90; PoZiTiFFF; +4 – Ответить
92. PoZiTiFFF 936 07.10.13 09:09 Сейчас в теме
(36) shatur, Уууууух помогло, спасибо.
37. kartoshka 16.06.12 20:39 Сейчас в теме
Спасибо! Мне статья очень помогла
40. IlyaGlebov 2 22.06.12 10:11 Сейчас в теме
Спасибо большое за статью, взял конфигу из центрального узла (отличающуюся но без изменения в метаданных), создал пустую базу, загрузил. Запустил код - все заработало!
41. wunderland 203 22.06.12 10:27 Сейчас в теме
и отдельное спасибо за "Я ухожуй" :))
bav_itritm; RibD; dutlovva; Скорпио_шка; nzass; deadmz; +6 – Ответить
42. testmode 30 22.06.12 12:58 Сейчас в теме
Для себя завел правило перед любым обновлением конфы сначала Бакап, имхо ведь можно так запороть базу что и простое перезаливание конфы из другой базы не поможет.
43. wunderland 203 22.06.12 13:50 Сейчас в теме
можно тогда написать процедуру/функцию которая будет конектится к своей SQL-базе и делать что-нить типа

insert into [Dbo].[Config]<Дата><Время> select * from [Dbo].[Config]

типа быстрый бекап cf-ника, ну а дальше мысль развивайте кто как хочет: можно на кнопку прикрутить к админскому интерфейсу, или программно определять, что это первый запуск(удачный) после пересборки(правда не знаю как, но мысль мне нравится). База при этом будет пухнуть и ее придется чистить переодически, но это уже другая история и всего лишь накладные расходы... Можно например создать под эти таблицы отдельный data-файл или вообще отдельную базу, не 1С-ную, под эти нужды(выдыхай борёр, выдыхай...)
Кому мысль нравится - ставим "+" коментарию не стесняясь.
VanDiesel1; +1 – Ответить
44. Bizzz 26.06.12 15:15 Сейчас в теме
Автору спасибо! Статья оказалась своевременной.
Опишу свой случай. Конфигурация: ЗУП 2.5.51.1. Размер базы 16 Гб.
На днях произошла ситуация - делал динамическое обновление. Спустя 2 дня 2 сотрудника пожаловались,
что при формировании расчетных листков программа вылетает с сохранением дампа. Причем на других компьютерах под их учетками этого не происходило. Остальные пользователи не жаловались.
Пытался имитировать на своем компьютере. Парадоксов было куча.
В рабочей базе все работало. В текущей (получасовой) копии - вылетала.
При исправлении и тестировании базы конфигуратор закрывался.
Пришел к выводу, что при сохранении в базу любых изменений в структуре конфигурации конфигуратор закрывался.
С копиями баз проблем не было - были за каждый день.
Перепробовав все способы наткнулся на эту статью.
Но... перенос таблицы dbo.Config не дал результата, зато показал куда копать.
Спасло перенос 3-х таблиц: Config, DBSchema, Params
http://www.forum.mista.ru/topic.php?id=557213&page=1
Так что автору rs_trade так же огромное спасибо!
45. timurti 28 02.07.12 09:04 Сейчас в теме
Спасибо большое,очень помогло!!!!
46. KotyshO 04.07.12 08:48 Сейчас в теме
Сегодня статья реально спасла, база умерла при обновлении - сделали все по инструкции - ожила как спящая красавица, так что спасибо человеку за его первую статью, дай бог не последнюю.
VanDiesel1; +1 – Ответить
48. lambert@inbox.ru 7 09.07.12 21:52 Сейчас в теме
ОГРОМНОЕ СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!! Второй раз, благодаря Вашей статье, поднтмаем базу :)
51. LadyDy 6 17.07.12 15:34 Сейчас в теме
Ребята, подскажите, базу я восстановила через HxD, убрала из таблицы confif "commit". Только сейчас другая проблема. Конфа базовая, загружает обновление, начинает обновлять но обновление не заканчивает. Загружает конфигурацию и выкидывает служебное окно, что для обновления все готово, обновить или при следующей загрузке. И так бесконца. Пробовала обновить вручную, через конифигуратор выдает ошибку Неправильный путь к файлу 'v8srvr://dbeng8/f05133110/Config. Пробовала реструктуризацию, после этого ошибка формата потока и база перестает загружаться.
Помогите пжл, уже голову сломала.
52. Sova132 24 26.07.12 15:35 Сейчас в теме
нет слов моей благодарности! Тысячу раз спасибо. как вовремя я нашла вашу публикацию.
53. irreal 32 02.08.12 17:54 Сейчас в теме
На терминалке кончилась память в момент динамического обновления. И дальше все по симптомам...
Догадывался, что так можно сделать, но без подтвержденного опыта не рискнул бы. А так юзеры курили около часа, пока тестовая копия жрала хранилице для создания нового прототипа config.
Большое спасибо!

И, нафиг-нафиг, поставлю ночное задание:

use my_1c_database_name
declare @name varchar(64)
select @name = name from sys.Tables where name = 'config_backup'
if @name = 'config_backup'
drop table config_backup
select * into config_backup from config
54. omut 03.08.12 13:30 Сейчас в теме
Вот спасибо огромное! 5 минут и все готово. Учетом поиска этой статьи :) Бэкп был, но база тестовая и хотелось попытаться восстановить результаты до последнего изменения в течении дня хотя бы. В результате выяснилось, что сохранен уже самый последний вариант.
И еще небольшое наблюдения по подобным проблемам: лучше не сохранять сразу и рабочую конфигурацию, и конфу базы данных. Т.е. лучше сначала сохранить основную конфигурацию. А уже только после этого конфигурацию БД. Так ошибки появляются на порядок реже (если вообще появляются).
55. shekl 08.08.12 15:03 Сейчас в теме
спасибо автору!!! База умерла при обновлении и отказывалась возрождаться, уже готовились к худшему (восстановление из бекапа с потерей данных за полдня), а тут ваша статья очень вовремя нашлась и жизнь наладилась ))). СПАСИБО!!!
56. Alexsh_kz 21.08.12 00:44 Сейчас в теме
Олег, огромное тебе спасибо!
Выручил, уже не знал что делать с базой, вылетела в конце рабочего дня, а бэкап делается ночью, целый рабочий день 170 пользователей мог потеряться, меня бы расстреляли.. ))
Твой пост, реально помог.
57. Mikons 21.08.12 16:55 Сейчас в теме
Мда, спасибо огромное за инфо. Случилась такая же проблема при динамическом обновлении периферийной БД, включающем незначительные изменения прав на объекты конфигурации.
После возникновения ошибки заметил зависшее несколько дней назад фоновое задание. думаю связано именно с этим. Так что перед обновлением убедитесь в отсутствие оных и включайте блокировку регламентных заданий.
58. KroVladS 35 21.08.12 17:12 Сейчас в теме
В копилку.
Надеюсь никогда не придёться воспользваться.
59. марокко 73 03.09.12 13:25 Сейчас в теме
Спасибо огромное!!! Заработала база !
Ссылка на подобную тему только с использованием Microsoft SQL Server Menegement Studio
http://skyraven.ru/2012/08/16/ms-sql-restore/
60. irbek 14 07.09.12 13:24 Сейчас в теме
Огромное Спасибо! выручил
VanDiesel1; +1 – Ответить
61. romak78 07.09.12 14:07 Сейчас в теме
Мне в такой ситуации помогло:
1. Очищаем configsave
2. delete from config where FileName = 'commit'
3. delete from config where FileName = ' dbStruFinal'
Alta_k; dutlovva; dour-dead; Aragorn; mordiros; STivO; RomanMartynenko; VanDiesel1; +8 – Ответить
88. mordiros 14.04.13 19:40 Сейчас в теме
(61) romak78,
Спасибо, помогло.
Согласен с Вами. В корректно обновленной конфигурации базы данных (таблица Config) таких строк быть не должно.
Пустая таблица ConfigSave означает, что она основная конфигурация не отличается от конфигурации базы данных.
VanDiesel1; +1 – Ответить
62. pattyx 13.09.12 15:34 Сейчас в теме
Спасибо, сегодня восстановила таким образом базу.

Уйма времени ушла на создание бекапа. Минут 5 выполнялся запрос:
Use Base2009
go
Delete From [DBO].[Config]
go
insert into [base2009].[Dbo].[Config] select * from [BaseCopy].[Dbo].[Config]
go

Теперь работает! :)
VanDiesel1; +1 – Ответить
63. ponaroshku 21.09.12 07:23 Сейчас в теме
я вас люблю :))))

спасибо :)

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

Тысяча спасибо :)
VanDiesel1; +1 – Ответить
64. DragonAgo 15 21.09.12 08:25 Сейчас в теме
Полезная статья, но лучше все-таки с таким встречаться редко, но про запас сохраню в книгу знаний
VanDiesel1; +1 – Ответить
65. VanDiesel1 388 21.09.12 08:53 Сейчас в теме
Рад что кому-то помог еще. Да и самому себе опять на днях пришлось помочь ) Переехали в новый офис а тут связь плохая с сервером. Ну и при сохранении конфы рухнула база опять. Восстановил минут за 15 без бэкапа - минут 12 ушло на то чтобы пользователей оставшихся выгнать
66. all_i_ance 21.09.12 09:37 Сейчас в теме
На такое дело, уважаемые товарищи! Нужно бэкапы хорошенько настроить :) И порсто напросто восстанавливать базу к рабочему состоянию :)

А если быть совсем добрым, то советую заглянуть http://www.sql.ru/forum/actualthread.aspx?tid=970460&hl=%e2%ee%f1%f1%f2%e0%ed%ee%e2%eb%e5%ed%e8%e5%20%­e1%e0%e7%fb

http://technet.microsoft.com/ru-ru/library/ms187048.aspx
plevakin; +1 – Ответить
67. plevakin 21.09.12 09:43 Сейчас в теме
Уважаемый, спасибо конечно за информацию о сайте sql.ru))))) Но мне кажется еще нужно по этой ссылочке прыгнуть http://www.sql.ru/forum/actualthread.aspx?tid=967520&hl=%e2%ee%f1%f1%f2%e0%ed%ee%e2%eb%e5%ed%e8%e5%20%­e1%e0%e7%fb

А вообще молодец, толково ты все обьяснил))) 5 с плюсом))))))))))))))
all_i_ance; +1 – Ответить
68. all_i_ance 21.09.12 09:44 Сейчас в теме
(67) plevakin, Это все хорошо)))) Быстро ответил и все дела))) Но есть кнопка "Ответить" )))
69. den_bo 78 21.09.12 21:13 Сейчас в теме
Спасибо за статью, пригодилось, когда база после очередного демонического обновления перестала запускаться (зависала намертво при запуске)
70. natali_gasparian 1 27.09.12 15:37 Сейчас в теме
71. romann 03.10.12 13:46 Сейчас в теме
Респектище!
Просто спасли жизнь! )
72. maxis33 46 04.10.12 17:00 Сейчас в теме
Спасибо автору! Сегодня помогло!
73. vadimlp77 31 09.10.12 13:56 Сейчас в теме
Помогло !!! Спасибо, хлопцы !
С самого утра страдаю.
74. artmicro 10.10.12 16:30 Сейчас в теме
Спасибо огромное! Вот только что закончил востанавливать рабочую базу таким же способом. Правда бекапа не было. Пришлось собирать из хранилища.

Так что Ваша статья просто спасла жизнь :)
75. Voody 20 17.10.12 12:45 Сейчас в теме
Статья спасла.. Спасибо!
76. Raminus 17.10.12 13:11 Сейчас в теме
Хорошая статья, плюсик однозначно!
77. ghostaz 146 28.11.12 16:27 Сейчас в теме
Спасибо огромное! Только что восстановил базу после неудачного обновления.
78. aegoncharov 28.11.12 18:45 Сейчас в теме
Платформа 8.2.17.143

Исправлена ошибка:

10113064 Обновление конфигурации базы данных
Проблема:
Если процесс принятия изменений после обновления конфигурации базы данных был прерван, то на данную информационную базу может быть невозможно запустить ни в Предприятии, ни в Конфигураторе с различными сообщениями об ошибках или с аварийным завершением работы клиентского приложения или процессов сервера Предприятия.
Дата публикации:
2012-09-20

Это её наконец поправили?
79. erdos 28.11.12 23:30 Сейчас в теме
используй Тестирование и Исправление базы данных
81. lamdth 10 21.12.12 16:26 Сейчас в теме
(79) erdos, при тестировании конфигуратор вылетает
80. LaNaite 134 12.12.12 16:55 Сейчас в теме
Спасибо за статью! Сегодня она реанимировала базу!
82. myoff 219 27.12.12 14:09 Сейчас в теме
Вообще в configsave хранятся только измененные объекты, не вся конфигурация.
При обновлении конфигурации записи из configsave копируются в config замещая аналогичные записи, потом таблица configsave очищается, а в таблице config записи где FileName = 'commit' и FileName = 'dynamicCommit' удаляются.

Мне в такой же ситуации когда во время сохранения конфигурации произошел сбой помогло:
1. В моем случае таблица configsave была пустая, если бы была полная - надо было очистить.
2. delete from config where FileName = 'commit'
3. delete from config where FileName = 'dynamicCommit'

P.S.
Другие записи, в том числе, где FileName = 'root', FileName = 'DynamicallyUpdated', FileName = ' version', FileName = 'versions' трогать не надо.
Можно удалить запись где FileName = 'dbStruFinal', но она в принципе не влияет на загрузку, удалится сама при очередном обновлении.
pfz_spb; KAPACEB.AA; Alta_k; Nicholas; Aragorn; veforg; aparinp; mordiros; +8 – Ответить
120. AYurin 121 06.12.17 21:09 Сейчас в теме
(82)
Можно удалить запись где FileName = 'dbStruFinal', но она в принципе не влияет на загрузку, удалится сама при очередном обновлении.


Без удаления этой строки 1С продолжал выдавать сообщения о незавершенном обновлении. При продолжении обновления вешался, при отмене завершал сеанс.
132. belousows 3 25.06.19 10:17 Сейчас в теме
(82) помогли первые два пункта, после них зашел в конфигуратор , вернулся к кофигурации прошлой и все ОК!!
Спасибо!
Испуг длился минут 20 ))))
84. NazarovV 87 17.01.13 12:48 Сейчас в теме
Читал с месяц назад эту статью, сегодня пригодилось!!! Спасибо! Нам помогло!
Во время динамического обновления вылезла такая же ошибка на 1С:УПП 8.2; MS SQL 2008;
восстановили другую конфигурацию по данному методу, кстати она тоже была изменена...Взлетело!
VanDiesel1; +1 – Ответить
85. maverick76 11 12.02.13 22:08 Сейчас в теме
Статья хорошая. Предупреждён значит вооружён!
VanDiesel1; +1 – Ответить
86. Nefrit88 01.04.13 06:35 Сейчас в теме
Доброго времени суток! Попробовали реализовать сие на своей "горе базе". Зашли в таблицу config и грохнули запись commit. После этих приседаний предприятие работает, а вот в конфигуратор входить отказывается! Думает и в итоге выдает "Перезапустить конфигуратор?" Жмешь "нет", просто закрывается, жмешь "да" все тоже самое! Ждем обеда, будем полностью очищать таблицу.....оооочень надеемся что поможет. Если у кого была подобная проблема, прошу откликнуться
87. Nefrit88 01.04.13 10:15 Сейчас в теме
метод
INSERT INTO [ПОЛОМАНАЯ_БАЗА].[dbo].[Config]
SELECT * FROM [БЭКАПНАЯ_БАЗА].[dbo].[Config]

помог! ликуем! спасибо создателю статьи!
VanDiesel1; +1 – Ответить
89. zastep 15.04.13 10:54 Сейчас в теме
Хорошая статья! Всё просто и понятно.
Огромное Спасибо Автору!
ООООЧЧЧЕНЬ пригодилось!
VanDiesel1; +1 – Ответить
90. glek 119 26.06.13 16:11 Сейчас в теме
Только что пригодилось. Несмотря на то, что бэкап двухдневной давности был - БОЛЬШОЕ СПАСИБО!!!!
VanDiesel1; +1 – Ответить
91. AlexGS 16.08.13 14:00 Сейчас в теме
5+ Ложу в копилку. Надеюсь не пригодится... )))
93. vvirus 21 27.11.13 08:29 Сейчас в теме
Благодарю, Вариант с удалением commit строки помог
94. rajva 24.12.13 18:58 Сейчас в теме
Огромное спасибо этой ветке и всем кто отписывается здесь!

Удаление FileName = 'commit' не помогло, пришлось удалять еще и FileName = 'dbStruFinal'

Подскажите а "Тестирование и Исправление базы данных" после такого восстановления надо запускать?
95. mvgfirst 6 26.12.13 10:08 Сейчас в теме
Фууухххх! Блин....
Спасли меня!!!

До нового года 4 дня! Продажи на максимуме и тут.... она падает...
Ночной бэкап есть... но с утра уже куча данных попала в базу...

Кажись выгреб ... из ситуации...
96. Незнайка 201 09.01.14 15:01 Сейчас в теме
Да уж... спасибо огромное... спасли... хочется прямо N сумму куда-нибудь перечислить. Спасибо!!!
97. wills 16.01.14 00:16 Сейчас в теме
Сегодня база 1с 8.2 SQL 2008 тоже рухнула, после того когда в ней на протяжении нескольких месяцев делали ДИНАМИЧЕСКОЕ обновление конфигурации, а затем просто заменили ее на аналогичную (сделали откат) - вот тут то и все рухнуло. Не стал запускаться даже конфигуратор, ругаясь таким сленгом, мол "Нарушена целостность данных" и все и никак и никуда не войти.. что только не пробовали, все бесполезно. Потом решил ее удалить и восстановить вчерашнюю, но она даже не удаляется!!! мол, структура базы нарушенна! ну все думаю, удалять в SQl надо, а не в 1S Servers. Перед этим думаю зайду в инет и полажу, мол чего пишут. Нашел пару СКЛ запросов и решил сделать таким образом:
1) сначала создал тестовую базу TEST на SQL загрузил в нее вчерашний *dt файл выгрузки и выполнил запрос, как описал выше VanDiesel1:

Use "полетевшая_база"
go
Delete From [DBO].[Config]
go
ins ert into ["полетевшая база"].[Dbo].[Config] sel ect * from ["TEST"].[Dbo].[Config]
go

2) попробовал запустить 1с и о ЧУДО она загрузилась в режиме предприятия, но в конфигуратор не заходит, та же проблема - "Нарушена целостность ...", тогда в путь второй запрос пойдет:

3) USE "РАБОЧАЯ_БАЗА"
GO
DR OP TABLE [dbo].[ConfigSave]
GO
SET ANSI_NULLS ON
GO
SE T QUOTED_IDENTIFIER ON
GO
CRE ATE TABLE [dbo].[ConfigSave](
[FileName] [nvarchar](128) NOT NULL,
[Creation] [datetime] NOT NULL,
[Modified] [datetime] NOT NULL,
[Attributes] [smallint] NOT NULL,
[DataSize] [int] NOT NULL,
[BinaryData] [image] NOT NULL,
PRIMARY KEY CLUSTERED
(
[FileName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
INS ERT INTO ConfigSave
SELE CT * FR OM Config
GO

После этого и в конфигуратор вошел!!! ) так что можно и такой алгоритм пробовать! Всем удачи!

И еще раз совет: НИКОГДА, НИКОГДА ни делайте динамическое обновление конфигурации!!! на это вам и в 1с ничего не ответят, они сами видимо не знают что происходит.
98. Aragorn 24.01.14 08:50 Сейчас в теме
Спасибо, сильно выручили
100. serg1974 06.03.14 13:37 Сейчас в теме
Спасибо за статью!
А на будущее состряпал себе скрипт - буду сохранять эти таблицы по расписанию:

СНАЧАЛА СДЕЛАТЬ БАКАП РАБОЧЕЙ БАЗЫ !!!!!
потом удалить DROP в рабоч. базе таблицы (Svitland.dbo.Config и Svitland.dbo.ConfigSave)


USE [1c82_tempBcp]
GO

IF  EXISTS (SEL ECT * FR OM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Config_SvitlandCopy]') AND type in (N'U'))
DR OP   TABLE [dbo].[Config_SvitlandCopy]
GO

IF  EXISTS (SEL ECT * FR OM sys.objects WH ERE object_id = OBJECT_ID(N'[dbo].[ConfigSave_SvitlandCopy]') AND type in (N'U'))
DR OP   TABLE [dbo].[ConfigSave_SvitlandCopy]
GO

sel ect * into [1c82_tempBcp].dbo.Config_SvitlandCopy 
    from Svitland.dbo.Config
    
    sel ect * into [1c82_tempBcp].dbo.ConfigSave_SvitlandCopy 
    fr om Svitland.dbo.ConfigSave
Показать



и накидал 2й скрипт ВОССТАНОВЛЕНИЯ - чтобы потом не вспоминать синтаксис в спешке :)
и восстановить их из бакапа - для Свитлэнда:
/*
sel ect * into Svitland.dbo.Config
fr om [1c82_tempBcp].dbo.Config_SvitlandCopy 
     sel ect * into Svitland.dbo.ConfigSave
    fr om [1c82_tempBcp].dbo.ConfigSave_SvitlandCopy
*/

--------------------------------------------------------
PS блин при сохранении сообщения в словах select, drop и fr om пробелы добавляет :(
101. vvirus 21 20.05.14 14:07 Сейчас в теме
Сабж случился на файловой УНФ под УП

использовал консоль программиста и комплект скриптов по объектам метаданных , скрипты скидывают объекты в xml и зипуют
102. dour-dead 273 29.06.14 15:56 Сейчас в теме
Опишу свою ситуацию.

Сервер "1С:Предприятие 8.3 (8.3.4.496)"
БД "PostgreSQL 9.2.4-1.1C(x64)"

Не один из выше перечисленных способов не помог.

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



103. sv_mikh 11 21.01.15 15:31 Сейчас в теме
Спасибо большое, тема помогла выйти из ситуации.
Замечание: в 1С:Предприятии 8.3 (8.3.5) в структуре таблицы config появилось еще одно поле PartNo.
С учетом этого скрипт принял вид:
 GO
 DR OP   TABLE [БитаяБаза].[dbo].[Config]
 GO
 SET ANSI_NULLS ON
 GO
 SET QUOTED_IDENTIFIER ON
 GO
 CRE ATE   TABLE [БитаяБаза].[dbo].[Config](
 [FileName] [nvarchar](128) NOT NULL,
 [Creation] [datetime] NOT NULL,
 [Modified] [datetime] NOT NULL,
 [Attributes] [smallint] NOT NULL,
 [DataSize] [int] NOT NULL,
 [BinaryData] [image] NOT NULL,
 [PartNo] [int] NOT NULL,
 PRIMARY KEY CLUSTERED
 (
 [FileName] ASC,
 [PartNo] ASC
 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]


 GO
 INS ERT IN TO [БитаяБаза].[dbo].[Config]
 SEL ECT * FR OM [ЦелаяБаза].[dbo].[Config]
 GO
Показать
ghostaz; cheburashka; inanity; +3 – Ответить
104. trickster 02.04.15 11:30 Сейчас в теме
Спасибо, очень полезная статья, и главное вовремя пригодилась
105. spezc 806 28.05.15 10:49 Сейчас в теме
Благодарю, добрый человек, сэкономили нам кучу времени)
106. avlitis 04.06.15 14:24 Сейчас в теме
ОГРОМНОЕ ВАМ СПАСИБО! СТАТЬЯ ПРОСТО БЕСЦЕННА!!!
107. pyrkin_vanya 505 08.06.15 18:01 Сейчас в теме
Спасибо тебе огромное. Думал, что придется бекап восстанавливать с частичной потерей данных. Только не смог понять как SQL- Profiler выполнять запрос. Поэтому по нужной базе ПКМ, создать запрос. Только так получилось. Автор, как сделать через SQL- Profiler?
108. dunpil 97 10.07.15 17:38 Сейчас в теме
Спасибо большое, очень помог
109. sl_kim1986 28.08.15 13:50 Сейчас в теме
Только сейчас решил данную проблему, для тех кто не знает SQL может помочь обновление базы в монопольном режиме.
110. progr-2008 119 11.09.15 14:20 Сейчас в теме
111. notka 115 05.01.16 23:21 Сейчас в теме
А мне не помогает, как бы я не пробовала (((
112. pyrkin_vanya 505 10.01.16 17:33 Сейчас в теме
(111) notka, плохо пробовали.
113. foxsis 114 05.02.16 15:13 Сейчас в теме
Спасибо. Мне помогло. Сработало всё на ура. Была проблемная не обновляемая база Бух 3.0. Был ещё вариант восстановления: Настроить РИБ и потом отключить подчинённый узел (но там в последствии тоже проблемы с обновлением возникли,т.к. при выгрузке из Главного узла не выгрузились предопределённый элементы некоторых справочников. Нужно всё руками добавлять, отслеживать.
114. mifka-kun 21.06.16 10:55 Сейчас в теме
Спасибо за инфу. Хотя бы стало понятно в какую сторону смотреть.
У меня ошибка стала возникать после сбоя при обновлении подчиненной РИБ. Очистка таблицы ConfigSave, и замена Config на таблицу из бэкапа проблему не решило.
Помогло удаление записей из таблицы DBChanges
115. vovanrulez 15.09.16 09:40 Сейчас в теме
переходите на 8.3.7 и старше.
116. S7cret 08.12.16 12:37 Сейчас в теме
Мне помогло для Postgresql :
Первые 2 пункта позволяют войти в конфигуратор, 3й пункт позволяет сохранять конфигурацию.
1) delete fr om configsave where FileName = 'commit'
2) delete from configsave wh ere FileName = 'dbStruFinal'
3) C:\Users\kub\AppData\Local\1C\1cv8 удаление всех папок кроме logs
117. juker 255 24.04.17 10:38 Сейчас в теме
Взял себе на вооружение самую соль статьи и обсуждения.
Спасибо автору и всем отписавшимся в этой теме.
К сожалению, 1С ничего существенного не пишет по данной теме, а в первую очередь они должны быть заинтересованы.
ИМХО: Динамическое обновление - черная коробочка, открытия которой лучше избегать. Она как ящик Пандоры может бабахнуть.
118. shoy 19 31.10.17 16:14 Сейчас в теме
Это очень полезная статья!

Читайте и запоминайте!
119. shoy 19 31.10.17 16:19 Сейчас в теме
Вот пришел момент, когда у нас случилось тоже самое и помогло просто:

delete from config where FileName = 'commit'

После этого, зашел в конфигуратор, минуя предупреждение "Внимание!!! При обновлении данных, после последней реструктуризации, произошла критическая ошибка. Повторить обновление?" ответом "ДА"

Далее, обновил конфу по F7.
122. Roman_SE 10 17.02.18 09:48 Сейчас в теме
Самое быстрое простое и правильное, инкрементальный бекап каждые полчаса средствами SQL сервера .... с падающим конфигуратором еще на файловой 81 наигрались, с тех пор больше не тянет на такие подвиги....
123. CapShrike 25.04.18 00:10 Сейчас в теме
А теперь более сложная задачка: Платформа 8.3.11. Лицензия. В базу были внесены многократные модификации и при последнем изменении была разорвана связь сервера 1с с sql. Как следствие при открытии конфигуратором конфигурация виделась полностью пустой (как при создании новой базы). В режиме предприятия не запускалась. К счастью таблицы самой базы данных остались на месте - никакая реструктуризация данные не убила. Резервный бекап только за несколько дней назад. При копировании config из бекапа база запускается и даже пытается работать, но любые серьёзные задачи - например удаление помеченных объектов выкидывают из 1с с неизвестной ошибкой.
варианты чистки таблицы config с именами поля FileName 'commit' и 'dbStruFinal' - безрезультатны. Тестирование и исправление - аналогично. Поиск прочих неправильных записей в config - аналогично
По результатам исследования помогло копирование таблицы param (натолкнуло на мысль ссылки в таблице param на файлы обновления)

DELETE FROM [ПроблемнаяБаза].[dbo].[Params]
GO
INS ERT IN TO [ПроблемнаяБаза].[dbo].[Params] SEL ECT * FR OM [РезервнаяБаза].[dbo].[Params]
GO

(в скрипте лишние пробелы - добавляются автоматом в сообщение)
124. johnnyshut23 131 30.04.18 21:31 Сейчас в теме
я всегда начинаю с удаления поставки
125. skripko 15.05.18 14:13 Сейчас в теме
Спасибо огромное!
128. adelya 12 24.04.19 01:12 Сейчас в теме
Огромное спасибо автору. Во время динамического обновления выкинуло из конфигуратора. Больше в него не пускало - ошибка формата потока. При этом пользователи работали. Помогла только замена таблицы config и очистка configSave. (только при замене config таже ошибка формата потока)
129. script 128 17.05.19 13:28 Сейчас в теме
Помогите.
Динамическое обновление. Сбой. Выполнена замена таблицы config и копии и очистка configSave.
Пользователи работают, в конфигуратор зайти можно.
НО.
Любая доработка программы и сохранение изменений приводит к повторению ошибки.
Места на дисках хватает. Кэш почистил.
Какую таблицу еще можно перенести из копии?
130. vadim1011985 103 17.05.19 13:52 Сейчас в теме
(129) настройте ТЖ и посмотрите в какой таблице происходит сбой
131. script 128 17.05.19 19:05 Сейчас в теме
В 8.3.11 В меню Конфигурация - Конфигурация базы данных, появился новый пункт - Обновить конфигурацию БД на сервере.

Сделал копию ломаной базы - открыл ее в конфигураторе - добавил константу - нажал - Обновить конфигурацию БД НА СЕРВЕРЕ.
И случилось чудо, пошла реструктуризация и изменения принялись. После этого удалить константу и сохранил как обычно F7 - все работает.

Кто знает, что это за режим? В инете про него ничего не нашел.
133. strafer 15.07.19 08:57 Сейчас в теме
Спасти конфигурацию по этой статье и комментариям удалось, но самое главное расширение которое писал не полностью. Если вдруг у кого такое будет, то таблицы Exten* (их три вроде), перенес в такую же конфигурацию, только бэкап был старее. Ошибка при попытке запустить
server_addr=tcp://1CSrv:1560 descr=10054(0x00002746): Удаленный хост принудительно разорвал существующее подключение.  line=1582 file=d:\jenkins\ci_builder\windowsbuild2\platform\src\rtrsrvc\src\dataexchangetcpclientimpl.cpp'
. Случилось такое после попытки попробовать новую фишку "Управление копиями базы", как раз когда хотел сохранить расширение. Кстати удалось ошибку воспроизвести, так что вдруг у кого то такое случилось, то решение написал выше.
134. newtraveller 24 15.08.19 13:24 Сейчас в теме
"что иногда помогает очистка таблицы dbo.ConfigSave" на 8.3.14.1630 помогло, таблица была не пустая
135. SanchoD 393 23.06.20 08:55 Сейчас в теме
Словил такую же проблему. База на PostgresSQL 10. Никак не могу найти таблицу Config.
Выполнил скрипт delete from configsave в PgAdmin4, но ничего не произошло.
Где-что еще можно посмотреть?
138. VanDiesel1 388 15.02.21 19:51 Сейчас в теме
(135) Надеюсь решили успешно эту проблему?! Понятно в PostgresSQL это всё по-другому так что ковыряйтесь - найдете решение - самое главное выложите его в общий доступ, чтобы облегчить жизнь другим.
136. oks999 28.06.20 11:54 Сейчас в теме
Народ, помогите!!! Испробовала данные методы, не помогает (((
При запуске конфигуратора ругается "Текущему соединению с информационной базой не назначен сеанс"

что делать не представляю.... помогите пожалуйста, за любую помощь буду благодарна.
137. oks999 28.06.20 12:10 Сейчас в теме
А когда запускаю толстый клиент выходит следующее сообщение

Платформа 8.3.17.1496
Конфигурация 2.4.12.64 - обновлялась на 2.4.12.71
Прикрепленные файлы:
139. VanDiesel1 388 15.02.21 19:55 Сейчас в теме
(137)Извините, но у вас сообщения и проблемы не те которые рассматриваются в этой статье. Пробуйте другие методы. Я бы начал с чистки кэша, локально и на сервере 1С с его перезагрузкой, если это не файловая версия.
140. sergey_s_ 18.05.22 05:49 Сейчас в теме
Автору спасибо, взял на заметку.
141. scorp1 5 10.12.25 10:27 Сейчас в теме
Автору - рескпет и уважуха !!!

Помогло,
Я раньше с SQL не сталкивался, и без этой статьи не восставил бы базу.
Использовал INS ERT IN TO
142. slavik27 129 03.03.26 20:41 Сейчас в теме
8.3.27.1688

не помогло копирование конфигурации
в конфигуратор пускает, НО ...... запускается выдает отсутствие таблиц Node ...., потом еще и еще ругается
тестирование не очень помогает
помогло только вот это
delete fr om config wh ere FileName = 'dbStruFinal'

""fr om и wh ere - без пробелов
143. holger 07.09.26 14:05 Сейчас в теме
Какое-то время назад восстановить конфигурацию путём очистки кривых динамических обновлений методом из топика получилось успешно.
Тут понадобилось выгрузить конфигурацию в файл, при выгрузке почти в конце прогресса выходит ошибка
Файл не обнаружен 'v8srvr://c19a9789-d8f9-4ae6-bc8e-a5a271ee8a49/upp/Config/versions_dynupdate_f43beffb-35a0-4c7a-984e-7b1db4585f89'
по причине:
Файл не обнаружен 'upp/Config/versions_dynupdate_f43beffb-35a0-4c7a-984e-7b1db4585f89'

Т.е. явно надо чистить ссылки на кривые обновления способом из этой темы

В этой Статье
написано, что:
==
Все объекты, которые вы изменяли в конфигурации хранятся в таблице configsave.
При обновлении происходит сначала заполнение таблицы configsave, после чего данные переносятся в таблицу config, стираясь с предыдущего места.
Вы можете воспользоваться возможностью скопировать таблицу config из идентичной базы в неработающую или, как вариант, удалить все найденные изменения.

==
Т.е.
dbo.ConfigSave - это то, что внесено в конфигурацию, но ещё неприменено
dbo.Config - это то, что уже полностью внесено (перенесено из dbo.ConfigSave )
если в строке есть "dynupdate" - значит обновление динамическое
если в строке есть "dynamicCommit" - значит обновление динамическое и подтверждённое

Обновлений, содержащих "Commit" ни в одной таблице (dbo.ConfigSave и dbo.Config)нет, значит все обновления, включая динамические уже внесены в конфигурацию.
А вот обновления, содержащие "dynupdate" есть в таблице dbo.Config есть, их там 25 шт., из них 10 содержат id из ошибки - "f43beffb-35a0-4c7a-984e-7b1db4585f89" Вот на них ошибка и указывает.

В статье говорится что нужно удалить всё, что имеет в строке "dynamicCommit" или "Commit". Но это для случаев, когда 1С не запускается, ругаясь на обновление. У нас другой случай - всё запускается, ругается только при выгрузке конфигурации в файл.

Вопрос - в таблице dbo.Config вообще могут присутствовать строки, содержащие "dynupdate", если никаких не применённых обновлений уже нет?

По идее, если все обновления уже внесены в базу, то строки с "dynupdate", "dynamicCommit" "Commit" вообще не должны никак влиять на конфигурацию да и не должны там присутствовать. Т.е. их можно смело удалить.
Так?
Для отправки сообщения требуется регистрация/авторизация