При обслуживании серверов «1С:Предприятие» системные администраторы иногда сталкиваются с необходимостью полной переустановки платформы. В процессе этой операции нередко совершается критическая ошибка — полное удаление каталога установки по умолчанию C:\Program Files\1cv8. В результате сервер 1С перестает видеть существующие базы данных, а попытки добавить их заново или настроить подключение через консоль администрирования оборачиваются чередой ошибок авторизации СУБД (например, с участием пользователей sa или USR1CV8) и сбоями СУБД-драйверов («Microsoft SQL Server Native Client»).
В этой статье мы подробно разберем, почему возникает данная проблема, как восстановить работоспособность всей связки «1С + MS SQL Server» и вернуть доступ к базам данных без потери информации. Проанализируем ситуацию по шагам и решим возникшие трудности совместными усилиями.
---
Для начала давайте разберемся, почему после удаления папки C:\Program Files\1cv8 из консоли администрирования 1С пропали все информационные базы, хотя физически файлы баз данных (форматы .mdf и .ldf) остались нетронутыми на сервере MS SQL.
Дело в том, что по умолчанию внутри каталога установки платформы создается рабочая папка кластера серверов 1С под названием srvinfo. Именно в ней (в конфигурационном файле 1CV8Clst.lst) хранится вся информация о зарегистрированных в кластере базах данных, их уникальные идентификаторы (UUID), настройки соединений и адреса СУБД. Удалив эту папку, мы полностью стерли «карту дорог» сервера 1С. Сам сервер «забыл», какие базы у него были, хотя физически данные в SQL-сервере остались в полной сохранности.
Чтобы избежать подобных инцидентов в будущем, рассмотрим полезное правило: переносите рабочий каталог кластера на другой диск (например, более быстрый SSD) и всегда делайте его резервную копию перед техническими работами. Перенос каталога осуществляется редактированием параметров запуска службы Агента сервера 1С (ragent) в реестре Windows:
regedit).HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent...ImagePath и измените значение флага -d, указав новый путь к каталогу настроек. Например: -d "D:\1C_Base\srvinfo".---
Поскольку платформа была переустановлена, Windows создала каталоги программы заново. Очень часто при этом сбиваются права доступа у служебного пользователя, под которым запускается Агент сервера 1С. Обычно это локальный пользователь USR1CV8.
Если у этой учетной записи не будет полных прав на чтение и запись в воссозданный каталог C:\Program Files\1cv8, служба сервера 1С либо вообще не запустится (выдав ошибку авторизации службы 1069), либо не сможет создавать сеансы пользователей и файлы блокировок.
Проанализируем процедуру назначения прав по шагам:
C:\Program Files\1cv8 (или C:\Program Files (x86)\1cv8 в зависимости от разрядности вашей платформы).USR1CV8 (или добавьте ее через поиск, если её там нет).srvinfo).---
Часто при попытке восстановить подключение базы через консоль 1С администраторы сталкиваются с тем, что СУБД не принимает учетные данные пользователя. При этом в среду SQL Server Management Studio (SSMS) получается войти только под доменной учетной записью Windows (Windows Authentication), а авторизация по логину sa выдает ошибку.
Это означает, что на вашем MS SQL Server активирован режим проверки подлинности «Только Windows». В таком режиме SQL Server игнорирует любые попытки подключения с использованием имени пользователя и пароля СУБД (включая параметры, которые мы прописываем при создании базы в 1С).
Рассмотрим, как включить необходимый Смешанный режим авторизации и настроить пользователя sa:
Важнейший нюанс, о котором часто забывают: Изменения режима авторизации не вступят в силу немедленно! Вам необходимо перезапустить службу MS SQL Server. Для этого в обозревателе объектов SSMS кликните правой кнопкой мыши по имени сервера и выберите пункт Перезапустить (Restart), либо сделайте это через стандартную оснастку Windows «Службы» (управление службой MSSQLSERVER).
Теперь активируем учетную запись администратора СУБД sa и зададим для нее надежный пароль:
sa, кликните по нему дважды.---
В тексте ошибки из первого сообщения упоминается сбой драйвера «Microsoft SQL Server Native Client 11.0». Это важный технический момент, требующий внимания при обновлении или переустановке платформы 1С.
Сервер 1С:Предприятия взаимодействует с базой данных СУБД не напрямую, а через специальный промежуточный драйвер доступа. Здесь критически важно учитывать версию установленной платформы 1С:
Microsoft SQL Server Native Client 11.0. Его дистрибутив (файл sqlncli.msi) можно скачать с официального сайта Microsoft или найти в шаблонах установки старых релизов 1С.Microsoft OLE DB Driver for SQL Server (msoledbsql). Если на вашем сервере развернута новая платформа, обязательно скачайте и установите пакет msoledbsql соответствующей разрядности (х86 или х64) с сайта Microsoft.Также рекомендуется повторно зарегистрировать утилиту администрирования серверов 1С в операционной системе. Для этого запустите командную строку от имени Администратора и выполните регистрацию библиотек (в каталоге вашей актуальной версии платформы):
cd "C:\Program Files\1cv8\8.3.XX.XXXX\bin"
regsvr32 radmin.dll
После регистрации библиотек и обновления драйверов желательно перезагрузить операционную систему сервера.
---
Когда СУБД подготовлена, права настроены, а служба Агента 1С успешно функционирует, пришло время вернуть базу данных в консоль администрирования 1С. Разберем этот процесс подробно, чтобы окончательно развеять страхи о возможной потере данных.
Многие начинающие администраторы боятся использовать стандартный диалог добавления базы в стартере 1С, опасаясь, что выбор пункта «Создание новой информационной базы» сотрет их старые таблицы в SQL. Это не так!
Если в СУБД база данных под указанным именем уже существует и заполнена метаданными, сервер «1С:Предприятие» при попытке подключения определит наличие таблиц, проверит их структуру и просто «привяжет» эту базу СУБД к новому созданному ID в кластере 1С. Никакие данные при этом удалены или перезаписаны не будут.
Однако перед любыми критическими операциями мы настоятельно рекомендуем сделать резервную копию базы данных средствами СУБД. Выполним это по шагам в среде SSMS:
.bak) и нажмите кнопку ОК. Дождитесь успешного завершения операции.Теперь смело переходим к подключению базы в 1С:
localhost, если все развернуто на одной машине).MS SQL Server.ServerName или ServerName\SQLEXPRESS).sa).sa.Проанализировав введенные параметры, Агент сервера 1С свяжется с MS SQL Server, обнаружит готовую структуру таблиц, зарегистрирует базу в файле конфигурации кластера 1CV8Clst.lst и успешно запустит сеанс работы. Наша база данных спасена и готова к полноценному использованию!