Администрирование · 10 мин
1С и SQL: как узнать, где находится база данных
Как определить, где физически хранится база 1С на SQL Server: через свойства информационной базы, Management Studio, запросы и системный каталог.
Когда 1С работает в клиент-серверном варианте, данные хранятся не в файле 1Cv8.1CD, а в базе данных на SQL-сервере — чаще всего Microsoft SQL Server, реже PostgreSQL. Администратору регулярно нужно знать, где именно лежат файлы этой базы: для настройки резервного копирования, переноса на другой диск, контроля свободного места или диагностики медленной работы.
Найти расположение базы можно несколькими способами: через свойства информационной базы в консоли кластера 1С, средствами самого SQL-сервера или запросом к системным представлениям. Каждый способ даёт разный уровень детализации — от имени базы до точного пути к файлам MDF и LDF.
Как устроено хранение данных 1С на SQL-сервере
В клиент-серверном варианте платформа 1С не работает с файлами данных напрямую. Сервер 1С:Предприятия обращается к СУБД по имени базы, а уже SQL-сервер оперирует физическими файлами на диске. Одна информационная база 1С обычно соответствует одной базе данных на SQL-сервере, которая состоит минимум из двух файлов: файла данных (MDF) и файла журнала транзакций (LDF).
Важно понимать разницу между тремя уровнями: каталогом информационной базы (там лежат служебные файлы 1С, но не сами данные), именем базы данных на SQL-сервере и путями к файлам этой базы. Частая ошибка новичков — искать данные в каталоге, указанном в списке баз при запуске 1С. В клиент-серверном варианте этот каталог почти пуст: там хранятся только настройки подключения и кэш.
Способ 1: узнать имя базы через консоль кластера 1С
Первый шаг — выяснить, как база называется на SQL-сервере. Откройте консоль администрирования серверов 1С:Предприятия, разверните нужный кластер, перейдите в раздел «Информационные базы» и откройте свойства нужной базы. В диалоге свойств видны ключевые параметры: сервер баз данных (имя или адрес SQL-сервера), имя базы данных, пользователь СУБД и тип СУБД.
Если консоли под рукой нет, имя базы можно посмотреть иначе. В файловом списке баз на клиенте откройте свойства подключения: для клиент-серверной базы там указана строка вида Srvr="server01";Ref="trade_base";. Здесь Ref — имя информационной базы в кластере 1С, которое часто, но не всегда совпадает с именем базы данных на SQL-сервере. Точное соответствие устанавливается только через консоль кластера.
Также имя базы видно в конфигураторе: меню «Администрирование» → «Параметры информационной базы» показывает строку подключения, если у вас есть административные права.
Способ 2: найти файлы базы через SQL Server Management Studio
Зная имя базы, откройте SQL Server Management Studio (SSMS) и подключитесь к серверу, указанному в свойствах информационной базы. В обозревателе объектов найдите базу в разделе «Базы данных», щёлкните по ней правой кнопкой и выберите «Свойства». На странице «Файлы» отображается полный список файлов базы с точными путями на диске.
Обратите внимание на колонки: логическое имя, тип файла (данные или журнал), начальный размер и путь. Если база большая, она может состоять из нескольких файлов данных, расположенных на разных дисках, — это нормальная практика для распределения нагрузки.
Если SSMS не установлена на вашем компьютере, её можно запустить на самом сервере СУБД или установить отдельно — инструмент распространяется Microsoft бесплатно и подключается к серверу по сети.
- 1Подключитесь к SQL Server под учётной записью с правами просмотра сервера
- 2Разверните узел «Базы данных» и найдите базу по имени из консоли 1С
- 3Откройте контекстное меню базы → «Свойства» → страница «Файлы»
- 4Скопируйте пути к файлам MDF и LDF
- 5Проверьте наличие свободного места на указанных дисках
Способ 3: получить пути запросом к системным представлениям
Когда нужно быстро получить пути для нескольких баз или нет доступа к графическому интерфейсу, удобнее выполнить запрос. Системное представление sys.master_files содержит информацию обо всех файлах всех баз на экземпляре SQL Server.
SELECT name AS logical_name, type_desc, physical_name, size * 8 / 1024 AS size_mb FROM sys.master_files WHERE database_id = DB_ID('ИмяБазы1С');Запрос вернёт логические имена файлов, тип (ROWS — данные, LOG — журнал), физический путь и размер в мегабайтах. Чтобы увидеть файлы всех баз сразу, уберите условие WHERE — это удобно для общей ревизии сервера.
Для PostgreSQL, который тоже используется с 1С, расположение данных определяется иначе: базы хранятся внутри общего каталога данных кластера (data directory), узнать его можно запросом SHOW data_directory;. Отдельные базы лежат в подкаталоге base по числовым идентификаторам, соответствие имени и идентификатора покажет запрос к pg_database.
Где лежит каталог информационной базы 1С и зачем он нужен
Отдельно от файлов SQL существует каталог информационной базы на сервере 1С. В нём хранятся служебные данные: журнал регистрации (если он не вынесен в СУБД), файлы полнотекстового поиска, настройки базы. Путь к этому каталогу задаётся при создании информационной базы в кластере и виден в её свойствах в консоли.
По умолчанию каталог создаётся внутри служебного каталога кластера сервера 1С, обычно это C:\Program Files\1cv8\srvinfo\reg_1541 с подкаталогом по идентификатору базы. Именно здесь находится файл журнала регистрации, который нужен при расследовании инцидентов.
Что где хранится
Все данные: документы, справочники, регистры. Файлы MDF/LDF, путь смотрится в SSMS
Журнал регистрации, служебные файлы. Путь в свойствах базы в консоли кластера
Только кэш и настройки подключения. Данных там нет, удалять безопасно
Как перенести файлы базы на другой диск
Типичная причина поиска расположения базы — нехватка места на системном диске. Перенос файлов SQL-базы делается только штатными средствами СУБД, простое копирование файлов при работающем сервере приведёт к повреждению данных.
Безопасная последовательность: переведите базу в режим OFFLINE или отсоедините её (Detach), скопируйте файлы в новое расположение, присоедините базу с указанием новых путей (Attach) или выполните ALTER DATABASE ... MODIFY FILE для изменения путей. Перед началом сделайте полную резервную копию и убедитесь, что пользователи отключены от информационной базы.
Частые ошибки и как их избежать
Самая распространённая ошибка — путать файловую и клиент-серверную базу. Если в списке баз путь начинается с File=, база файловая, и данные лежат в файле 1Cv8.1CD по указанному пути — искать её на SQL-сервере бессмысленно. Клиент-серверная база имеет строку подключения с параметрами Srvr и Ref.
Вторая ошибка — резервное копирование только файлов SQL-базы без учёта журнала регистрации и наоборот. Полноценная копия клиент-серверной базы — это бэкап средствами SQL Server плюс, при необходимости, каталог информационной базы из кластера. Выгрузка в DT через конфигуратор — тоже валидный вариант архива, но для больших баз он заметно медленнее.
Как проверить, что вы нашли нужную базу
Совпадают полностью
Разные серверы — вы смотрите не туда
Имена совпадают
Похожие, но разные имена — уточните соответствие
Обновляется в процессе работы пользователей
Старая дата — возможно, это копия или неактивная база
Часто задаваемые вопросы
Можно ли узнать расположение базы без прав администратора?
Имя сервера и базы видно в строке подключения, которую пользователь с правами может посмотреть в свойствах базы в стартовом окне 1С. А вот пути к файлам на SQL-сервере доступны только учётным записям с соответствующими правами на СУБД — обычному пользователю 1С они не видны и не нужны.
Где лежит база, если 1С работает в файловом режиме?
В файловом режиме SQL-сервер не используется. Все данные хранятся в одном файле 1Cv8.1CD, путь к которому указан в списке информационных баз при запуске 1С и в строке подключения после параметра File=.
Можно ли просто скопировать папку с базой SQL Server для бэкапа?
Нет. При работающем SQL Server файлы базы открыты и постоянно изменяются, скопированная копия будет неконсистентной. Используйте штатное резервное копирование (BACKUP DATABASE) или заранее отсоедините базу. Альтернатива — выгрузка в файл DT через конфигуратор.
Имя базы в кластере и в SQL различаются — это проблема?
Нет, это допустимая ситуация: при создании информационной базы администратор задаёт оба имени независимо. Проблемой это становится только при путанице в документации, поэтому соответствие имён стоит зафиксировать в описании инфраструктуры.
Как найти базу, если SQL-серверов несколько и неизвестно, на каком она лежит?
Надёжный способ — открыть свойства информационной базы в консоли кластера 1С: там явно указан сервер баз данных. Если доступа к консоли нет, посмотрите строку подключения в свойствах базы на клиенте или уточните у администратора, который создавал базу.
Что делать, если диск с файлами базы переполнен?
Краткосрочно — выполнить сжатие журнала транзакций (после бэкапа журнала при полной модели восстановления). Стратегически — перенести файлы на диск большего объёма штатной процедурой Detach/Attach и настроить регулярное обслуживание: бэкапы журнала, контроль автоприроста файлов.
Что важно запомнить
Имя SQL-базы смотрите в свойствах информационной базы в консоли кластера 1С, пути к файлам — в SSMS на странице «Файлы» или запросом к sys.master_files. Любые операции с файлами MDF/LDF выполняйте только после отсоединения базы или остановки службы SQL Server.