Динамическое обновление больше не страшно! Сохранение таблицы Config перед динамическим обновлением

19.02.18

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

Обработка для резервного сохранения SQL-таблиц Config b ConfigSave перед динамическим обновлением, а также восстановления этих таблиц в случае сбоя.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Динамическое обновление больше не страшно! Сохранение таблицы Config перед динамическим обновлением.:
.epf 10,88Kb ver:1.0
61 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

Протестировано на релизе 1С:Предприятие 8.3 (8.3.9.2033)

Сделана по мотивам публикации //infostart.ru/public/324751/ 

Отличия:  сделана отдельной обработкой. 

Содержит обычную и управляемую формы. 

Не требует создания процедур на SQL-сервере.  

Требует логина и пароля администратора. 

Перед динамическим обновлением, чтобы не рисковать потерять базу данных (крайне редко, но случается)  копирует таблицы Config и ConfigSave из вашей базы данных в базу master, добавляя к имени таблицы  имя база данных, так как наверняка на вашем SQL-сервере не одна база. 

В случае сбоя, копирует таблицы обратно.  Копирование таблиц занимает секунды, сохраняет огромное количество времени. 

Если база данных была подключена к Хранилищу, то после восстановления, думается, лучше переподключить базу к Хранилищу.

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

обработка config динамическое обновление backup резервное копирование

См. также

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

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS! Версия 1.3 от 16.04.2026

7320 руб.

06.11.2012    79175    634    45    

93

Архивирование (backup) Инструменты администратора БД Системный администратор Программист 1С 8.3 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Абонемент ($m)

Полностью автоматизированная внешняя обработка для администрирования 1С: блокировка/разблокировка ИБ, массовое завершение сеансов, резервное копирование и восстановление из .dt, выгрузка/загрузка конфигурации (.cf), пакетная работа с расширениями (.cfe) и дополнительными обработками – всё через удобную форму без ручных запусков конфигуратора и консоли кластера

1 стартмани

21.01.2026    4506    45    war41k    0    

16

Архивирование (backup) Групповая разработка (Git, хранилище) Системный администратор Программист Бесплатно (free)

Как дать возможность каждому разработчику 1С вести разработку, тестирование и оптимизацию на собственной полноразмерной копии базы и при этом не тратить миллиарды рублей и тысячи часов на развертывание тестового окружения, а так же экономить дисковое пространство? Расскажем о том, как с помощью инструмента Database Lab получать полноразмерные копии базы 1C на СУБД PostgreSQL за считанные секунды (даже в случае использования многотерабайтных баз).

15.12.2025    8936    nasonkin    18    

29

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

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

12200 руб.

19.02.2025    2231    3    0    

3

Архивирование (backup) Системный администратор 1С 8.3 Бесплатно (free)

Предлагаю Вашему вниманию 3 скрипта на bash (sh) для архивирования (backup) типовых конфигураций на Linux средствами 1С и Postgres. Перед запуском корректно заполните раздел "Параметры" в соответствии с Вашими настройками.

20.01.2025    4053    Prelude    5    

12

Архивирование (backup) 1С:Предприятие 8 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение поможет настроить резервное копирование баз SQL в стандартный файл выгрузки баз 1С (*.dt).

2400 руб.

27.08.2024    3475    1    6    

2

HighLoad оптимизация Администрирование СУБД Архивирование (backup) Системный администратор Программист 1С:Предприятие 8 Бесплатно (free)

Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер) до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя было сделать проще, как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей-то лабораторной работы? Статья адресована прежде всего специалистам 1С, избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.

13.08.2024    8832    1CUnlimited    9    

6

Инструменты администратора БД Архивирование (backup) Системный администратор Программист 1С:Предприятие 8 Абонемент ($m)

Обработка для "обновления" своей тестовой базы из резервной копии рабочей базы без помощи админов.

1 стартмани

21.05.2024    4227    15    DenDev1C    4    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. madonov 272 12.02.18 08:36 Сейчас в теме
Не очень понятно как воспользоваться обработкой для восстановления, если база валится и при запуске в пользовательском режиме.
=============================
Кажется дошло, её можно запустить из под любой другой живой базы.

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

У меня каждые 20 минут на SQL-сервере выполняется задание, которое копирует конфу в специальную базу.
GO
SET ANSI_NULLS ON
GO 
SET QUOTED_IDENTIFIER ON 
GO 

GO 
DECLARE @SQL varchar(8000), @table_name varchar(100)

SET @table_name = '[Conf_Backup].[dbo].[Config_' + LEFT(CONVERT(VARCHAR, GETDATE(), 120), 16) + ']'
SET @table_name = REPLACE(@table_name, '-', '_')
SET @table_name = REPLACE(@table_name, ':', '_')
SET @table_name = REPLACE(@table_name, ' ', '_')

