Утилита ibcmd.exe
Утилита ibcmd.exe
входит в состав поставки сервера 1С:Предприятие.
С её помощью можно выгрузить информационную базу в формате .dt
без получения монопольного режима. Для этого нужно:
- Создать текстовый файл.
- Задать ему расширение
.bat
. - В теле файла прописать следующую строку:
"C:\Program Files\1cv8\{ВЕРСИЯ ПЛАТФОРМЫ}\bin\ibcmd.exe" infobase dump ^ --db-server={ИМЯ СЕРВЕРА} ^ --dbms=MSSQLServer ^ --db-name={ИМЯ БАЗЫ НА СЕРВЕРЕ} ^ --db-user={ИМЯ ПОЛЬЗОВАТЕЛЯ SQL} ^ --db-pwd={ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ SQL} ^ "C:\backup\SQL_DB_NAME_date.dt"
Пояснение параметров
--dbms
— тип SQL-сервера, например:MSSQLServer
.--db-server
— адрес или доменное имя SQL-сервера.--db-name
— имя базы данных на SQL-сервере.--db-user
— имя пользователя SQL, которому доступны нужные базы.--db-pwd
— пароль пользователя SQL.--user
— имя пользователя 1С (опционально).--password
— пароль пользователя 1С (опционально).
Ранее утилита могла работать без указания пользователя 1С.
Файл C:\backup\SQL_DB_NAME_date.dt
— путь, по которому будет сохранена выгруженная база данных.
Как исправить ошибку подключения к SQL Server через OLE DB (ошибка 53 или 1326)
Если при подключении к SQL Server возникает ошибка:
Microsoft OLE DB Driver for SQL Server: Named Pipes Provider: Could not open a connection to SQL Server [53] или [1326]
Это значит, что клиентская машина не может установить сетевое соединение с сервером SQL Server. Вот план действий для устранения проблемы.
Проверка доступности сервера и порта
Проверка наличия telnet
Для проверки порта необходимо наличие утилиты telnet
. Чтобы установить её:
- Откройте Панель управления → Программы → Программы и компоненты → Включение или отключение компонентов Windows.
- Найдите и включите компонент Клиент Telnet.
Или с помощью команды (от имени администратора):
dism /online /Enable-Feature /FeatureName:TelnetClient
Проверка сетевой доступности
- Проверьте доступность сервера по сети:
ping 192.168.1.151
- Проверьте доступность порта 1433:
telnet 192.168.1.151 1433
- Если соединение устанавливается (чёрный экран) — порт доступен.
- Если ошибка подключения — порт закрыт или сервер его не слушает.
Настройка SQL Server
Включение TCP/IP протокола
- Откройте SQL Server Configuration Manager.
- Перейдите в SQL Server Network Configuration → Protocols for MSSQLSERVER.
- Убедитесь, что протокол TCP/IP включён (Enabled).
Настройка порта TCP/IP
- В том же окне откройте свойства TCP/IP.
- Перейдите на вкладку IP Addresses.
- Для всех IP-адресов установите
Enabled = Yes
. - В секции IPAll укажите:
- TCP Dynamic Ports = (пусто)
- TCP Port = 1433
Перезапуск SQL Server
После изменений перезапустите службу SQL Server:
services.msc → SQL Server (MSSQLSERVER) → Перезапустить
Проверка фаервола
- Убедитесь, что фаервол на сервере разрешает входящие подключения на порт 1433/TCP.
- Если не настроено правило, создайте новое правило в Брандмауэре Windows:
- Разрешить входящие подключения на TCP порт 1433.
- Для тестирования можно временно отключить фаервол (если это безопасно).
Дополнительно
- Если используется Named Instance (например,
SERVER\INSTANCE
), проверьте, что запущена служба SQL Server Browser. - Проверьте, что на сервере SQL Server действительно слушает порт 1433:
netstat -ano | findstr :1433
Если ничего не найдено — сервер не слушает порт, значит настройки протоколов неправильные или сервер не перезапущен.
Итого
- Убедитесь, что сервер доступен по сети.
- Убедитесь, что порт 1433 открыт и сервер его слушает.
- Проверьте настройки протоколов в SQL Server Configuration Manager.
- Проверьте настройки фаервола.
- Проверьте, установлен ли Telnet для диагностики портов.
После выполнения этих шагов ошибка подключения должна исчезнуть.