gifts2017

Конфигурация "Восстановление бэкапов"

Опубликовал Артем Тарасов (TarasovAV) в раздел Администрирование - Архивирование (backup)

Конфигурация позволяет восстанавливать клиент-серверные бэкапы (*.bak) баз 1С.

Конфигурация предназначена для развертывания клиент серверных баз 1С из бэкапов, сделанных СУБД MS SQL Server (*.bak)

Основные возможности конфигурации:
1. Конфигурация позволяет восстанавливать клиент серверные бэкапы баз 1С в требуемые базы данных.
2. В процессе восстановления есть возможность обнулить пароли пользователей в восстанавливаемой базе.


Описание:

Конфигурация состоить из следующих справочников и документов:

1. "Пользователи" - для возможности настройки доступа к конфигурации разным пользователям.

2. "Серверы баз данных" - справочник предназначен для хранения экземпляров SQL сервера, установленных в организации.

3. "Базы данных" - справочник предназначен для хранения баз данных, расположенных на каждом экземпляре сервера SQL.

4. "Пути поиска файлов бэкапов" - справочник предназначен для хранения путей к каталогам, где хранятся бэкапы баз данных с расширением *.bak.

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

Принцип работы:
В документе "Восстановление бэкапов" указавается сервер БД, база данных на этом сервере и файл бэкапа. По кнопке "Провести и закрыть" выполняется развертывание указанного файла бэкапа средствами MS SQL Server. 1С получает хранимую процедуру "RESTORE", которую предварительно необходимо создать на MS SQL сервере  и передает в нее два параметра: имя базы и полное имя файла бэкапа. Хранимая процедура выполняет развертывание базы и возвращает ответ, после чего документ проводится.


Для создания хранимой процедуры необходимо зайти в консоль Microsoft SQL Server Management Studio, для нужного экземпляра сервера БД, раскрыть ветку "Базы данных", затем перейти в ветку "Системные базы данных" --> "master" --> "Программирование" --> "Хранимые процедуры". Правой кнопкой мыши вызвать контекстное меню и выбрать пункт "Создать хранимую процедуру", после чего в открывшемся окне выполнить скрипт, текст которого можно получить по кнопке "Open Restore", которая находится в подсистеме "Администрирование" конфигурации. В результате будет создана хранимая процедура "RESTORE", которая будет имет два входящих параметра ("@FileName", "@OUTBASE") и возвращать целое значение.

Необходимые условия:

1. Пользователь, от имени которого запущен сервер 1С должен иметь доступ к каталогам бэкапов.

2. Пользователь, под которым осуществляется коннект сервера 1С к MS SQL Server должен обладать правами на изменение баз данных.

 

Что получаете в итоге:

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

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

А у сис. админов высвободится куча свободного времени.

 

P.S. По умолчанию хранимая процедура не обрезает лог транзакций в восстановленной БД. Если это необходимо делать, тогда в хранимой процедуре надо расскоментировать закомменированные строки.


Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Конфигурация "Восстановление бэкапов"
09.02.2015
4000 руб.

Моментальная
доставка

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Константин Куликов (Светлый ум) 10.02.15 14:18
Дороговато за бесплатную функцию
u_n_k_n_o_w_n; _also; theshadowco; karpik666; amon_ra; +5 Ответить
2. Артем Тарасов (TarasovAV) 10.02.15 14:26
3. Эмиль Карапетян (amon_ra) 10.02.15 15:15
(2) TarasovAV, ну, наверно имелось ввиду, что все это можно сделать из командной строки или в шеле. Может не так быстро и без ограничения прав, зато бесплатно :)
Светлый ум; u_n_k_n_o_w_n; +2 Ответить 2
4. Артем Тарасов (TarasovAV) 10.02.15 15:38
(3) amon_ra, Возможно, Вы правы, однако для этого пользователю необходимо обладать соответствующими правами и знать как именно писать команду в командной строке или шеле. Данная же конфигурация позволяет автоматизировать процедуру восстановления тестовых баз, для каждого конкретного пользователя - владельца тестовой базы. Например есть 50 тестовых баз, каждая из которых закреплена за определенным пользователем либо несколькими пользователями.
В конфигурацию можно свести все эти тестовые базы и разграничить права доступа для каждого конкретного пользователя. И тога бэкап сможет восстанавливать даже бухгалтер или методолог (например для того, чтобы воспроизвести в тестовой базе какую-либо ситуацию). Согласитесь, что пользователю (не программисту и не администратору) проблематично написать скрипт в командной строке и тем более в шеле :)
5. Александр Топольский (AlexanderKai) 10.02.15 16:23
(4) TarasovAV,
Если есть 50 тестовых баз, сомневаюсь, что в такой компании нет программиста или админа :)
u_n_k_n_o_w_n; +1 Ответить
6. борян петров (TODD22) 10.02.15 17:19
Если у Вас есть необходимость в частом восстановлении баз (например для тестирования или разработкок), то при использовании конфигурации не нужно будет каждый раз "дергать" сис. админа.

Никто сисадмина не дёргает. Октрываю студию загружаю нужный бэкап.
ИМХО 6500 т.руб дорого.... я думаю даже за 500 руб мало найдётся желающих...
К тому же коллега в стране кризис. А у вас такие цены....
helga6699; u_n_k_n_o_w_n; theshadowco; +3 Ответить
7. Валерий Максимов (theshadowco) 10.02.15 21:21
Хранимая процедура выполняет развертывание базы и возвращает ответ, после чего документ проводится.

Как я понимаю разработка учитывает, что разворачивание может занимать часы (да-да, многие часы) и вызов хранимки не происходит в момент проведения документа?
8. Артем Тарасов (TarasovAV) 10.02.15 21:40
(7) theshadowco, Вызов хранимой процедуры происходит в момент проведения документа. Восстановление базы в 100 Гб занимает порядка 40-60 минут, однако это время может быть и больше (зависит от нагрузки на диск в каждый конкретный момент времени). Базы же небольшого объема восстанавливаются достаточно быстро.
9. Константин Куликов (Светлый ум) 12.02.15 10:21
(3) Если нетрудно (вкраце) поясните как это сделат?
10. Артем Тарасов (TarasovAV) 12.02.15 10:53
(9) Светлый ум, что именно сделать? Вызов хранимой процедуры SQL из 1С?
12. Константин Куликов (Светлый ум) 16.02.15 08:25
(9) как восстанавливать бэкапы (.Bak) " из командной строки или в шеле"?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа