Cкрипт для выгрузки DT (детешников) утилитой ibcmd 1С+MSSQL

26.09.22

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

1С+MSSQL Выгрузка информационной базы в файл dt ibcmd infobase dump.

 *.BAT cкрипт выгрузки *.dt файла.

@echo off
chcp 65001
setlocal EnableExtensions EnableDelayedExpansion

rem =============================
rem ====== admin variables ======
rem =============================
rem =========Данные MSSQL========
set user=sa
set pass=*****
set host=SRV1C
rem =========администратор ИБ=====
set user1c=*****
set pass1c=*****
rem =====Путь куда выгружать *.dt файл=====
set BackupDir=E:\backupdt
rem ========Автономный сервер======
set infobasedata=E:\backupdt\infobase

rem =============================
rem === backup all databases ====
rem =============================

set online='ONLINE'
for /F %%a in (' sqlcmd -S%host% -U%user% -P%pass% -Q "SET NOCOUNT ON; SELECT name FROM sys.databases WHERE database_id > 4 AND state_desc = 'ONLINE'" -W -h -1 ') do (
  rem === backup database ====  
C:\"Program files"\1cv8\8.3.20.1674\bin\ibcmd infobase --dbms=mssqlserver --db-server=%host% --db-user=%user% --db-pwd=%pass% --db-name=%%a dump --user=%user1c% --password=%pass1c% "%BackupDir%\%%a\%%a_!DATE:~0,2!!DATE:~3,2!!DATE:~6,4!_!TIME:~0,2!!TIME:~3,2!!TIME:~6,2!.dt" --data=%infobasedata%
 )

Немного по коду 

for /F %%a in (' sqlcmd -S%host% -U%user% -P%pass% -Q "SET NOCOUNT ON; SELECT name FROM sys.databases WHERE database_id > 4 AND state_desc = 'ONLINE'" -W -h -1 ')

Подключаемся к MSSQL, выгружаем подключенные базы (которые в online) и отбрасываем системные базы database_id>4 получаем список 1С баз (при условии, если у нас на MSSQL только базы 1С).

Добавляем скрипт в планировщик заданий windows.

Скрипт планировщик заданий выгрузка информационной базы в файл dt ibcmd infobase

См. также

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

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

6000 руб.

06.11.2012    72984    627    45    

85

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

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

1200 руб.

03.09.2014    15777    21    6    

27

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

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

2400 руб.

27.08.2024    1232    1    5    

1

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

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

13.08.2024    3108    1CUnlimited    9    

5

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

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

04.12.2023    9691    n_mezentsev    15    

27

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

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

07.10.2022    29342    sapervodichka    37    

147

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

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

1 стартмани

25.08.2022    5803    3    Gnom-Gluck    6    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 817 26.09.22 11:36 Сейчас в теме
Пользователей надо выгонять из базы ?
2. alex_bob 248 26.09.22 12:55 Сейчас в теме
По-хорошему, релиз платформы тоже надо вынести в параметры.
При релизе < 8.3.20 упадет с ошибкой из-за параметра --data
(1) Не надо, но консистентность после восстановления из такого dt под вопросом.
cleaner_it; user1752096; +2 Ответить
3. ssn5810 80 02.10.22 08:35 Сейчас в теме
можно BackupDir не в отдельные директории для каждой базы, а в одну,
и с возможностью выбора баз ? Спасибо.
4. user1752096 22 02.10.22 20:19 Сейчас в теме
(3)можно, но я только не проверял
@echo off
chcp 65001
setlocal EnableExtensions EnableDelayedExpansion

rem =============================
rem ====== admin variables ======
rem =============================
rem =========Данные MSSQL========
set user=sa
set pass=*****
set host=SRV1C
rem =========администратор ИБ=====
set user1c=*****
set pass1c=*****
rem =====Путь куда выгружать *.dt файл=====
set BackupDir=E:\backupdt
rem ========Автономный сервер======
set infobasedata=E:\backupdt\infobase

rem =============================
rem === backup all databases ====
rem =============================
rem ==="D:\base.txt" список баз==
for /F "usebackq delims=" %%a in ("D:\base.txt") do (
  rem === backup database ====  
C:\"Program files"\1cv8\8.3.20.1674\bin\ibcmd infobase --dbms=mssqlserver --db-server=%host% --db-user=%user% --db-pwd=%pass% --db-name=%%a dump --user=%user1c% --password=%pass1c% "%BackupDir%\%%a_!DATE:~0,2!!DATE:~3,2!!DATE:~6,4!_!TIME:~0,2!!TIME:~3,2!!TIME:~6,2!.dt" --data=%infobasedata%
 )
Показать
Прикрепленные файлы:
backup.zip
5. ssn5810 80 08.10.22 14:04 Сейчас в теме
6. sys1c 17.11.22 03:48 Сейчас в теме
(4) этот скрипт не выгоняет пользователей из баз?
Оставьте свое сообщение