Как исправить ошибку создания и подключения базы данных 1С к MS SQL Server после переустановки платформы?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При обслуживании серверов «1С:Предприятие» системные администраторы иногда сталкиваются с необходимостью полной переустановки платформы. В процессе этой операции нередко совершается критическая ошибка — полное удаление каталога установки по умолчанию C:\Program Files\1cv8. В результате сервер 1С перестает видеть существующие базы данных, а попытки добавить их заново или настроить подключение через консоль администрирования оборачиваются чередой ошибок авторизации СУБД (например, с участием пользователей sa или USR1CV8) и сбоями СУБД-драйверов («Microsoft SQL Server Native Client»).

В этой статье мы подробно разберем, почему возникает данная проблема, как восстановить работоспособность всей связки «1С + MS SQL Server» и вернуть доступ к базам данных без потери информации. Проанализируем ситуацию по шагам и решим возникшие трудности совместными усилиями.

---

Шаг 1. Выясняем первопричину: Потеря каталога srvinfo

Для начала давайте разберемся, почему после удаления папки C:\Program Files\1cv8 из консоли администрирования 1С пропали все информационные базы, хотя физически файлы баз данных (форматы .mdf и .ldf) остались нетронутыми на сервере MS SQL.

Дело в том, что по умолчанию внутри каталога установки платформы создается рабочая папка кластера серверов 1С под названием srvinfo. Именно в ней (в конфигурационном файле 1CV8Clst.lst) хранится вся информация о зарегистрированных в кластере базах данных, их уникальные идентификаторы (UUID), настройки соединений и адреса СУБД. Удалив эту папку, мы полностью стерли «карту дорог» сервера 1С. Сам сервер «забыл», какие базы у него были, хотя физически данные в SQL-сервере остались в полной сохранности.

Чтобы избежать подобных инцидентов в будущем, рассмотрим полезное правило: переносите рабочий каталог кластера на другой диск (например, более быстрый SSD) и всегда делайте его резервную копию перед техническими работами. Перенос каталога осуществляется редактированием параметров запуска службы Агента сервера 1С (ragent) в реестре Windows:

  1. Откройте редактор реестра (regedit).
  2. Перейдите к ветке: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent...
  3. Найдите параметр ImagePath и измените значение флага -d, указав новый путь к каталогу настроек. Например: -d "D:\1C_Base\srvinfo".

---

Шаг 2. Настройка прав системной учетной записи USR1CV8

Поскольку платформа была переустановлена, Windows создала каталоги программы заново. Очень часто при этом сбиваются права доступа у служебного пользователя, под которым запускается Агент сервера 1С. Обычно это локальный пользователь USR1CV8.

Если у этой учетной записи не будет полных прав на чтение и запись в воссозданный каталог C:\Program Files\1cv8, служба сервера 1С либо вообще не запустится (выдав ошибку авторизации службы 1069), либо не сможет создавать сеансы пользователей и файлы блокировок.

Проанализируем процедуру назначения прав по шагам:

  1. Перейдите в проводнике к папке C:\Program Files\1cv8 (или C:\Program Files (x86)\1cv8 в зависимости от разрядности вашей платформы).
  2. Нажмите на папку правой кнопкой мыши и выберите Свойства.
  3. Перейдите на вкладку Безопасность и нажмите кнопку Изменить.
  4. Найдите в списке пользователей учетную запись USR1CV8 (или добавьте ее через поиск, если её там нет).
  5. Установите для этого пользователя флажок Полный доступ (Full Control) и нажмите кнопку Применить.
  6. Убедитесь, что права унаследовались на все дочерние папки и файлы (включая воссозданный каталог srvinfo).

---

Шаг 3. Решение проблем авторизации MS SQL Server: Настройка смешанного режима

Часто при попытке восстановить подключение базы через консоль 1С администраторы сталкиваются с тем, что СУБД не принимает учетные данные пользователя. При этом в среду SQL Server Management Studio (SSMS) получается войти только под доменной учетной записью Windows (Windows Authentication), а авторизация по логину sa выдает ошибку.

Это означает, что на вашем MS SQL Server активирован режим проверки подлинности «Только Windows». В таком режиме SQL Server игнорирует любые попытки подключения с использованием имени пользователя и пароля СУБД (включая параметры, которые мы прописываем при создании базы в 1С).

Рассмотрим, как включить необходимый Смешанный режим авторизации и настроить пользователя sa:

  1. Запустите среду SQL Server Management Studio (SSMS) и выполните вход на сервер, используя проверку подлинности Windows (Windows Authentication).
  2. В обозревателе объектов (Object Explorer) нажмите правой кнопкой мыши на имя вашего SQL-сервера (самый верхний элемент дерева) и выберите пункт Свойства (Properties).
  3. В открывшемся окне перейдите в раздел Безопасность (Security).
  4. В области «Проверка подлинности сервера» (Server authentication) переключите переключатель в положение Проверка подлинности SQL Server и Windows (SQL Server and Windows Authentication mode).
  5. Нажмите кнопку ОК.

