Резервное копирование баз SQL Server на базе 1С.

28.11.12

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

Конфигурация предназначенная для резеврного копирования баз SQL Server. Может использоваться как автономно, так и объединяться с любой конфигурацией. Код полностью открыт и доступен для редактирования.

Скачать исходный код

Наименование Файл Версия Размер
Rezerv_1.4.cf
.cf 582,15Kb
166
.cf 582,15Kb 166 Скачать

Конфигурация предназначенная для резеврного копирования баз SQL Server. Может использоваться как автономно, так и объединяться с любой конфигурацией. Код полностью открыт и доступен для редактирования.

В конфигурацию включен подробный HELP, вызываемый из справочника "Информационные базы".

Предназначение: Использование  как основной/резервный механизм архивации БД. Использование при невозможности использования стандартных механизмов SQL Server (например, в Express версии). Удаленное создание и удаление резервных копий, настройка архивации (в случае работы через Web-сервер).

Возможности:

1. Настройка резервного копирования как одной, так и нескольких баз по индивидальному расписанию

2. Возможность настройки строки соединения и SQL-запроса архивации БД.

3. Возможность указания произвольного имени файла архива, в том числе и вычисляемого. (Например, зависящего от даты)

4. Возможность архивации выгруженного файла с помощью RAR и встроенного в 1С механизма ZIP-архивации. Возможность установки пароля для файла.

5. Ведение истории выгруженных файлов.

Об ошибках просьба сообщать в личку. Несмотря на то, что писалась конфигурация под SQL Server, возможно она будет и работать и с другими СУБД (для этого можно настроить строку соединения и, возможно, скрипт выгрузки). Эта возможность не тестировалась. О таком опыте - успешном или неудачном просьба также сообщать в личку.

 

upd: ver. 1.1 : Исправлена ошибка прерывания исполнения запроса по таймауту и добавлена возможность устанавливать таймаут запроса самостоятельно.

ver. 1.4 Добавлена возможность очистки лог-файла после создания резервной копии. Добавлена гиперссылка для просмотра справочной информации прямо из конфигурации.

См. также

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

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

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

21600 руб.

15.05.2017    42626    12    24    

38

BackUPv8 - система резервного копирования баз 1С

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Автоматическое создание копий файловых и серверных информационных баз 1С Предприятие 8 и размещение копий в облаке Яндекс.Диск, локальном или сетевом ресурсе.

1200 руб.

03.09.2014    14823    15    6    

18

Автоматическое резервное копирование любой клиент-серверной базы 1С в формате DT с удалением сеансов, архивацией, изменением расширения (8.3.14+, расширение)

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

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

6000 руб.

06.11.2012    70208    622    44    

80

Резервное копирование журнала транзакций, наконец-то!

Архивирование (backup) Администрирование СУБД Россия Бесплатно (free)

Постараюсь объяснить, зачем нужно резервное копирование именно журнала транзакций, а не только базы данных, и почему я словно сбросил груз, настроив его - как, покажу, естественно. Кстати, будут скрипты T-SQL (с подробными комментариями) - отличный способ сделать администрирование базы более уютным.

04.12.2023    6224    n_mezentsev    15    

25

Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.

07.10.2022    20450    sapervodichka    36    

143

Архивирование базы в dt и дамп postgres

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Захотелось клиентам выгрузку архива баз, и выгрузку в дт, готовые скрипты с сети не заработали. Может, кому-то поможет. Релиз 8.3.18.1741.

1 стартмани

25.08.2022    4807    2    Gnom-Gluck    6    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. hrip 214 24.05.12 15:44 Сейчас в теме
Оригинальная идея. Надо будет протестировать.
Под SQL Server имеется ввиду MS SQL Server?
+
15. AlexO 135 19.06.12 10:08 Сейчас в теме
(1) hrip,
Под SQL Server имеется ввиду MS SQL Server?

