SQL2005. Выгружаем базу средствами 1С не выгоняя пользователей.

27.09.09

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

Очередной велосипед на тему архивации баз данных 1С средствами 1С.

На примере 1с8.

Вводные:

  1. Есть управленческая база данных на сервере SQL2005, в которой  работа ведется по графику 24/7 - то есть база используется круглые сутки
  2. Есть потребность в архивации  в файлы DT
  3. Есть потребность в последующей заливки выгрузок на удаленный FTP сервер

Решение:

В SQL 2005 есть замечательный механизм под названием «моментальные снимки базы данных» (http://msdn.microsoft.com/ru-ru/library/ms175158(SQL.90).aspx) который обладает очень важной функцией: крайне быстро  делается с минимальной нагрузкой на сервер.

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

Единственная трудность - я так и не нашел как «обновлять» снимок, по этому родилась идея его тупо уничтожать .

Реализация:

  1. Исходная база данных  «bp_upr» (соответственно база «снимок» будет «UPR_Snapshot_Sample»)
  2. Инструкция для создания снимка базы данных 
  3. create  database  UPR_Snapshot_Sample on (name='bp_upr',FILENAME='D:\SQLData\BP_UPR.ss') AS SNAPSHOT OF bp_upr
  4. Добавляем в инструкцию  удаление существующего снимка
    drop database UPR_Snapshot_Sample
    create database UPR_Snapshot_Sample on(name='bp_upr',FILENAME='D:\SQLData\BP_UPR.ss') AS SNAPSHOT OF bp_upr 
  5. Данную инструкцию помещаем в план обслуживания и задаем периодичность выполнения оной. Например,  каждые три часа начиная с 10:00 и заканчивая в 19:00
  6. настраиваем привычное нам средство архивирования баз данных на работу с информационной базой в кластере «UPR_Snapshot_Sample». У меня это программа «Эффектор:Сейвер» которая выполняет 4 задания по архивации базы «UPR_Snapshot_Sample»: первое в 10:20, второе в 13:20 итд...
  7. Для синхронизации с удаленным FTP сервером используем программу «WebSynchronizer 1.5»  которая каждый час проверяет содержимое каталога ftp  и сравнивая его с папкой выгрузки синхронизирует в одностороннем порядке содержимое удаленного каталога.

Итог:

Уже более трех месяцев в папке выгрузки лежат стандартные выгрузки базы данных с периодичностью 3 часа и уже месяц как это все продублировано на удаленном FTP сервере.

PS: ну естественно «про запас»  - никто не отменял архивацию средствами SQL:

  1. Раз в сутки полный бекап базы
  2. Каждые 6 часов разностный бекап
  3. Каждые два часа бекап лога транзакций
  4. Удаление архивов старше 1го месяца

 

Добавлено:

Основные плюсы по сравнению со штатным бекапом SQL2005:

Размер выгрузки у трехгиговой базы примерно 120 мегов, что позволяет  без сильных затрат времени и трафика выгружать эти архивы на удаленные сервера (например на FTP расположенный дома у генерального) а так же хранить архивы большего периода времени на жестких дисках сервака/хранилища архивов не озадачиваясь "чисткой" ценного дискового пространства.

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

Внимание: Моментальные снимки баз данных доступны только в выпуске Microsoft SQL Server 2005 Enterprise Edition.

См. также

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

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

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

19200 руб.

15.05.2017    42521    10    24    

38

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

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

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

1200 руб.

03.09.2014    14732    13    6    

18

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

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

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

04.12.2023    5868    n_mezentsev    15    

24

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

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

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

07.10.2022    19820    sapervodichka    36    

142

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

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

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

1 стартмани

25.08.2022    4716    2    Gnom-Gluck    6    

6

Утилита копирования баз данных 1С

Архивирование (backup) Платформа 1С v8.3 Абонемент ($m)

Небольшая утилита для копирования файловых баз данных 1С.

1 стартмани

02.06.2022    4236    3    Giblarium    12    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. IamAlexy 344 21.09.09 23:52 Сейчас в теме
добавление статей - тихий ужас..

два слова "drop" и "database" или "create" и "database" тупо удаляют весь набранный текст при попытке сохранить статью..

вообще клева.. ввел, отредактировал, оформил, сохранил - статья стерлась :)

ппц..
2. PowerBoy 3350 22.09.09 08:55 Сейчас в теме
(0) Спасибо за статью. Несколько вопросов?
1. Разница по времени архивирования моментального снимка и обычного бакапа?
2. Разница по размеру файла моментального снимка и обычного бакапа?
4. IamAlexy 344 22.09.09 10:29 Сейчас в теме
(2) по времени?
на трехгиговой базе я бы сказал примерно одно и то же. Но тут есть одно "НО"
у полного бекапа размер 3 гига а у выгрузки 100 мегов..

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

+ хранение архивов в dt'шниках предпочтительнее по причине того что резко поднять копию на ноуте программиста или главбуха (любит она дома с копией поиграться) - дело 2х минут.. скопировал выгрузку за нужную дату/время и развернул базу...
3. coder1cv8 3468 22.09.09 10:04 Сейчас в теме
(0) мАлАдец! )
ЗЫ: Больше терпения в борьбе с сырым интерфейсом ИС!
5. sergey_garin 202 22.09.09 12:04 Сейчас в теме
Вы забыли добавить, что в Standard Edition механизм снапшотов не поддерживается
7. IamAlexy 344 22.09.09 12:15 Сейчас в теме
(5) по ссылке http://msdn.microsoft.com/ru-ru/library/ms175158(SQL.90).aspx написано русским по белому :)

