Работа с 1С:Предприятие неизбежно ставит вопрос: где именно хранятся базы данных на сервере? Ответ зависит от множества факторов — версии платформы, типа архитектуры (файловая или клиент-серверная), операционной системы и даже настроек администратора. Неправильное понимание расположения баз может привести к потерям данных при миграции, обновлениях или сбоях.
Эта статья поможет разобраться в физическом размещении баз 1С на серверах под управлением Windows и Linux, объяснит различия между файловой и клиент-серверной архитектурами, а также раскроет нюансы резервного копирования и восстановления. Мы рассмотрим не только стандартные пути, но и неочевидные случаи — когда базы хранятся в нетипичных местах или на сетевых ресурсах.
Особое внимание уделим типичным ошибкам, которые допускают администраторы при поиске баз, а также дадим практические рекомендации по оптимизации хранения. Если вы когда-нибудь терялись в дереве каталогов сервера, пытаясь найти .1CD-файлы или папки с базой PostgreSQL, этот материал станет вашей навигационной картой.
1. Файловая vs клиент-серверная архитектура: где искать базы?
Прежде чем искать базы на сервере, определите, какая архитектура используется в вашей системе. От этого зависит формат хранения и расположение данных.
Файловая архитектура (устаревающая, но всё ещё распространённая) предполагает, что база хранится в виде одного файла с расширением .1CD (для 1С:Предприятие 8.3 и новее) или .1CD/.DT (для старых версий). Этот файл содержит всю информацию — и данные, и конфигурацию, что упрощает перенос базы, но ограничивает производительность при работе нескольких пользователей.
Клиент-серверная архитектура (рекомендуемая для средних и крупных компаний) разделяет хранение данных и логику работы. Здесь база размещается на СУБД (Microsoft SQL Server, PostgreSQL, IBM DB2 или Oracle), а платформа 1С подключается к ней как клиент. Физически вы не найдёте "один файл базы" — данные распределены по таблицам СУБД.
- 📁 Файловая база: один файл
.1CD(или папка с файлами для 1С 7.7). - 🗃️ Клиент-серверная база: таблицы в СУБД + конфигурация в файлах
.cfили.epf. - 🔄 Гибридный вариант: файловая база на сетевом диске (не рекомендуется для производственной работы).
Как узнать, какая архитектура используется у вас? Запустите 1С:Предприятие в режиме конфигуратора, откройте список баз (Файл → Открыть...) и посмотрите на строку подключения:
- Если путь начинается с
File="..."— это файловая база. - Если есть упоминание
Srvr="...",Ref="..."или названия СУБД — клиент-серверная.
2. Стандартные пути хранения файловой базы 1С
Если ваша база работает в файловом режиме, её расположение зависит от операционной системы сервера и версии платформы. Ниже приведены типичные пути, но помните: администратор мог изменить их вручную!
На Windows-сервере файловая база чаще всего хранится в одном из следующих мест:
- 🖥️
C:\Users\Public\Documents\1C\1Cv8\— стандартное расположение для 1С:Предприятие 8.3. - 🖥️
C:\Program Files\1Cv8\илиC:\Program Files (x86)\1Cv8\— для старых версий. - 📂
\\SERVER\SharedFolder\1C\— если база размещена на сетевом ресурсе. - 💾
D:\Bases\1C\— если администратор перенёс базы на другой диск.
На Linux-сервере пути отличаются:
- 🐧
/opt/1C/v8.3/x86_64/— каталог установки платформы. - 🐧
/var/1C/bases/— типичное место для хранения баз. - 🐧
/home/username/1C/— если база размещена в домашней директории пользователя.
Файл базы имеет расширение .1CD (например, buhgalteria.1CD). Рядом с ним могут лежать:
- 📄
.1CD— сама база. - 📄
.1Cv8.CDG— файл блокировок (появляется при открытой базе). - 📄
.1Cv8.LGD— журнал регистрации. - 📄
.cfили.epf— файлы конфигурации (если выгружены отдельно).
Если на сервере несколько версий 1С, базы могут храниться в разных папках (например, 1Cv81 для 8.1 и 1Cv83 для 8.3). Проверьте все возможные каталоги!
3. Клиент-серверная база: где искать данные в СУБД
В клиент-серверном режиме физическое хранение данных зависит от используемой СУБД. Платформа 1С не хранит данные сама — она лишь подключается к базе через сервер 1С:Предприятия или напрямую к СУБД.
Рассмотрим наиболее распространённые варианты:
| СУБД | Типичное расположение данных | Как найти базу 1С |
|---|---|---|
| Microsoft SQL Server | C:\Program Files\Microsoft SQL Server\MSSQL{version}.{instance}\MSSQL\DATA\ |
Имя базы совпадает с именем в 1С. Файлы: .mdf (данные) и .ldf (лог). |
| PostgreSQL | /var/lib/postgresql/{version}/main/base/ (Linux) или C:\Program Files\PostgreSQL\{version}\data\base\ (Windows) |
База 1С хранится в виде набора файлов с числовыми именами. Имя базы в 1С соответствует имени в pgAdmin. |
| IBM DB2 | /db2/{instance}/NODE0000/SQL0000{number}/ |
Используйте команду db2 list db directory для поиска. |
| Oracle | $ORACLE_BASE/oradata/{SID}/ |
Имя базы в 1С соответствует SID или Service Name. |
Чтобы точно определить, где хранится ваша база в СУБД:
- Откройте конфигуратор 1С и посмотрите строку подключения (в списке баз или в свойствах информационной базы).
- Найдите параметры
Srvr(сервер СУБД),Ref(имя базы в СУБД),DB(дополнительные параметры). - Подключитесь к СУБД с помощью соответствующего клиента (SQL Server Management Studio, pgAdmin, DB2 Command Line) и найдите базу по имени из параметра
Ref.
Как узнать версию и экземпляр SQL Server?
Откройте SQL Server Configuration Manager, перейдите в раздел SQL Server Services. В столбце Instance Name будет указан экземпляр (например, SQLEXPRESS или MSSQLSERVER).
⚠️ Внимание: В клиент-серверном режиме нельзя просто скопировать файлы базы (например, .mdf) для резервного копирования! Используйте штатные средства СУБД (BACKUP DATABASE в MS SQL, pg_dump в PostgreSQL) или утилиты 1С.
4. Поиск баз 1С на сервере: практические методы
Если стандартные пути не дали результата, или вы не уверены, где именно хранится база, воспользуйтесь этими методами:
1. Поиск по расширениям файлов
На Windows откройте Проводник, перейдите на диск C: (или другой, где предположительно может быть база) и введите в поиске:
*.1CD
На Linux используйте команду:
sudo find / -name "*.1CD" 2>/dev/null
2. Просмотр списка баз в 1С
Запустите 1С:Предприятие в режиме конфигуратора, откройте список баз (Файл → Открыть...) и посмотрите путь в свойствах информационной базы. Даже если база клиент-серверная, здесь может быть указан сервер и имя базы в СУБД.
3. Проверка реестра Windows
Если база добавлена в список 1С, её путь может храниться в реестре по адресу:
HKEY_CURRENT_USER\Software\1C\1Cv8\8.{version}\InfoBases\
Ищите параметр Location (для файловой базы) или Connect (для клиент-серверной).
4. Анализ конфигурационных файлов сервера 1С
На сервере с установленным сервером 1С:Предприятия проверьте файлы:
- 📄
C:\Program Files\1cv8\conf\ragent.conf— список кластеров. - 📄
C:\Program Files\1cv8\{cluster}\conf.cfg— конфигурация конкретного кластера.
Проверьте стандартные пути для файловой базы|Ищите файлы с расширением .1CD|Посмотрите строку подключения в конфигураторе|Проверьте реестр Windows (если ОС Windows)|Анализируйте конфигурационные файлы сервера 1С-->
5. Резервное копирование: как не потерять данные
Знание расположения базы критично для резервного копирования. Ошибки здесь могут стоить потери данных!
Для файловой базы:
- 💾 Копируйте весь файл
.1CD(не только папку с базой, если она в файловом режиме). - 🛑 Не копируйте файл, если база открыта пользователями — используйте
1Cv8.1CDс ключом/DumpIB:
1Cv8.1CD C:\path\to\base.1CD /DumpIB C:\backup\base.dt
Для клиент-серверной базы:
- 🗃️ Используйте штатные средства СУБД:
- 🔹 Для MS SQL:
BACKUP DATABASE [YourBaseName] TO DISK = 'C:\backup\YourBaseName.bak'
- 🔹 Для PostgreSQL:
pg_dump -U username -d dbname -f backup.sql
⚠️ Внимание: Резервная копия, сделанная "вручную" (простым копированием файлов .mdf/.ldf), может быть неконсистентной, если база была открыта во время копирования. Всегда используйте штатные утилиты или останавливайте службу СУБД перед копированием.
Автоматизация резервного копирования
Для регулярного бэкапа настройте:
- 📅 Планировщик задач Windows (для файловой базы или вызова
1Cv8.1CD). - 🤖 Скрипты на PowerShell/Bash для вызова
pg_dumpилиsqlcmd. - 🔄 Средства 1С: в конфигураторе есть встроенная утилита резервного копирования (
Администрирование → Резервное копирование и восстановление).
Резервная копия базы 1С должна включать не только данные, но и конфигурацию. Для клиент-серверных баз обязательно проверяйте целостность бэкапа перед восстановлением!
6. Типичные ошибки при работе с расположением баз
Даже опытные администраторы иногда допускают ошибки, связанные с хранением баз 1С. Вот самые распространённые:
- Копирование открытой файловой базы
Если скопировать файл
.1CDво время работы пользователей, резервная копия будет повреждена. Всегда используйте/DumpIBили останавливайте службу 1С:Предприятия. - Игнорирование журналов транзакций
В MS SQL и PostgreSQL для полного восстановления нужны не только файлы данных (
.mdf/.dat), но и журналы (.ldf/WAL). Без них база может не открыться. - Хранение баз на системном диске
Если база лежит на
C:, при переполнении диска сервер перестанет работать. Всегда размещайте базы на отдельном томе. - Несоответствие версий
Файловая база, созданная в 1С 8.3.20, может не открыться в 8.3.15. Проверяйте совместимость версий при переносе.
- Путаница с кодировками
При переносе базы между серверами с разными ОС (например, Windows → Linux) могут возникнуть проблемы с кодировкой. Используйте утилиту
chdbflдля проверки:
chdbfl -test "C:\path\to\base.1CD"
⚠️ Внимание: Если вы переносите базу с 32-битной на 64-битную версию 1С (или наоборот), может потребоваться конвертация. Используйте утилиту 1Cv8.1CD с ключом /Convert.
7. Оптимизация хранения: советы администраторам
Правильная организация хранения баз 1С повышает производительность и надёжность системы. Вот несколько рекомендаций:
1. Разделение дисков
- 💽 Системный диск (
C:): только ОС и программы. - 💾 Отдельный диск (
D:илиE:): файлы баз 1С (для файлового режима) или файлы СУБД. - 📁 SSD для журналов транзакций: если используете MS SQL или PostgreSQL, разместите
.ldf/WALна быстром SSD.
2. Настройка автоочистки
В клиент-серверном режиме журналы транзакций могут разрастаться до сотен гигабайт. Настройте политику резервного копирования и очистки:
- 🔄 Для MS SQL: используйте модель восстановления
FULLс регулярными бэкапами журналов. - 🔄 Для PostgreSQL: настройте
archive_commandвpostgresql.conf.
3. Мониторинг места на диске
Используйте скрипты для автоматического оповещения, если свободное место на диске с базой опускается ниже 10-15%. Пример для Windows (PowerShell):
$disk = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='D:'"
if ($disk.FreeSpace / $disk.Size -lt 0.15) {
Send-MailMessage -To "admin@example.com" -Subject "Low Disk Space on D:" -Body "Free space: $($disk.FreeSpace/1GB) GB"
}
4. Разделение больших баз
Если база превышает 50-100 ГБ, рассмотрите возможность:
- 🗃️ Разбиения на несколько информационных баз (по периодам или подразделениям).
- 🔧 Оптимизации структуры (индексы, архивирование старых данных).
- 📊 Перехода на клиент-серверную архитектуру (если ещё не сделано).
Для ускорения работы файловой базы на сетевом диске используйте протокол iSCSI вместо SMB. Это снизит задержки при обращении к файлам.
8. Перенос базы на другой сервер: пошаговая инструкция
Если вам нужно перенести базу 1С на новый сервер, следуйте этому алгоритму (пример для файловой базы):
- Подготовка
Убедитесь, что на новом сервере установлена та же версия платформы 1С, что и на старом. Проверьте свободное место на диске.
- Резервное копирование
Создайте резервную копию базы на старом сервере:
1Cv8.1CD C:\old\base.1CD /DumpIB D:\backup\base.dt
- Перенос файлов
Скопируйте файл резервной копии (
.dt) на новый сервер в папку (например,D:\Bases\). - Восстановление
Восстановите базу на новом сервере:
1Cv8.1CD D:\backup\base.dt /RestoreIB D:\Bases\new_base.1CD
- Проверка
Откройте базу в режиме конфигуратора и выполните тестирование и исправление (
Администрирование → Тестирование и исправление). - Обновление списка баз
Добавьте новую базу в список 1С на клиентских машинах или настройте подключение к серверу 1С.
Для клиент-серверной базы процесс сложнее:
- Сделайте бэкап средствами СУБД.
- Перенесите бэкап на новый сервер.
- Восстановите базу в СУБД.
- Настройте кластер серверов 1С (если используется) и проверьте подключение.
⚠️ Внимание: При переносе базы между разными СУБД (например, с MS SQL на PostgreSQL) требуется конвертация. Используйте утилиту 1Cv8.unpack или специализированные сервисы.
Перед переносом базы всегда проверяйте совместимость версий платформы 1С и СУБД. Несовпадение версий — самая частая причина ошибок при миграции.
FAQ: Частые вопросы о хранении баз 1С
Можно ли хранить файловую базу 1С на сетевом диске?
Технически можно, но не рекомендуется для производственной работы. Сетевые задержки и проблемы с блокировками файлов могут приводить к ошибкам и потере данных. Если альтернативы нет, используйте протокол iSCSI и убедитесь, что сетевое оборудование поддерживает SMB Multichannel.
Как найти базу, если она не отображается в списке 1С?
Попробуйте:
- Вручную добавить базу в список через конфигуратор (
Файл → Открыть... → Добавить). - Проверьте права доступа к папке с базой (пользователь должен иметь права на чтение/запись).
- Убедитесь, что на сервере запущен сервер 1С:Предприятия (для клиент-серверного режима).
- Проверьте, не скрыта ли папка с базой (атрибут
hiddenв Windows).
Что делать, если файл базы 1С повреждён?
Способы восстановления:
- 🔧 Используйте утилиту
chdbflдля проверки и исправления:
chdbfl -correct "C:\path\to\base.1CD"
- 📂 Восстановите из резервной копии (если есть).
- 🛠️ Обратитесь в службу поддержки 1С с логами ошибок (файл
.elfв папке с базой).
⚠️ Не пытайтесь открывать повреждённую базу в конфигураторе — это может усугубить проблему.
Как изменить расположение базы 1С?
Для файловой базы:
- Закройте всех пользователей.
- Скопируйте файл
.1CDв новую папку. - Обновите путь в списке баз 1С или в реестре.
Для клиент-серверной базы:
- Сделайте бэкап средствами СУБД.
- Восстановите базу в новом расположении.
- Обновите строку подключения в конфигураторе (параметр
Ref).
Где хранятся временные файлы 1С?
Временные файлы 1С (.tmp, .lgp) обычно располагаются:
- 🖥️ На Windows:
C:\Users\\AppData\Local\Temp\1C\
C:\ProgramData\1C\1Cv8\
- 🐧 На Linux:
/tmp/1C/
/var/tmp/1C/
Эти файлы можно удалять, но только когда 1С не работает. Они используются для кэширования и блокировок.