SET @SQL = 'CRE ATE   TABLE '+@table_name+' 
 ( 
[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]
INS ERT INTO '+@table_name+'  
SEL ECT * FR OM [BUH].[dbo].[Config]'
exec(@SQL)
GO
Показать


Ночью эта база очищается, чтобы не разрасталась:
USE [Conf_Backup]
GO
declare @i int
set @i = 0
while (@i<99)
begin
declare @table_name varchar(100)
declare table_list cursor for
sel ect name fr om sysobjects o2 wh ere xtype='U' and
not exists (
sel ect * fr om sysforeignkeys k
join syscolumns c1 on (k.fkeyid = c1.id and c1.colid=k.fkey)
join syscolumns c2 on (k.rkeyid = c2.id and c2.colid=k.rkey)
wh ere c2.id = o2.id and c1.id <> o2.id
)
open table_list
fetch next from table_list into @table_name
while @@fetch_status = 0
begin
print 'dropping table '+@table_name
exec ('dr op   table '+@table_name)
fetch next fr om table_list into @table_name
end
close table_list
deallocate table_list
set @i = @i+1
end
go
Показать


В случае неудачного демонического обновления база восстанавливается за 30 секунд:
GO 
DR OP   TABLE [BUH].[dbo].[Config] 
GO 
SET ANSI_NULLS ON 
GO 
SE T QUOTED_IDENTIFIER ON 
GO 
CRE ATE   TABLE [BUH].[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 
INS ERT INTO [BUH].[dbo].[Config] 
SELE CT * FR OM [Conf_Backup].[dbo].[%ИмяТаблицыСКрайнимБэкапом%] 
GO
Показать


Таким образом получается автоматическое резервное копирование таблицы с конфигурацией каждые 20 минут. Больше 20 минут работы не потеряешь.
Обработка - задумка хорошая, только её бы расширить немного, чтобы умела настраивать на SQL-сервере автоматическое резервное копирование.
ftrain; Grigoripal; megatrend; den1049; cleaner_it; корум; dour-dead; KroVladS; kondrat230386; +9 Ответить
8. vovan_victory 65 13.02.18 08:33 Сейчас в теме
(1)А если повести выполнение обработки по расписанию?...
2. ingmar 12.02.18 10:02 Сейчас в теме
Полезно, но я бы ещё добавил возможность доменной авторизации при подключении к SQL серверу, т.к. это секьюрнее и чаще применяется.

Connection.Open("Provider=SQLOLEDB.1; Server="+Сервер+"; Database="+ИмяБазы+"; Trusted_Connection=yes;");
Sergey.Noskov; +1 Ответить
3. Tangram 165 12.02.18 11:17 Сейчас в теме
я так понимаю, на PostgreSQL не взлетит?
perpleks; Jkey; +2 Ответить
4. Evil Beaver 8404 12.02.18 12:38 Сейчас в теме
По-моему, на ИС уже был автоматический триггер MSSQL, который при начале дин. обновления делал копию автоматически безо всяких "каждый 20 минут" и без ручных действий.
корум; A_Max; madonov; +3 Ответить
7. madonov 272 13.02.18 06:53 Сейчас в теме
(4) Полезно, спасибо.
5. break 33 12.02.18 12:39 Сейчас в теме
6. info1i 247 13.02.18 02:07 Сейчас в теме
Помню, еще несколько лет назад я такое читал, скачал и применял. Похоже, что данная статья - дубль статьи: https://infostart.ru/public/237871/
Могу, конечно, и ошибаться, но так похоже :)
Silenser; +1 Ответить
9. Silenser 621 13.02.18 09:33 Сейчас в теме
(6) Конечно копия, изобретение велосипедов - наше все!
10. info1i 247 13.02.18 13:20 Сейчас в теме
Пока вспомнил, подскажу важный нюанс: эти две таблицы не всегда спасают. Копировать надо еще таблицу dbschema или db_schema, как-то так.
CratosX; ye_s; +2 Ответить
11. KHoroshulinAV 286 13.02.18 16:03 Сейчас в теме
Насчет "крайне редко" это автор смягчил. Иначе не нужна была обработка!)
12. svk 14.02.18 11:36 Сейчас в теме
А эта проблема ещё существует разве?? Как-то слышал, что давно побеждена 1с-никами...
13. Silenser 621 14.02.18 14:00 Сейчас в теме
(12)Это байки из 1Склепа :)
Andrey_Timofeev; CratosX; +2 Ответить
14. Magov 20.02.18 20:15 Сейчас в теме
Я сделал немного по другому.
1. Организовал ежесуточное архивирование таблицы Config средствами SQL. В отдельную базу данных. Job стартует в 03:00, выполняет SELECT * into [БазаАрхивов].dbo.[Config] FROM [РабочаяБаза].[dbo].[Config].
2. Сделал 1Совую обработку по выполнению скрипта из п.1, только копирую не в [БазаАрхивов].dbo.[Config], а "[_Config]". Дабы иметь и суточную и текущую копии.

Восстанавливать, имхо, лучше не drop+create, а truncate + select into средствами менеджмент студии.
Для отправки сообщения требуется регистрация/авторизация