"Моментальные снимки баз данных доступны только в выпуске Microsoft SQL Server 2005 Enterprise Edition. Все модели восстановления поддерживают моментальные снимки базы данных."
6. Трактор 1246 22.09.09 12:09 Сейчас в теме
Решение очевидное, но всё-равно статья полезная. Плюс.
А трудности со словами дроп и датабасе это защита от SQL инъекций :-) Глючная защита у Битрикса.
8. d.snissarenko 152 22.09.09 21:23 Сейчас в теме
О_о так тут все готово к sql инъекциям
9. d.snissarenko 152 22.09.09 21:23 Сейчас в теме
а я то думал чего за ерунда, когда пытался сохранить статью с кодом выгрузки в мускул )))
10. artbear 1448 23.09.09 09:26 Сейчас в теме
Статья хорошая, плюсую.
Но неужели так много организаций, которые могут позволить себе купить Microsoft SQL Server 2005 Enterprise Edition :) ?
Там цена где-то 30 000 долларов :)
11. IamAlexy 344 23.09.09 11:14 Сейчас в теме
(10) зато все могут себе позволить триальную версию SQL2005 на 180 дней.. а затем тупо переинсталить сервак :)

в небольших организациях у которой нед денег на лицензию (а вы назали стоимость лицензии "на процессор" вродебы) вполне себе выход - раз в полгода потратить 1 выходной день приходящего админа на переустановку сервера...

12. boogie 489 23.09.09 20:02 Сейчас в теме
А я раром сжимаю после выгрузки бекап SQL и получаю практически такой же объём как dt.
13. IamAlexy 344 23.09.09 20:13 Сейчас в теме
(12) и зачем - только ради экономии места?

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

основное преимущество - получение стандартных выгрузок для загрузки которых в тестовую/архивную/программистскую базу лишних телодвижений делать не надо - просто выбрать выгрузку нужной даты/времени
14. Dimasik2007 430 26.09.09 12:59 Сейчас в теме
(0) support, картинки явно не отсюда?
15. IamAlexy 344 26.09.09 22:51 Сейчас в теме
после сбоя какие то левые картинки появились...
у меня в статье вообще не было картинок
16. 1C_Wolf 09.11.09 17:36 Сейчас в теме
хорошая идея, :). Еще раз подтверждает то что нет ничего невозможного, есть только ограничение на использование серого вещества :)
17. vkl 25.11.09 19:06 Сейчас в теме
Стандартный backup + 7-zip работают гооораздо быстрей и размер получается не больше чем dt, и нет необходимости создавать снимок базы, а восстановление автор похоже не проверял. Сравните ради интереса сколько восстанавливается стандартный backup и dt-ешник. Впрочем, сохрани вас ... от восстановления базы.
PS: Извините, не заметил в статье "размер базы 3 Гига" :-)
Но тут уж точно без Microsoft SQL Server 2005 Enterprise Edition никак.
Начиная гигов с 20-30 загрузка базы из DT длится часами.
18. IamAlexy 344 26.11.09 02:47 Сейчас в теме
(17) на небольших базах (до 3х гигов) стандартный бекап и 7зип работают не быстрее :)

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

а вот когда база вырастет - тогда да.. будем думать чо делать :)
19. director04 3657 29.01.10 17:32 Сейчас в теме
Кто подскажет в чем может быть дело. Подняли новый сервер (х64). Установил сервер 1С (х64). Настроил SQL на работу с моментальными снимками. По началу все работало идеально. Но на второй день, толи админы что-то переконфигурячили, толи еще в чем причина, но:
при запуске в пользовательском режиме 1С (база данных - моментальный снимок), сервер 1С тут же зависает. Не помогает его остановка и перезапуск, ни убийство процесса приведшего к зависанию.
Приходится тупо перезапускать весь сервер.
Что мы могли намудрить?
20. Dimasik2007 430 23.02.10 12:20 Сейчас в теме
(19) Моментальный снимок - это база только для чтения. Поэтому ее можно открыть в конфигураторе и выгрузить, а в пользовательском режиме открыть нельзя.
21. rid636674 53 15.07.10 15:37 Сейчас в теме
можно поподробнее про 5 пункт, я скачал эфект сэйвер, но видимо чтото делаю нетак, ошибка вылетает.
22. IamAlexy 344 16.07.10 11:05 Сейчас в теме
(21) даже не знаю что сказать
там же все примитивно: на первых четырех пунктах делается снимок базы к котормому можно 1Ской подключиться как к отдельной базе данных

то есть на сервере предприятия добавляется база, а в качетсве базы на сервере баз данных указывается наш снимок "UPR_Snapshot_Sample" и соответственно далее в эффекторесейвере или в любом другом инструменте для выгрузки просто из вот этой "снимочной" базы делается выгрузка
23. murat_ 33 11.08.10 12:20 Сейчас в теме
Внимание: Моментальные снимки баз данных доступны только в выпуске Microsoft SQL Server 2005 Enterprise Edition.


Нужно было бы в начало статьи вставить, чтобы не тратить время на чтение !
:) :) :)
24. ilya_i 24.10.12 21:30 Сейчас в теме
Для 2008 R2 такая же фигня, только для Enterprise Edition, ну и Datacenter Edition конечно тоже. Обидно, ведь удобная штука.
25. AlexO 135 05.05.14 10:54 Сейчас в теме
(0)
настраиваем привычное нам средство архивирования баз данных на работу с информационной базой в кластере «UPR_Snapshot_Sample».

Так и надо было писать - "настраиваем автоматическую архивацию в DT средствами «Эффектор:Сейвер»".
А то "привычное нам средство..". У каждого - свое "привычное средство" :)
Светлый ум; +1 Ответить
Оставьте свое сообщение