Как выгрузить базу данных 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
.
Примечания:
ibcmd.exe работает с разными СУБД, поэтому важно правильно указывать тип базы данных и параметры подключения для корректной выгрузки.
Убедитесь, что у пользователя базы данных (как для MSSQL, так и для PostgreSQL) есть права на выполнение выгрузки данных.
Проверьте наличие достаточного свободного места в директории, куда будет сохранен файл выгрузки
.dt
.
Заключение
Использование утилиты ibcmd.exe позволяет легко выполнять выгрузку базы данных 1С как с серверов Microsoft SQL Server, так и с серверов PostgreSQL, без необходимости отключения пользователей. Это удобно для регулярного резервного копирования в условиях непрерывной работы системы.