а что - есть еще какой-то SQL с названием SQL Server? :)
__________________________________________
Народ, когда научитесь использовать средства программ - а не изобретать костыли?
MS SQL прекрасно настраивает бэкапы любых баз, по расписанию и куда угодно. Плюс - еще и регламентные операции с базой.
Один раз настроил - и получай альтернативный бэкап хоть каждую минуту.
+
16. hrip 214 19.06.12 10:35 Сейчас в теме
(15) AlexO, в чем смысл придирок к словам то? :-)
Или по вашему про PostgreSQL, IBM DB2, MySQL и т.д. нельзя написать что это SQL Server?
а вот MS SQL Server - это как раз название конкретного программного продукта от Майкрософт.
Ну и в немного в защиту автора.
Никто же не заставляет вас использовать эту разработку если она вам не нравится?
А вот ознакомиться с технологией, как автор использует соединение с СУБД и делает бекапы, вредно точно никому не будет.
Так что автору однозначно плюс!
+
2. bystrov-e 122 24.05.12 15:48 Сейчас в теме
Да, именно MS SQL Server :). Разработка проверялась на 2008, 2008 R2, 2005
+
3. hrip 214 24.05.12 15:58 Сейчас в теме
Протестировал. Всё отлично работает.
Только надо наверное переименовать "папка для выгрузок" в "папка для выгрузок (на сервере СУБД)", а то я backup запустил на локальной машине и указал соответственно папку свою, а там появился только пустой архив, а бекап лежал в такой же папке но на сервере.
+
4. bystrov-e 122 24.05.12 16:03 Сейчас в теме
Да, возможно, в следующей версии я переименую этот реквизит. Я знаю об этой особенности работы и написал о ней в хелпе и прилагающемся описании. Спасибо)
+
5. bystrov-e 122 24.05.12 16:08 Сейчас в теме
Да, забыл сказать. В случае, если база создается в файловом варианте, то её нужно создавать на сервере, потому что выполнение команды архивации происходит в среде машины, на которой запущен процесс, соответственно заархивировать базу она не сможет - будут различаться папки на сервере (куда сохраняется архив) и на клиенте (откуда архиватор пытается заархивировать его). Проблему можно также решить расшариванием папки, куда делается архив и указанием сетевого пути к ней.
+
6. alm_ilya 25 14.06.12 06:19 Сейчас в теме
А что происходит с пользователями, которые на момент архивации работают в базе? Отключаются?
+
7. Worf 14.06.12 06:52 Сейчас в теме
(6) taurus_, SQL же всё делает на горячую, ну может кроме переименования баз )
+
8. bystrov-e 122 14.06.12 09:05 Сейчас в теме
Нет, ничего не происходит. При копировании средствами SQL Server пользователи не отключаются
+
9. ShamanNet 3 15.06.12 12:43 Сейчас в теме
Тысяча извинений! Всё сделал по инструкции, но при попытке сделать архивную копию базы выдаётся сообщение:
Ошибка создания резервной копии: {ОбщийМодуль.БКП_Сервер.Модуль(211)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Время ожидания истекло
+
10. bystrov-e 122 15.06.12 14:21 Сейчас в теме
Добрый день!

Какого размера у вас база SQL? Судя по всему, тут какая-то ошибка по таймауту.
+
11. ShamanNet 3 18.06.12 08:46 Сейчас в теме
Немногим больше одного гигабайта. База совсем небольшая ведь, но архивация не проходит. Архивный файлик создаётся, но практически сразу "удаляется" и выдаётся сообщение об ошибке архивации.
+
12. Kopman 23 18.06.12 08:51 Сейчас в теме
Интересная штуковина, + заочно. Надо будет ознакомиться на досуге:-)
+
13. bystrov-e 122 18.06.12 09:11 Сейчас в теме
Я посмотрю в чем может быть причина такой ошибки как у вас, либо поправлю либо предложу решение)
ShamanNet; +1
14. bystrov-e 122 19.06.12 09:41 Сейчас в теме
Ошибка была из-за таймаута исполнения запроса для ADO - по умолчанию 30 сек. Исправил в новой версии.
+
17. bystrov-e 122 19.06.12 10:39 Сейчас в теме
Ну вы почитайте внимательно описание конфигурации и поймете, что я не призываю использовать её вместо стандартных средств :) Ситуации разные бывают и разные средства могут использоваться.
+
18. ShamanNet 3 19.06.12 13:45 Сейчас в теме
(17) Огромное вам спасибо! После исправления проблемы с таймаутом всё заработало, как часы!
+
19. sumixam 20.06.12 12:15 Сейчас в теме
Протестировал работает спасибо, с таймаутом поначалу тоже была заморочка.
+
20. ShamanNet 3 20.06.12 16:21 Сейчас в теме
Тысяча извинений! Это опять я :( Настроил автоматическое резервное копирование по расписанию. Однако по какой-то причине базы автоматически не резервируются. Подскажите, пожалуйста, что я делаю не так?
+
21. bystrov-e 122 20.06.12 16:35 Сейчас в теме
Скажите, у вас файловая ИБ или серверная
+
22. ShamanNet 3 20.06.12 16:58 Сейчас в теме
23. bystrov-e 122 20.06.12 17:18 Сейчас в теме
В базе случайно не стоит "Блокировка регламентных заданий"? Это можно посмотреть в консоли кластера серверов 1С:Предприятия
+
24. ShamanNet 3 20.06.12 19:32 Сейчас в теме
(23) Нет, блокировка регламентных заданий была отключена (не включалась) ещё на этапе настройки сервера 1С.
+
25. bystrov-e 122 20.06.12 22:04 Сейчас в теме
Там в конфигурацию включена простенькая консоль для просмотра активных заданий. Посмотрите, есть ли там регламентное задание и активно ли оно. Можно также проверить расписание. При выполнении регламентного задания остаются записи в журнале регистрации, можете ещё и туда заглянуть на предмет того, когда проходили регламентные задания и что происходило в них.
+
26. ShamanNet 3 21.06.12 14:04 Сейчас в теме
Да, конечно, регламентное задание есть и активно, но не выполняется. В журнале регистрации только записи о резервированиях, сделанных вручную (нажатием соответствующей кнопки). Расписание проверял и перепроверял. Беда какая-то!
+
27. bystrov-e 122 21.06.12 15:40 Сейчас в теме
Ну это тогда точно у вас проблема с планировщиком заданий. Проверьте в консоли кластера. Настройка задается для каждой базы в отдельности. При создании базы для резервного копирования могли случайно поставить/забыть снять галку блокировки заданий.
+
28. Гость 06.07.12 13:43
Вот такую http://infostart.ru/public/121407/ систему посмотри значительно функциональнее. Не ново!
+
29. bystrov-e 122 06.07.12 13:52 Сейчас в теме
(28) Гость, 12000 стоит та разработка, а эта - бесплатная. Вы наверное свою разработку рекламировать пытаетесь? :)
+
30. Гость 06.07.12 15:03
Может она того стоит! ) Думаю за демкой можно к разработчику обратиться.
+
31. bystrov-e 122 06.07.12 15:18 Сейчас в теме
(30) Гость, Обратитесь, попробуете, можете мне в личку написать о результатах:).

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