Важнейший нюанс, о котором часто забывают: Изменения режима авторизации не вступят в силу немедленно! Вам необходимо перезапустить службу MS SQL Server. Для этого в обозревателе объектов SSMS кликните правой кнопкой мыши по имени сервера и выберите пункт Перезапустить (Restart), либо сделайте это через стандартную оснастку Windows «Службы» (управление службой MSSQLSERVER).

Теперь активируем учетную запись администратора СУБД sa и зададим для нее надежный пароль:

  1. В обозревателе объектов SSMS разверните ветку Безопасность (Security) -> Имена входа (Logins).
  2. Найдите пользователя sa, кликните по нему дважды.
  3. На вкладке Общие (General) дважды введите новый надежный пароль в полях «Пароль» и «Подтверждение пароля». Если вы используете простой тестовый пароль, временно снимите галочку Требовать политику паролей (Enforce password policy).
  4. Перейдите на вкладку Состояние (Status).
  5. В разделе «Вход» (Login) обязательно установите переключатель в положение Включено (Enabled). Нажмите ОК для сохранения изменений.

---

Шаг 4. Проверка и обновление драйвера связи (Microsoft SQL Server Native Client)

В тексте ошибки из первого сообщения упоминается сбой драйвера «Microsoft SQL Server Native Client 11.0». Это важный технический момент, требующий внимания при обновлении или переустановке платформы 1С.

Сервер 1С:Предприятия взаимодействует с базой данных СУБД не напрямую, а через специальный промежуточный драйвер доступа. Здесь критически важно учитывать версию установленной платформы 1С:

Также рекомендуется повторно зарегистрировать утилиту администрирования серверов 1С в операционной системе. Для этого запустите командную строку от имени Администратора и выполните регистрацию библиотек (в каталоге вашей актуальной версии платформы):


cd "C:\Program Files\1cv8\8.3.XX.XXXX\bin"
regsvr32 radmin.dll

После регистрации библиотек и обновления драйверов желательно перезагрузить операционную систему сервера.

---

Шаг 5. Безопасное подключение существующей базы к 1С без потери данных

Когда СУБД подготовлена, права настроены, а служба Агента 1С успешно функционирует, пришло время вернуть базу данных в консоль администрирования 1С. Разберем этот процесс подробно, чтобы окончательно развеять страхи о возможной потере данных.

Многие начинающие администраторы боятся использовать стандартный диалог добавления базы в стартере 1С, опасаясь, что выбор пункта «Создание новой информационной базы» сотрет их старые таблицы в SQL. Это не так!

Если в СУБД база данных под указанным именем уже существует и заполнена метаданными, сервер «1С:Предприятие» при попытке подключения определит наличие таблиц, проверит их структуру и просто «привяжет» эту базу СУБД к новому созданному ID в кластере 1С. Никакие данные при этом удалены или перезаписаны не будут.

Однако перед любыми критическими операциями мы настоятельно рекомендуем сделать резервную копию базы данных средствами СУБД. Выполним это по шагам в среде SSMS:

  1. В обозревателе объектов SSMS разверните ветку Базы данных (Databases).
  2. Кликните правой кнопкой мыши по имени вашей рабочей базы данных, выберите пункт Задачи (Tasks) -> Создать резервную копию... (Back Up...).
  3. В открывшемся окне убедитесь, что в качестве типа резервной копии выбран вариант Полный (Full).
  4. В разделе «Назначение» (Destination) укажите путь для сохранения файла бэкапа (с расширением .bak) и нажмите кнопку ОК. Дождитесь успешного завершения операции.

Теперь смело переходим к подключению базы в 1С:

  1. Запустите стартер 1С:Предприятия и нажмите кнопку Добавить.
  2. Выберите вариант Создание новой информационной базы (да-да, именно этот пункт!) и нажмите «Далее».
  3. Выберите вариант Создание информационной базы без конфигурации... и перейдите на следующий шаг.
  4. Задайте понятное имя базы в списке и выберите тип расположения: На сервере 1С:Предприятия.
  5. На следующем экране заполните параметры связи с СУБД:
    • Кластер серверов 1С:Предприятия: Укажите сетевое имя вашего сервера 1С (или localhost, если все развернуто на одной машине).
    • Имя информационной базы в кластере: Произвольное имя, под которым база будет видна пользователям.
    • Тип СУБД: Выберите MS SQL Server.
    • Сервер баз данных: Имя вашего SQL-сервера (например, ServerName или ServerName\SQLEXPRESS).
    • Имя базы данных: Здесь укажите точное имя существующей базы в MS SQL Server (то, которое вы видели в списке баз в SSMS).
    • Пользователь СУБД: Укажите учетную запись администратора СУБД (например, настроенный ранее sa).
    • Пароль пользователя СУБД: Введите пароль от учетной записи sa.
  6. Снимите галочку Создать базу данных в случае ее отсутствия (чтобы исключить случайное создание пустой базы при ошибке в имени).
  7. Нажмите кнопку Готово.

Проанализировав введенные параметры, Агент сервера 1С свяжется с MS SQL Server, обнаружит готовую структуру таблиц, зарегистрирует базу в файле конфигурации кластера 1CV8Clst.lst и успешно запустит сеанс работы. Наша база данных спасена и готова к полноценному использованию!

← На главную