В практике администрирования 1С:Предприятия случаются критические ситуации, когда доступ к информационной базе через «Конфигуратор» становится невозможным из-за повреждения списка пользователей или случайного лишения прав администратора. В таких случаях часто единственным выходом кажется полная перезаливка базы из файла резервной копии .dt. В данной статье мы разберем, как правильно выполнить эту процедуру на SQL-сервере, а также рассмотрим более элегантный способ восстановления прав без удаления данных.
Прежде чем приступать к длительному процессу загрузки тяжелого .dt файла, проанализируем ситуацию: если база данных в SQL исправна, но вы просто не можете в нее войти, права можно сбросить на уровне таблиц СУБД. Это сэкономит часы времени.
Разберем алгоритм действий в SQL Server Management Studio (SSMS):
-- Очистка таблицы пользователей 1С
TRUNCATE TABLE v8users;
-- Удаление записи о пользователях из таблицы Config
DELETE FROM Config WHERE FileName = 'users.usr';
После выполнения этих команд система 1С при попытке входа в «Конфигуратор» посчитает, что в базе нет ни одного пользователя, и позволит зайти без пароля. После входа мы сможем создать нового пользователя с полными правами и сохранить конфигурацию. Это самый быстрый метод решения проблемы «слетевших» прав.
Если же база данных повреждена или способ со сбросом прав не подходит, рассмотрим процедуру загрузки .dt. Важно понимать, что формат .dt — это платформенный механизм выгрузки, который полностью пересоздает структуру таблиц при загрузке.
Шаг 1. Создание пустой информационной базы
Ни в коем случае не создаем базу просто в консоли SQL Server. Правильный порядок действий требует участия кластера 1С. Проанализируем шаги:
Collation (сортировка) в SQL-сервере соответствуют требованиям 1С (обычно это Cyrillic_General_CI_AS).Шаг 2. Подготовка SQL-сервера к приему данных
Загрузка .dt — это процесс массовой вставки (INSERT) миллионов строк. Посмотрим, как оптимизировать SQL Server 2012, чтобы процесс не прервался ошибкой:
Simple (Простая). Это предотвратит бесконечный рост файла лога транзакций .ldf. Если оставить Full, лог может занять всё свободное место на диске..mdf и .ldf (например, по 500 МБ), чтобы SQL не тратил время на расширение файла по 1 МБ.TempDB, так как она активно используется при индексации данных во время загрузки.Шаг 3. Загрузка через Конфигуратор
Теперь запустим «Конфигуратор» созданной пустой базы. Здесь есть критически важный нюанс, упомянутый опытными специалистами: перед загрузкой необходимо открыть дерево конфигурации. Рассмотрим процесс по шагам:
Конфигурация — Открыть конфигурацию. Только после появления дерева объектов (Справочники, Документы и т.д.) платформа корректно инициализирует структуру.Администрирование — Загрузить информационную базу.....dt и подтверждаем замену данных.Проанализируем возможные проблемы, с которыми можно столкнуться при работе с большими объемами данных:
Ошибки памяти (Out of memory)
Формат .dt плохо подходит для баз размером более 30–50 ГБ. При загрузке таких файлов 32-битный рабочий процесс 1С может завершиться аварийно. Если вы столкнулись с такой проблемой, рекомендуется использовать 64-битную версию платформы 1С или выполнять загрузку на сервере с большим объемом оперативной памяти.
Версионность платформы
Выясним причину возможных ошибок структуры: версия платформы, на которой выполняется загрузка, должна быть не ниже версии, в которой был создан файл .dt. В идеале они должны полностью совпадать. Если база была выгружена в версии 8.3.20.xxxx, не пытайтесь загрузить ее в 8.3.15.xxxx.
Очистка кэша
После успешного восстановления базы и создания администратора, обязательно очистим локальный кэш 1С на всех компьютерах пользователей. Это исключит ошибки, связанные со старыми метаданными, которые могли сохраниться в профилях пользователей до инцидента с правами.
Таким образом, мы рассмотрели два пути решения: «хирургическое» вмешательство в SQL для сброса прав и «капитальный ремонт» через создание новой базы и загрузку .dt. Второй вариант надежнее при повреждении данных, но требует тщательной настройки СУБД для обеспечения стабильности процесса.