Там заявлено больше функций чем у меня, но я и не претендую на то, что моя конфигурация - самая функциональная. Доработки функциональности планируются, но не скоро и они в первую очередь будут направлены на поддержку других СУБД, потому что именно в этом суть разработки.
+
32. Гость 06.07.12 15:24
Проде как SQL сам деалет копии и снапшоты, зачем еще что-то придумывать?
+
33. bystrov-e 122 06.07.12 15:46 Сейчас в теме
(32) Гость, Я на этот вопрос выше где-то отвечал.
+
34. ivan453 09.07.12 07:54 Сейчас в теме
Ошибка подключения: {ОбщийМодуль.БКП_Сервер.Модуль(379)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): [DBNETLIB][ConnectionOpen (Connect()).]SQL Server не существует, или доступ запрещен.

вот такая ошибка, что делать?
+
35. bystrov-e 122 09.07.12 08:06 Сейчас в теме
(34) wert453, Нужно проверить пользователя, пароль, правильность написания пути для подключения к серверу.
ivan453; +1
36. ivan453 09.07.12 10:21 Сейчас в теме
так - отсюда по подробнее,

у меня на сервере крутится база - см. картинку.

Мне вместо базы - Прописать "База1" , имя "Серв1"

или можно указать путь к базе?
Прикрепленные файлы:
Светлый ум; +1
38. bystrov-e 122 09.07.12 10:47 Сейчас в теме
(36) wert453, Тут небольшая путаница в понятиях. В качестве сервера нужно указывать сервер, на котором крутится SQL, лучше также в явном виде указать путь к instance SQL сервера. Имя базы, пользователя и пароль также относятся к SQL серверу. Т.е. в виде сервера должно быть что-то вроде

