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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Архивирование (backup) Инструменты администратора БД Системный администратор Программист 1С 8.3 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Абонемент ($m)

Полностью автоматизированная внешняя обработка для администрирования 1С: блокировка/разблокировка ИБ, массовое завершение сеансов, резервное копирование и восстановление из .dt, выгрузка/загрузка конфигурации (.cf), пакетная работа с расширениями (.cfe) и дополнительными обработками – всё через удобную форму без ручных запусков конфигуратора и консоли кластера

1 стартмани

21.01.2026    4774    48    war41k    0    

17

Архивирование (backup) Групповая разработка (Git, хранилище) Системный администратор Программист Бесплатно (free)

Как дать возможность каждому разработчику 1С вести разработку, тестирование и оптимизацию на собственной полноразмерной копии базы и при этом не тратить миллиарды рублей и тысячи часов на развертывание тестового окружения, а так же экономить дисковое пространство? Расскажем о том, как с помощью инструмента Database Lab получать полноразмерные копии базы 1C на СУБД PostgreSQL за считанные секунды (даже в случае использования многотерабайтных баз).

15.12.2025    9597    nasonkin    18    

30

Архивирование (backup) Системный администратор 1С 8.3 Бесплатно (free)

Предлагаю Вашему вниманию 3 скрипта на bash (sh) для архивирования (backup) типовых конфигураций на Linux средствами 1С и Postgres. Перед запуском корректно заполните раздел "Параметры" в соответствии с Вашими настройками.

20.01.2025    4346    Prelude    5    

12

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

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

3 стартмани

27.08.2024    3600    1    a_kudaev    6    

2

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

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

13.08.2024    9169    1CUnlimited    11    

6

Инструменты администратора БД Архивирование (backup) Системный администратор Программист 1С:Предприятие 8 Абонемент ($m)

Обработка для "обновления" своей тестовой базы из резервной копии рабочей базы без помощи админов.

1 стартмани

21.05.2024    4372    15    DenDev01    4    

9

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

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

04.12.2023    17871    n_mezentsev    15    

27
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 1097 26.09.22 11:36 Сейчас в теме
Пользователей надо выгонять из базы ?
2. alex_bob 259 26.09.22 12:55 Сейчас в теме
По-хорошему, релиз платформы тоже надо вынести в параметры.
При релизе < 8.3.20 упадет с ошибкой из-за параметра --data
(1) Не надо, но консистентность после восстановления из такого dt под вопросом.
cleaner_it; user1752096; +2 Ответить
3. ssn5810 02.10.22 08:35 Сейчас в теме
можно BackupDir не в отдельные директории для каждой базы, а в одну,
и с возможностью выбора баз ? Спасибо.
4. user1752096 24 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 08.10.22 14:04 Сейчас в теме
6. sys1c 17.11.22 03:48 Сейчас в теме
(4) этот скрипт не выгоняет пользователей из баз?
Для отправки сообщения требуется регистрация/авторизация