Файл SRVINFO.DLL (или srvinfo.xml в новых версиях) — один из ключевых системных компонентов 1С:Предприятия 8, отвечающий за хранение информации о серверах кластера, лицензиях и параметрах подключения. Со временем этот файл может «засориться» устаревшими записями, что приводит к ошибкам подключения, замедлению работы или даже полной недоступности базы. Очистка SRVINFO — стандартная процедура для администраторов 1С, но при неправильном выполнении она чревата потерей доступа к кластеру или сбоем лицензирования.
В этой статье разберём, когда действительно требуется чистка SRVINFO (а когда проблема кроется в другом), как выполнить процедуру вручную и с помощью утилит, а также что делать, если после очистки база перестала открываться. Особое внимание уделим рискам удаления файла без резервной копии — это самая распространённая ошибка, ведущая к длительному простою системы.
Признаки того, что SRVINFO требует очистки
Не все сбои в работе 1С связаны с файлом SRVINFO. Прежде чем приступать к очистке, проверьте, совпадают ли ваши симптомы с типичными признаками «загрязнения» этого компонента:
- 🔴 Ошибка «Не найден кластер серверов 1С:Предприятия» при попытке подключиться к базе, хотя сервер физически работает.
- 🔄 Циклическая перезагрузка клиентского приложения 1С при выборе информационной базы.
- ⏳ Зависание на этапе «Получение списка баз» более 1–2 минут.
- 🔑 Ошибки лицензирования, например: «Не найдена лицензия для данного сервера» или «Превышено количество подключений».
- 📡 В списке баз отображаются «мертвые» серверы, которые давно не используются.
Если хоть один из этих симптомов проявляется, велика вероятность, что проблема в SRVINFO. Однако перед очисткой исключите другие причины:
- 🛠️ Проблемы с сетью (ping до сервера, доступность портов).
- 🔌 Остановка службы 1С:Предприятия 8.3 (проверьте в
services.msc). - 📂 Повреждение самой базы данных (требуется
chdbfl.exe).
⚠️ Внимание: Если ошибка появилась после обновления платформы 1С или операционной системы, очистка SRVINFO может не помочь. В этом случае сначала проверьте совместимость версий клиента и сервера.
Где находится файл SRVINFO и как к нему получить доступ
Локация файла зависит от версии 1С:Предприятия и разрядности системы. Ниже приведена таблица счными путями:
| Версия 1С | Разрядность ОС | Путь к файлу | Примечание |
|---|---|---|---|
| 8.3 (x86) | 32-bit | C:\Program Files\1cv8\conf\srvinfo.dll |
Для старых версий (до 8.3.10) |
| 8.3 (x64) | 64-bit | C:\Program Files (x86)\1cv8\conf\srvinfo.dll или srvinfo.xml |
С версии 8.3.10 используется XML-формат |
| 8.2 | Любая | C:\Program Files\1cv82\conf\srvinfo.dll |
Устаревшая ветка, поддержка прекращена |
| Линукс-сервер | — | /opt/1C/v8.3/x86_64/conf/srvinfo.xml |
Путь может отличаться в зависимости от дистрибутива |
Чтобы открыть папку с файлом:
- Закройте все сеансы 1С:Предприятия (включая фоновые процессы в
Диспетчере задач). - Откройте
Проводник Windowsи вставьте путь из таблицы в адресную строку. - Если папка
confскрыта, включите отображение скрытых файлов в параметрах проводника.
В новых версиях (начиная с 8.3.18) вместо srvinfo.dll используется srvinfo.xml. Это текстовый файл, который можно открыть и отредактировать вручную с помощью Блокнота или Notepad++. Однако редактирование вручную не рекомендуется без резервной копии!
Перед любыми манипуляциями с SRVINFO создайте резервную копию файла. Достаточно скопировать его в другую папку или переименовать (например, в srvinfo_backup.dll).
Способы очистки SRVINFO: от ручного удаления до утилит
Существует несколько методов очистки файла SRVINFO, различающихся по сложности и рискам. Выбирайте способ в зависимости от вашей квалификации и критичности системы.
1. Полное удаление файла (радикальный метод)
Самый простой, но и самый опасный способ — удалить файл srvinfo.dll (srvinfo.xml) полностью. После этого он будет создан заново при следующем запуске 1С. Подходит только для одиночных установок без кластеров!
Закрыты все сеансы 1С на всех рабочих станциях|
Создана резервная копия файла srvinfo.dll|
Остановлены службы 1С:Предприятия на сервере|
Проверена доступность лицензионного ключа (аппаратного или программного)-->
⚠️ Внимание: Если вы работаете в кластерном режиме (несколько серверов 1С), удаление SRVINFO на одном из них приведёт к потере связи с другими узлами. В этом случае используйте утилиты или редактирование XML.
2. Очистка через утилиту rac.exe
Утилита rac.exe (Remote Administration Console) входит в комплект поставки 1С:Предприятия и позволяет управлять кластером серверов. Для очистки SRVINFO:
- Откройте командную строку от имени администратора.
- Перейдите в папку с утилитой (например,
cd C:\Program Files (x86)\1cv8\8.3.20.1549\bin). - Выполните команду:
rac.exe cluster clearcache -c<имя_кластера> -p<порт>где
<имя_кластера>— имя вашего кластера (по умолчаниюLocal), а<порт>— порт менеджера кластера (обычно1541).
3. Редактирование srvinfo.xml вручную
Если у вас 1С 8.3.18+, файл srvinfo.xml можно отредактировать вручную. Удалите из него:
- 🗑️ Устаревшие записи о серверах (ищите блоки
<Server>с неактуальными IP). - 🔑 Некорректные лицензии (блоки
<License>с истёкшими датами). - 📡 Дублирующиеся кластеры (блоки
<Cluster>с одинаковыми именами).
Пример корректной структуры файла:
<?xml version="1.0" encoding="utf-8"?>
<SrvInfo>
<Cluster Name="Local">
<Server Address="127.0.0.1" Port="1541"/>
</Cluster>
<License Manager="127.0.0.1:1541">
<Pin>1234567890</Pin>
</License>
</SrvInfo>
Что будет, если оставить пустой файл srvinfo.xml?
Если после редактирования файл останется пустым или с синтаксическими ошибками, 1С создаст новый srvinfo.xml с параметрами по умолчанию при следующем запуске. Однако это может привести к потере привязки к лицензионному серверу и необходимости повторной активации ключей.
4. Автоматическая очистка через Консоль администрирования 1С
В 1С:Предприятии 8.3 есть встроенная консоль администрирования (1cv8.exe ENTERPRISE /UC <имя_кластера>), где можно:
- Перейти в раздел
Администрирование → Кластеры серверов. - Выбрать проблемный кластер и нажать
Очистить кэш. - Перезапустить службу 1С:Предприятия.
Что делать, если после очистки SRVINFO база не открывается
Даже при правильной очистке SRVINFO могут возникнуть проблемы. Рассмотрим типичные сценарии и решения:
1. Ошибка «Не найден кластер серверов»
Причина: файл srvinfo.xml пуст или повреждён. Решение:
- 🔄 Перезапустите службу 1С:Предприятия на сервере (
services.msc → AgentServer83). - 📋 Восстановите резервную копию файла
srvinfo.xml. - 🔧 Проверьте настройки брандмауэра — порт
1541должен быть открыт.
2. Ошибки лицензирования («Не найдена лицензия»)
Причина: в файле srvinfo.xml удалены или повреждены данные о лицензионном менеджере. Решение:
- 🔑 Перерегистрируйте лицензию через
1cv8.exe /reg. - 📡 Убедитесь, что лицензионный сервер доступен (ping по IP из
srvinfo.xml). - 📄 Проверьте срок действия лицензии в личном кабинете 1С.
3. База открывается, но медленно работает
Причина: кэш метаданных не обновлён. Решение:
- 🧹 Очистите кэш 1С вручную (удалите папку
%APPDATA%\1C\1cv8\). - 🔄 Выполните тестирование и исправление базы через
chdbfl.exe. - 📊 Проверьте нагрузку на сервер (CPU, RAM, дисковое пространство).
⚠️ Внимание: Если после всех манипуляций база так и не открывается, проверьте целостность файлов базы данных (.1CD) с помощью утилитыchdbfl.exe. Возможно, проблема не в SRVINFO, а в повреждении самой базы.
Если после очистки SRVINFO проблемы сохраняются, восстановите файл из резервной копии и обратитесь к специалисту. Самостоятельные эксперименты с кластерными настройками могут привести к полной потере доступа к базе.
Профилактика: как избежать повторного «загрязнения» SRVINFO
Чтобы не приходилось регулярно чистить SRVINFO, следуйте простым правилам:
- 🔄 Регулярно обновляйте платформу 1С — в новых версиях улучшена работа с кэшем кластера.
- 🗑️ Удаляйте неиспользуемые серверы из консоли администрирования, а не только из
srvinfo.xml. - 📡 Используйте статические IP-адреса для серверов 1С, чтобы избежать конфликтов при изменении сетевых настроек.
- 🔑 Контролируйте количество лицензий — избыточные записи о лицензиях тоже «засоряют» файл.
Для автоматизации мониторинга можно использовать скрипты на PowerShell или Bash, которые будут проверять размер srvinfo.xml и оповещать при превышении порогового значения (например, 100 КБ). Пример скрипта для Windows:
$file ="C:\Program Files (x86)\1cv8\conf\srvinfo.xml"
$size = (Get-Item $file).Length / 1KB
if ($size -gt 100) {
Write-Host"Внимание! Файл SRVINFO превысил 100 КБ. Текущий размер: $size КБ"
}
Также полезно вести журнал изменений в srvinfo.xml с помощью систем контроля версий (например, Git). Это поможет откатиться к рабочей версии при сбое.
Частые ошибки при очистке SRVINFO и как их избежать
Даже опытные администраторы 1С иногда допускают ошибки при работе с SRVINFO. Вот самые распространённые из них:
| Ошибка | Последствия | Как избежать |
|---|---|---|
| Удаление файла без резервной копии | Потеря привязки к кластеру, сбой лицензирования | Всегда копируйте файл перед изменениями |
Редактирование srvinfo.xml без проверки синтаксиса |
1С не запускается из-за ошибок в XML | Используйте валидаторы XML (например, XML Notepad) |
| Очистка на одном сервере в кластере | Рассинхронизация узлов, падение кластера | Очищайте SRVINFO на всех серверах одновременно |
| Игнорирование прав доступа | 1С не может перезаписать файл | Запускайте утилиты от имени администратора |
Ещё одна типичная ошибка — попытка очистить SRVINFO на клиентской машине, когда проблема на сервере. Помните: файл srvinfo.xml на рабочей станции хранит только кэш подключений, а основные настройки кластера находятся на сервере 1С:Предприятия.
Если вы администрируете несколько серверов 1С, ведите документацию с IP-адресами, портами и версиями платформы. Это ускорит диагностику проблем и предотвратит ошибки при очистке SRVINFO.
FAQ: Ответы на частые вопросы об очистке SRVINFO
Можно ли очистить SRVINFO без перезагрузки сервера?
Да, но это рискованно. После очистки файла srvinfo.xml необходимо перезапустить службу 1С:Предприятия (AgentServer83), иначе изменения не применятся. Перезагрузка сервера гарантирует, что все процессы 1С будут корректно завершены.
Что делать, если после очистки исчезли все базы из списка?
Это означает, что файл srvinfo.xml был очищен полностью или повреждён. Восстановите его из резервной копии. Если копии нет, придётся вручную добавлять кластеры и серверы через Консоль администрирования 1С.
Как очистить SRVINFO на Linux-сервере?
На Linux файл обычно находится по пути /opt/1C/v8.3/x86_64/conf/srvinfo.xml. Порядок действий аналогичный:
- Остановите службу 1С:
sudo systemctl stop srv1cv83. - Создайте резервную копию:
sudo cp srvinfo.xml srvinfo.xml.bak. - Отредактируйте файл или удалите его (будет создан заново).
- Перезапустите службу:
sudo systemctl start srv1cv83.
Почему после очистки SRVINFO появляется ошибка «Неверный формат файла»?
Это означает, что файл srvinfo.xml был отредактирован с нарушением синтаксиса XML. Проверьте:
- Все теги должны быть закрыты (например,
</Cluster>). - Нет лишних символов или пробелов в начале/конце файла.
- Кодировка файла —
UTF-8.
Используйте валидаторы вроде XMLLint для проверки.
Можно ли автоматизировать очистку SRVINFO?
Да, можно написать скрипт на PowerShell или Bash, который будет:
- Проверять размер
srvinfo.xml. - Сравнивать текущую версию с эталонной (из резервной копии).
- Очищать устаревшие записи (например, серверы, к которым не было подключений более 30 дней).
Пример простого скрипта для очистки устаревших серверов:
$file ="C:\Program Files (x86)\1cv8\conf\srvinfo.xml"
$content = Get-Content $file
$updated = $content | Where-Object { $_ -notmatch"OldServerIP" }
$updated | Set-Content $file