В практике администрирования 1С:Предприятие 7.7 в клиент-серверном варианте (MS SQL Server) может возникнуть критическая ситуация: локальный или сетевой каталог информационной базы был случайно удален, однако сама база данных на сервере SQL осталась нетронутой, а у администратора сохранился актуальный файл конфигурации 1Cv7.md. Разберем по шагам, как правильно пересоздать рабочий каталог, перегенерировать файл словаря данных 1Cv7.dds и восстановить корректное подключение без риска повреждения или потери информации.
Прежде чем выполнять любые манипуляции с конфигуратором и каталогами, обязательно защитим существующие данные на стороне сервера СУБД. При несовпадении внутренней структуры платформа может запустить процесс реструктуризации таблиц, что приведет к необратимому искажению данных.
BACKUP DATABASE.Если восстановить удаленную папку средствами файловой системы невозможно, выполним сборку каталога вручную.
1Cv7.md.OrdNoChk.prm.1С:Предприятие 7.7, нажмем кнопку «Добавить», укажем наименование базы и путь к созданной новой папке.sa или пользователь с правами db_owner);1Cv7.dds), откроем дерево конфигурации, внесем незначительное изменение (например, изменим комментарий к любому несущественному объекту или описание конфигурации) и нажмем кнопку «Сохранить» (Ctrl+S).Рассмотрим подробнее механизм связывания конфигурации и таблиц СУБД. В платформе 1С 7.7 имена физических таблиц формируются на основе внутренних идентификаторов объектов метаданных:
SC<ID> — таблицы справочников;DH<ID> и DT<ID> — шапки и табличные части документов;RA<ID> и RG<ID> — таблицы движений и итогов регистров;1SJOURN, 1SCONST, _1SSYSTEM — системные журналы, константы и параметры базы.Файл 1Cv7.dds является текстовым описанием структуры. Если используемый файл 1Cv7.md на 100% соответствует текущему состоянию базы на SQL, платформа сформирует файл 1Cv7.dds с абсолютно идентичными идентификаторами.
Внимание: если взят устаревший .md или конфигурация в прошлом сохранялась некорректно, идентификаторы объектов могут не совпасть. В этом случае при сохранении конфигуратор посчитает старые таблицы удаленными, создаст новые пустые таблицы и очистит данные. Чтобы исключить эту проблему, перед запуском в режиме предприятия сравним имена сформированных таблиц в 1Cv7.dds с реальными таблицами в базе MS SQL через запрос к системному представлению:
SELECT name
FROM sys.tables
WHERE name LIKE 'SC%' OR name LIKE 'DH%' OR name LIKE 'DT%';
В удаленной папке также находился подкаталог UsrDef с файлом users.usr, в котором хранились учетные записи пользователей, их права и интерфейсы. Если этот файл не сохранился, авторизоваться под прежними логинами не удастся.
UsrDef и файл users.usr.После выполнения указанных шагов база данных готова к штатной работе в режиме «1С:Предприятие».