Загрузка...

обратиться в техподдержку

Как выгрузить базу данных 1С в файл `.dt`, не выгоняя пользователей

Служба заботы
22 октября 2024

Как выгрузить базу данных 1С в файл .dt, не выгоняя пользователей (MSSQL и PostgreSQL)

Иногда возникает необходимость выполнить резервное копирование базы данных 1С без отключения пользователей от системы. Это особенно важно для компаний, которые работают в режиме 24/7 и не могут позволить себе простоев. Для таких задач можно использовать утилиту ibcmd.exe, которая позволяет выгружать базу данных 1С в формате .dt через командную строку.

Выгрузка базы из MSSQL

Для базы данных, которая находится на сервере Microsoft SQL Server, команда для выгрузки выглядит так:

"C:\Program Files\1cv8\8.3.25.1394\bin\ibcmd.exe" infobase dump --db-server=127.0.0.1 --dbms=MSSQLServer --db-user=sa --db-pwd=ПАРОЛЬ_ОТ_Сервера_SQL --db-name=bakirovunf --data="d:\BD_1C\Backup1C\Удалить" "d:\BD_1C\Backup1C\bakirov_unf8.10.2024.dt"

Объяснение команды:

“C:\Program Files\1cv8\8.3.25.1394\bin\ibcmd.exe” — путь к исполняемому файлу утилиты для работы с базами данных 1С.
infobase dump — команда для выгрузки базы данных.
–db-server=127.0.0.1 — указывает адрес сервера баз данных (в данном случае это локальный сервер).
–dbms=MSSQLServer — тип СУБД, используемой для базы данных (Microsoft SQL Server).
–db-user=sa — пользователь базы данных с правами на выгрузку.
–db-pwd=ПАРОЛЬ_СЕРВЕРА_SQL — пароль от учетной записи.
–db-name=bakirovunf — название базы данных, которую необходимо выгрузить.
–data=“d:\BD_1C\Backup1C\Удалить” — временная папка для хранения промежуточных данных выгрузки.
“d:\BD_1C\Backup1C\bakirov_unf8.10.2024.dt” — полный путь и имя файла, в который будет выполнена выгрузка базы.

Выгрузка базы из PostgreSQL

Если база данных 1С работает на сервере PostgreSQL, команда выгрузки немного отличается. Необходимо указать тип базы данных как PostgreSQL и соответствующие параметры для подключения к серверу.

Пример команды для PostgreSQL:
"C:\Program Files\1cv8\8.3.25.1394\bin\ibcmd.exe" infobase dump --db-server=127.0.0.1 --dbms=PostgreSQL --db-user=postgres --db-pwd=ПАРОЛЬ_ОТ_PostgreSQL --db-name=bakirovunf --data="d:\BD_1C\Backup1C\Удалить" "d:\BD_1C\Backup1C\bakirov_unf8.10.2024.dt"

Объяснение команды для PostgreSQL:

  • –db-server=127.0.0.1 — IP-адрес сервера базы данных (в данном случае локальный сервер).
  • –dbms=PostgreSQL — тип СУБД, используемой для базы данных (PostgreSQL).
  • –db-user=postgres — имя пользователя для подключения к базе данных PostgreSQL.
  • –db-pwd=ПАРОЛЬ_ОТ_PostgreSQL — пароль от учетной записи PostgreSQL.
  • –db-name=bakirovunf — имя базы данных, которую нужно выгрузить.
  • –data=“d:\BD_1C\Backup1C\Удалить” — временная директория для промежуточных данных выгрузки.
  • “d:\BD_1C\Backup1C\bakirov_unf8.10.2024.dt” — конечный путь для файла выгрузки в формате .dt.

Примечания:

  1. ibcmd.exe работает с разными СУБД, поэтому важно правильно указывать тип базы данных и параметры подключения для корректной выгрузки.

  2. Убедитесь, что у пользователя базы данных (как для MSSQL, так и для PostgreSQL) есть права на выполнение выгрузки данных.

  3. Проверьте наличие достаточного свободного места в директории, куда будет сохранен файл выгрузки .dt.

Заключение

Использование утилиты ibcmd.exe позволяет легко выполнять выгрузку базы данных 1С как с серверов Microsoft SQL Server, так и с серверов PostgreSQL, без необходимости отключения пользователей. Это удобно для регулярного резервного копирования в условиях непрерывной работы системы.


Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в МИТ

заполните, пожалуйста
укажите Ваш e-mail
укажите Ваш номер телефона для связи