Администрирование · 9 мин
Где находятся базы 1С SQL и как найти их расположение
Где физически хранятся базы 1С на SQL-сервере: пути к файлам MDF и LDF, как узнать расположение через свойства базы, конфигуратор и запросы.
При клиент-серверном варианте работы 1С данные хранятся не в каталоге на диске, как в файловой версии, а в базе данных на сервере СУБД — чаще всего Microsoft SQL Server, реже PostgreSQL или Oracle. Сама информационная база при этом логически «привязана» к серверу 1С:Предприятия, а физические файлы данных лежат в каталогах, которые определяет СУБД. Поэтому вопрос «где находится база 1С SQL» обычно означает поиск файлов MDF/LDF на сервере баз данных.
Знать физическое расположение базы нужно для резервного копирования на уровне файлов, переноса базы на другой сервер, контроля свободного места на диске и диагностики проблем с производительностью. Ниже разобраны все практические способы узнать путь к файлам базы: через консоль кластера 1С, SQL Server Management Studio, системные запросы и реестр.
Из чего состоит база 1С в клиент-серверном варианте
В клиент-серверной архитектуре участвуют три компонента: клиентское приложение, сервер 1С:Предприятия и сервер СУБД. Пользовательские данные, настройки и метаданные конфигурации хранятся в базе данных СУБД, а сервер 1С выступает посредником, транслируя запросы клиентов в SQL-команды.
Физически база данных SQL Server состоит минимум из двух файлов: основного файла данных с расширением MDF и журнала транзакций с расширением LDF. Дополнительно могут быть вторичные файлы данных NDF, если администратор разносил базу по нескольким дискам. Именно эти файлы и нужно искать на диске сервера СУБД.
Важно понимать: в каталоге сервера 1С (обычно C:\Program Files\1cv8\srvinfo) файлов пользовательской базы нет. Там находятся служебные данные кластера — реестр информационных баз, журналы, настройки сеансов. Путать этот каталог с расположением базы — распространённая ошибка.
Как узнать имя базы данных через консоль кластера 1С
Первый шаг — выяснить, как называется база на уровне СУБД, потому что имя информационной базы в списке 1С и имя базы данных на SQL Server могут отличаться. Для этого откройте консоль администрирования серверов 1С:Предприятия.
- 1Откройте консоль «Администрирование серверов 1С Предприятия» на сервере или с рабочего места администратора
- 2Разверните нужный кластер и перейдите в раздел «Информационные базы»
- 3Дважды щёлкните по нужной базе, чтобы открыть её свойства
- 4Найдите поля «Сервер баз данных» и «База данных» — это имя SQL-сервера и имя базы на нём
- 5Запишите также тип СУБД и пользователя БД — они понадобятся для подключения через Management Studio
В свойствах информационной базы видны все параметры подключения: адрес сервера СУБД, имя базы данных, учётная запись, под которой сервер 1С обращается к СУБД. Этих данных достаточно, чтобы подключиться к SQL Server и найти физические файлы.
Если консоль кластера недоступна, имя базы можно подсмотреть в файле списка баз пользователя (ibases.v8i в профиле пользователя) — там в параметрах подключения для клиент-серверной базы указаны Srvr и Ref, но Ref — это имя информационной базы в кластере, а не обязательно имя базы в СУБД.
Как найти файлы базы через SQL Server Management Studio
Самый наглядный способ — посмотреть свойства базы в SQL Server Management Studio (SSMS). Подключитесь к экземпляру SQL Server, разверните узел «Базы данных», щёлкните правой кнопкой по нужной базе и выберите «Свойства», затем страницу «Файлы».
В колонке «Путь» будет указан полный каталог, а в колонке «Имя файла» — имена файлов MDF и LDF. Там же видны текущий размер файлов, настройки авторасширения и ограничения по максимальному размеру.
SELECT name, physical_name, size * 8 / 1024 AS size_mb FROM sys.master_files WHERE database_id = DB_ID('ИмяБазы1С');Запрос к sys.master_files возвращает пути ко всем файлам указанной базы вместе с размером в мегабайтах. Это удобно, когда SSMS недоступен, но есть возможность выполнить запрос, например через sqlcmd или из скрипта обслуживания.
Каталог данных SQL Server по умолчанию
Если при создании базы путь не меняли, файлы лежат в каталоге данных экземпляра SQL Server. Для экземпляра по умолчанию типичный путь выглядит так: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA, где MSSQL15 соответствует версии SQL Server 2019 (для 2016 — MSSQL13, для 2017 — MSSQL14, для 2022 — MSSQL16). Для именованного экземпляра вместо MSSQLSERVER в пути будет его имя.
Точный каталог по умолчанию можно узнать в свойствах сервера в SSMS (страница «Параметры базы данных», поля «Расположение по умолчанию для данных» и «для журнала») или запросом к реестру экземпляра через xp_instance_regread.
SELECT SERVERPROPERTY('InstanceDefaultDataPath') AS DataPath, SERVERPROPERTY('InstanceDefaultLogPath') AS LogPath;На практике администраторы часто выносят базы на отдельные диски — например, данные на диск D, журналы на диск E. Поэтому не стоит полагаться только на путь по умолчанию: всегда проверяйте фактическое расположение через свойства базы или sys.master_files.
Где искать базы для PostgreSQL и других СУБД
Для PostgreSQL физические файлы базы лежат внутри кластера данных, путь к которому задаётся при инициализации (обычно /var/lib/pgsql/data на Linux или C:\Program Files\PostgreSQL\<версия>\data на Windows). Отдельные базы хранятся в подкаталогах base\
Напрямую копировать или перемещать файлы внутри каталога данных PostgreSQL нельзя — для переноса используют pg_dump/pg_restore или pg_basebackup. Аналогично для Oracle и IBM DB2 расположение файлов определяется табличными пространствами и параметрами экземпляра, а работа с файлами вручную недопустима.
Как безопасно перенести или скопировать базу
Если файлы найдены и нужно перенести базу на другой диск или сервер, есть два безопасных пути. Первый — выгрузка информационной базы в файл DT через конфигуратор и загрузка в новую базу. Этот способ универсален, но на больших базах занимает много времени.
Второй путь — штатный бэкап средствами SQL Server (полная резервная копия) и восстановление на новом месте с указанием новых путей файлов через опцию WITH MOVE. Перед восстановлением в свойствах информационной базы в консоли кластера обновляют имя сервера или базы, если они изменились.
После переноса обязательно проверьте результат: база должна быть в состоянии ONLINE, сеансы 1С должны подключаться, а тестовые операции (проведение документа, построение отчёта) — выполняться без ошибок.
Как проверить результат
Статус ONLINE, без пометок Suspect или Recovery Pending
База в состоянии Suspect, Offline или Restoring
Клиент входит в базу, сеансы видны в консоли кластера
Ошибка соединения с СУБД при запуске
DBCC CHECKDB завершается без ошибок
Есть сообщения о повреждениях страниц или цепочек
Типичные ошибки при поиске и работе с файлами базы
Отдельная частая ситуация — администратор ищет базу на своём рабочем компьютере, хотя сервер СУБД находится на другой машине. Файлы MDF/LDF существуют только на том сервере, где установлен SQL Server; на клиентских компьютерах лежат лишь кэш метаданных и временные файлы.
Что важно запомнить
База 1С в клиент-серверном варианте физически хранится в файлах MDF и LDF на сервере СУБД, а не в каталоге сервера 1С. Имя базы смотрят в консоли кластера, точные пути — в свойствах базы в SSMS или через sys.master_files. Любые операции с файлами выполняют только после остановки работы с базой, а перенос делают через выгрузку DT или штатный бэкап СУБД.
FAQ
Можно ли найти базу 1С поиском файлов по диску?
Да, поиск по маске *.mdf на сервере SQL Server покажет все файлы данных, но среди них будут и системные базы, и базы других приложений. Поэтому надёжнее сначала узнать точное имя базы в консоли кластера 1С, а затем посмотреть её путь через SSMS или запрос к sys.master_files.
Почему в каталоге DATA нет файла с именем моей базы?
Имя физического файла задаётся при создании базы и может не совпадать с логическим именем базы. Кроме того, администратор мог разместить файлы на другом диске. Фактические имена и пути всегда видны в свойствах базы на вкладке «Файлы» в SSMS.
Где хранится файловая база 1С и чем она отличается?
Файловая база — это один файл 1Cv8.1CD в каталоге, указанном в списке информационных баз пользователя. Там же лежат служебные файлы и папки. В отличие от SQL-варианта, такую базу можно скопировать обычным копированием файла, но только при отсутствии активных сеансов.
Как узнать, какая версия SQL Server используется и где её каталог?
Версию и имя экземпляра показывает запрос SELECT @@VERSION или свойства сервера в SSMS. Каталог данных по умолчанию возвращает SERVERPROPERTY('InstanceDefaultDataPath'). Номер версии в имени папки (MSSQL13–MSSQL16 и выше) соответствует поколению SQL Server.
Можно ли открыть файл MDF без SQL Server, чтобы посмотреть данные?
Нет, штатных средств для чтения MDF вне SQL Server не существует, а структура таблиц 1С дополнительно хранится в сериализованном виде, понятном только платформе. Для доступа к данным базу присоединяют к экземпляру SQL Server и работают через 1С или SQL-запросы.
Что делать, если база перенесена, а 1С пишет «база данных не обнаружена»?
Проверьте, что база восстановлена и находится в состоянии ONLINE, что в свойствах информационной базы в консоли кластера указаны актуальные сервер и имя базы, а у учётной записи СУБД, под которой работает сервер 1С, есть права на эту базу (роль db_owner).