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 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

В текущих версиях 1С пока нет функции, позволяющей автоматически отмечать возврат оригиналов документов с помощью сканера штрих-кодов. Многие контрагенты часто сталкиваются с проблемой утери оригиналов УПД или их невозврата. В ответ на эти запросы было разработано расширение, которое упрощает контроль за возвратом оригиналов документов и помогает лучше организовать их хранение.

12000 руб.

19.02.2025    769    1    0    

1

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

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

20.01.2025    1501    Prelude    5    

11

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

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

2400 руб.

27.08.2024    2148    1    6    

2

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

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

13.08.2024    5202    1CUnlimited    9    

6

Инструменты администратора БД Архивирование (backup) Системный администратор Программист Пользователь 1С v8.3 1C:Бухгалтерия Абонемент ($m)

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

1 стартмани

21.05.2024    2853    13    baidinden    4    

8

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

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

04.12.2023    13454    n_mezentsev    15    

27

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

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

07.10.2022    39689    sapervodichka    38    

151
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 936 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 23 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) этот скрипт не выгоняет пользователей из баз?
Оставьте свое сообщение