Назад к блогу
Команда mitok.ruСлужба заботы

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

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

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

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

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

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

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

bash
"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:
bash
"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, без необходимости отключения пользователей. Это удобно для регулярного резервного копирования в условиях непрерывной работы системы.