SERVER или SERVER\MSSQLSERVER, где MSSQLSERVER - имя инстанса.

В качестве базы указывается имя базы - BASE, например.

пользователь (если выбрана аутентификация SQL) - обычно sa. Пароль - пароль входа SQL.

Имя сервера и базы 1С не обязательно должны совпадать с именем базы и сервера SQL, но обычно их настраивают одинаковыми, отсюда и путаница.
ivan453; +1
37. Светлый ум 406 09.07.12 10:23 Сейчас в теме
Аналогичная проблема: при нажатии кнопки "проверить соединение" та же ошибка.
+
39. ivan453 09.07.12 11:09 Сейчас в теме
Теперь ясно. спасибо
+
40. vi.rus 8 18.07.12 09:57 Сейчас в теме
Вот бы если в конфигурации еще была возможность восстановления из файлов бэкапа, было бы замечательно
+
41. bystrov-e 122 18.07.12 10:50 Сейчас в теме
(40) vi.rus, Планируется в будущем )
+
42. Светлый ум 406 20.07.12 08:25 Сейчас в теме
Объясните пожалуйста, по подробней на счет пути каталога "Папка для выгрузок":

- у меня пишет что выгрузка произошла успешно, но архива в папке нет - даже пустого, а в "истории резервных копий" пишет что архив сформировался тут же и размер его "0"
+
43. fadaserw 6 31.08.12 16:42 Сейчас в теме
Ошибка подключения: {ОбщийМодуль.БКП_Сервер.Модуль(379)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Ошибка входа пользователя "admin".

КАК ВЫЛЕЧИТЬ
+
44. fadaserw 6 31.08.12 16:45 Сейчас в теме
45. vervolf9 31.08.12 18:05 Сейчас в теме
Хм, интересно, скачаю потестировать себе, затея прикольная.
+
46. Светлый ум 406 28.09.12 09:11 Сейчас в теме
Автоматически (по указанному расписанию) не создает архив, по кнопке "создать сейчас делает".

Как нужно заполнять закладки "настройки автоматического сохранения" - все четыре можно заполнить и всеравно должен работать, или по одной как-то?.. всё уже перепробовал.
+
47. lavrov 164 27.11.12 23:32 Сейчас в теме
Спасибо автору , сильно пригодилась, встроил строку подключения в свою конфигурацию.
Обратите внимание на права доступа к папкам с архивами пользователя под котором запущена служба sql , из за этого архивация можеn не проходить.
kaliningrad06; +1
48. kaliningrad06 18.12.12 16:38 Сейчас в теме
Кто может поделиться а то на счету 0 а то очень нужно.
+
49. kaliningrad06 20.12.12 01:59 Сейчас в теме
Есть вопрос а как открыть исходный кот
+
50. hestoeaug 13 08.12.16 14:27 Сейчас в теме
Автору респект !!!!! отличная работа ! Спасибо огромное!!!!
+
51. klom 08.12.16 14:44 Сейчас в теме
"Использование при невозможности использования стандартных механизмов SQL Server (например, в Express версии)."

Данная разработка чем лучше двух файлов
один с расширением backup.sql, в котором строки вида
BACKUP DATABASE [Base_naim] TO DISK = N'i:\sql_backup\Base_naim.bak' WITH NOFORMAT, NOINIT, NAME = N'Base_naim-Полная База данных Резервное копирование', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
Второй backup.bat со строкой вида
sqlcmd -S SERVER -E -i I:\sql_backup\backup.sql

Это все для Express версии.
erutan; Vecjh2008; +2
52. Finn71 01.04.19 20:30 Сейчас в теме
Работает хорошо! Только один вопрос, не думали добавить возможность ввода данных доступа к ресурсу, куда копировать данные? Для копирования на сетевой ресурс.
+
Внимание! Тема сдана в архив