В современной практике системного администрирования и архитектуры систем на базе 1С:Предприятие часто возникает вопрос импортозамещения и оптимизации стоимости лицензирования. Одной из самых заманчивых идей кажется перенос сервера приложений 1С на бесплатную операционную систему семейства Linux (например, CentOS, Ubuntu или Astra Linux), сохранив при этом привычную и мощную СУБД Microsoft SQL Server, которая также имеет редакцию для Linux. В этой статье мы подробно разберем, почему такая связка не работает, какие технические ограничения заложены в платформу и какие альтернативные пути существуют.
Рассмотрим ситуацию: вы установили сервер 1С на CentOS, установили MS SQL Server на ту же или соседнюю машину под управлением Linux и пытаетесь создать информационную базу. Платформа немедленно выдает ошибку, либо просто блокирует выбор типа СУБД MS SQL Server в консоли администрирования. Проанализируем причину этого явления.
Проблема кроется не в самой операционной системе Linux, а в архитектурной реализации взаимодействия сервера приложений 1С с СУБД от Microsoft. Для обмена данными с SQL Server платформа 1С исторически использует технологию OLE DB (Object Linking and Embedding, Database). Это проприетарная технология компании Microsoft, которая является частью экосистемы COM (Component Object Model) и глубоко интегрирована в библиотеки Windows.
Разберем по шагам, что происходит внутри системы:
Важный вывод: Ограничение является программным и жестко прописано в коде платформы 1С. На текущий момент (включая актуальные релизы 8.3.23, 8.3.24 и выше) поддержка MS SQL сервером 1С, работающим на Linux, не реализована.
Чтобы лучше понять границы дозволенного, проанализируем различные конфигурации систем. Выясним, в каких случаях Microsoft SQL Server допустим в архитектуре 1С.
Рассмотрим следующие варианты:
Если стратегической задачей является использование именно Linux в качестве операционной системы для сервера приложений 1С, то единственным логичным и поддерживаемым решением будет использование СУБД PostgreSQL (а именно — ее специализированной сборки Postgres Pro).
Разберем подробнее, почему этот вариант оптимален:
libpq, что обеспечивает высокую производительность..dt на старом сервере и загрузка в новую базу на Linux-сервере. Платформа 1С сама трансформирует структуру таблиц под требования конкретной СУБД.В сообществе часто обсуждаются возможности версии 8.4. В этой ветке развития платформы архитектура претерпела значительные изменения, и теоретически механизмы взаимодействия с СУБД могли быть пересмотрены. Однако, на данный момент ветка 8.4 остается экспериментальной и не рекомендуется для промышленной эксплуатации. В актуальном «мейнстриме» (8.3.х) подвижек в сторону поддержки MS SQL на Linux-серверах 1С не наблюдается, так как компания 1С делает ставку на развитие импортонезависимых решений на базе открытого ПО.
Проанализировав ситуацию, мы можем дать следующие рекомендации для настройки вашей системы:
Таким образом, мы выяснили, что связка Сервер 1С (Linux) + MS SQL нежизнеспособна по глубоким архитектурным причинам, и для успешного внедрения следует выбрать одну из поддерживаемых конфигураций.