Имя: Пароль:
1C
Админ
BackUP 1c8 ( велосипед)
, ,
0 KsiLan
 
20.05.13
17:45
Есть несколько баз 1С8 на MSSQL на центральном сервере , и еще базы раскиданные по регионам.
Бэкапить все это дело средствами самого СЮЛЯ неудобно да и жрет скотина.
Решил бэкапить с помощью DT файлов и соответственно написать для этого программу. Вот примерный алгорит.( есть некие причины выбора дт файлов)
Ручками создаеться ВРЕМЕННАЯ база в MSSQL и регистрируется на сервере 1С (BASE1c - боевая , BASE1c_temp)
далее все программа делает автоматически в три этапа
1 делает копию базы из BASE1c  в BASE1c_TEMP
2 запускает 1с конфигуратор и делает БЭКАП
3  - удаление бэкапа от mssql(нефиг засорять пространство + если постоянно делать бэкап без удаления файла он разрастается)
  - удаление ДТ файлов у которых истек срок хранения

при этом нет необходимости выбивать юзверей и соответственно не происходит аварийного завершения сеанса + исключается потеря не сохранных документов
это для основного сервера где работа происходит 10-12 часов в сутки

Для регионов хочу дописать модуль его смысл таков.
на клиентских компьютерах ставиться программа которая спокойно сидит себе в инвизе. За N время до начала бэкАПА ей посылаеться сообщения на предупреждения пользователя(" через N время компьютер будет заблокирован" или что то типо того)
По истечению времени сервер опять посылает сообщения на блокировку экрана , программа на клиентских ПК вылезает из инвиза и блокирует  экран исключая тем самым ***** ну вы поняли.
После чего  сервер начинает БЭК апить  .
По окончанию клиентские ПК  разблокировываются

А теперь вопрос: Стоит  ли за это браться и не встретиться ли мне какие нибудь подводные камни при таком БЭКапинге?
П.с большинство уже реализовано, осталось собрать все воедино и запилить как сервис, к томуже есть идея проводит в таком же духе и обновления .
П.п.с и есть еще мысль за 10 сек до блокировки бипиром писк выводить , чтобы вообще отогнать пользователя от ПК
1 ДенисЧ
 
20.05.13
17:46
дт - это не бекап.
2 KsiLan
 
20.05.13
17:47
не суть важно, данные то в нем храняться
3 Мимохожий Однако
 
20.05.13
17:47
Расшифруй фразу: "Бэкапить все это дело средствами самого СЮЛЯ неудобно да и жрет скотина".
Сумлеваюсь я однако. Не зря 1С рекомендует делать бэкапы прежде всего средствами СУБД.
4 KsiLan
 
20.05.13
17:48
к тому же вопрос был по самому алгоритму "бэкапинга" и обновления конфы
5 ДенисЧ
 
20.05.13
17:48
(2) А то, что у тебя есть шанс не восстановить их потом - неважно?
6 Grobik
 
20.05.13
17:49
Это не велосипед, это кактус.
7 KsiLan
 
20.05.13
17:50
ДенисЧ  а вот тут поподробнее
8 krbIso
 
20.05.13
17:50
в 2008 есть сжатие бэкапов.
какой смысл экономить выгружая дт при этом создавая копию базы с таким же размером?
9 Базис
 
naïve
20.05.13
17:51
Скуль понимает, что нужно сжимать архивы - читайте BOL.
10 ДенисЧ
 
20.05.13
17:51
(7) в поиск. Это чуть ли не каждый день обсуждается. Да и сама 1с не рекомендует использовать дт для резрвного копирования
11 shurikvz
 
20.05.13
17:55
(8) (9) MS SQL 2008 Standart не понимает.
12 KsiLan
 
20.05.13
18:30
ну как всегда тролинг

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

ладно а про вторую тему блокировки клиентских ПК  во время обновлений и вообще тех работ над базой?
или тоже ненужно заморачиваться ?
13 shuhard
 
20.05.13
18:50
(0) сложно придумать более опасное для базы решение
14 Speshuric
 
20.05.13
20:05
(0)
1. Согласен с (1): DT - не бэкап.
2. "неудобно да и жрет скотина" - почему неудобно и что жрёт? Если сервер не ниже 2008 R2, то откройте для себя сжатие бэкапов. Если и этого много - разностные резервные копии и резервные копии журналов транзакций спасут.
3. Настройка бэкапа скуля делается минут за 10: http://infostart.ru/public/173494/
4. Для того, чтобы выгнать народ из базы даже в типовых уже давно есть решения. А тем, кто не вышел: "кто не спрятался, я не виноват". А если не выгонять, то нафига им экраны блокировать?
15 ilkoder
 
20.05.13
20:18
Гораздо удобнее все сбэкапить самим скулем в одну папку, а потом эту папку сжать любым архиватором - никого выгонять не надо, архивы нумеруются по дням и месяцам - плюс можно разностные архивы туда-же сделать - можно восстановить любую базу на любое время если чего (часто пригождалось)
16 KsiLan
 
20.05.13
20:58
А тем, кто не вышел: "кто не спрятался, я не виноват"

ну не вышел, не сохранил, ну растреляли его...
А править кто будет его косяк?
17 KsiLan
 
20.05.13
21:01
18 Новиков
 
20.05.13
21:11
:) хороший велик
19 Kookish
 
20.05.13
21:24
(16) SQL бэкапит, не заморачиваясь сколько юзеров сейчас в базе. Делает срез на данный момент, у нее есть для этого средства. Например, транзакции, логи и логи транзакций :)
20 Kookish
 
20.05.13
21:36
Для MS SQL 2008:
http://msdn.microsoft.com/ru-ru/library/bb964719(v=sql.105).aspx
"Так как сжатая резервная копия занимает меньше места, чем распакованная резервная копия тех же данных, для сжатия резервной копии обычно требуется меньше операций ввода-вывода какого-либо устройства, что обычно существенно повышает скорость резервного копирования." И вместе с тем:
"По умолчанию сжатие существенно повышает загрузку ЦП. Дополнительная нагрузка на ЦП может помешать выполнению других операций. Поэтому может потребоваться создать сжатые резервные копии с низким приоритетом в сеансе, для которого использование ЦП ограничивается регулятором ресурсов."
Там же написано, как включить сжатие при создании резервной копии базы.
Закон Брукера: Даже маленькая практика стоит большой теории.