Как создать клиент-серверную базу 1С в SQL Server: права, параметры и проверка подключения

01.09.26
Создание клиент-серверной базы 1С в Microsoft SQL Server: инженер IPWAY показывает схему 1С → сервер 1С → права → SQL Server и успешное подключение.

Переход на клиент-серверный вариант 1С обычно начинается не с настройки производительности, а с более базовой задачи: нужно создать базу в Microsoft SQL Server, дать серверу 1С нужный доступ и убедиться, что пользователи действительно могут с ней работать.

На этом этапе часто допускают две противоположные ошибки. В первом случае учетной записи не хватает прав, и 1С не может создать или открыть базу. Во втором — проблему решают выдачей sysadmin или постоянным использованием sa, хотя такие полномочия приложению не нужны.

Правильнее сначала разделить роли: кто администрирует SQL Server, кто создает базу и под какой учетной записью сервер 1С будет работать с уже созданной информационной базой.

В этой инструкции разберем именно создание новой клиент-серверной базы. Миграцию файловой базы, восстановление .bak и tuning SQL Server оставим за рамками материала.

Как устроена клиент-серверная база 1С

В клиент-серверном варианте пользовательские приложения 1С не работают непосредственно с таблицами Microsoft SQL Server.

Упрощенная схема выглядит так:

Клиент 1С
    │
    ▼
Кластер серверов 1С
    │
    ▼
Microsoft SQL Server
    │
    ▼
База данных 1С
Что такое клиент-серверная база 1С: это информационная база, с которой пользователи работают через сервер 1С, а сами данные хранятся в промышленной СУБД — в нашем случае Microsoft SQL Server. Пользовательскому клиенту 1С не нужен прямой доступ к таблицам SQL Server.
Что такое СУБД: система управления базами данных — программная система, которая хранит данные, обрабатывает запросы и управляет доступом к базе. В этой статье в роли СУБД используется Microsoft SQL Server.

Перед созданием базы желательно уже иметь рабочую связку:

  • сервер 1С установлен;
  • служба сервера 1С запущена;
  • Microsoft SQL Server установлен;
  • сервер 1С видит SQL Server по сети;
  • известны имя экземпляра и фактический TCP-порт;
  • выбран способ аутентификации;
  • определена учетная запись для работы 1С с СУБД.

Если эти компоненты еще не готовы, сначала имеет смысл закончить базовую установку платформы и SQL Server, а уже затем создавать информационную базу.

Какие права нужны в SQL Server

Самый важный момент — не смешивать права, необходимые для создания базы, и права, необходимые для дальнейшей работы с уже существующей базой.

Это разные задачи.

Права на создание базы

Если база в SQL Server заранее не создана и мы хотим, чтобы ее создала сама 1С, учетной записи потребуются полномочия на создание новой базы на уровне экземпляра SQL Server.

В SQL Server право создать БД можно предоставить несколькими способами — через соответствующие server-level permissions или серверную роль, которая позволяет создавать базы.

Но это не означает, что такие права нужно оставлять навсегда.

После создания информационной базы потребность в расширенном server-level доступе может исчезнуть.

Важно: если учетной записи сервера 1С дали расширенные права только для первоначального создания БД, после успешного развертывания пересмотрите эти полномочия и уберите лишнее.

Права для постоянной работы с базой

Когда база уже существует, задача меняется: сервер 1С должен иметь возможность читать и изменять данные, создавать необходимые объекты и выполнять служебные операции в пределах конкретной БД.

При этом постоянный sysadmin для приложения — избыточное решение.

Участник серверной роли sysadmin получает полный контроль над всем экземпляром SQL Server. То же относится к использованию sa как постоянной сервисной учетной записи.

Упрощенно роли лучше разделять так:

SQL Server
├─ административная учетная запись
│  └─ установка, создание БД, обслуживание экземпляра
│
└─ учетная запись сервера 1С
   └─ работа только с нужной информационной базой
Как читать схему: административная учетная запись отвечает за сам экземпляр SQL Server, а сервисной учетной записи 1С не нужно автоматически выдавать те же полномочия на все базы и серверные настройки.

Login и database user — не одно и то же

В SQL Server есть важное разделение.

Login используется для входа на сам экземпляр SQL Server.

Database user — это пользователь уже внутри конкретной базы данных.

Наличие login еще не означает, что эта учетная запись автоматически имеет доступ к нужной БД.

Поэтому ситуация, когда login существует и пароль правильный, но 1С получает отказ доступа к базе, вполне возможна: пользователь внутри БД может быть не создан или ему не назначены нужные разрешения.

Нужно ли использовать db_owner

Роль db_owner дает полный контроль внутри конкретной базы. Это значительно уже, чем sysadmin, но все равно очень широкие полномочия.

Поэтому универсальное правило «всегда добавляйте учетную запись 1С в db_owner» использовать не стоит.

Конкретный набор разрешений нужно выбирать с учетом версии платформы 1С, сценария работы и принятой в компании модели администрирования.

Что важно запомнить: если проблема подключения исчезает только после выдачи sysadmin, это не доказывает, что роль нужна 1С постоянно. Это означает, что в исходной модели доступа чего-то не хватает и ее нужно диагностировать.

Как подготовить базу в Microsoft SQL Server

Есть два нормальных сценария: базу заранее создает администратор SQL Server либо ее создает сама 1С при добавлении информационной базы.

Сценарий 1. Базу заранее создает администратор SQL Server

Такой вариант удобен, если SQL Server сопровождает отдельный администратор или в компании действует строгое разделение прав.

Последовательность:

  1. Администратор SQL Server создает пустую базу.
  2. Настраивает ее файлы и служебные параметры.
  3. Создает или использует отдельный login для сервера 1С.
  4. Сопоставляет login с пользователем в нужной БД.
  5. Выдает необходимые права только на эту базу.
  6. Передает администратору 1С имя SQL Server, имя БД и учетные данные.

Создать базу можно через SQL Server Management Studio или T-SQL.

Например:

SQL
CREATE DATABASE OneC_Accounting;

Название OneC_Accounting здесь только пример.

В рабочей среде имя лучше выбирать заранее по понятному соглашению. Например:

onec_accounting_prod
onec_erp_prod
onec_test

Не стоит смешивать в одном имени случайные сокращения, фамилии пользователей и временные пометки вроде new2_final.

Создаем login и пользователя базы

Пример создания SQL login:

SQL
CREATE LOGIN onec_service
WITH PASSWORD = 'replace_with_strong_password';

В production пароль должен соответствовать политике безопасности компании и не храниться в открытом виде в документации, скриптах общего доступа или репозитории.

После этого в конкретной базе создается database user:

SQL
USE OneC_Accounting;

CREATE USER onec_service
FOR LOGIN onec_service;

Дальше назначаются разрешения, необходимые именно для работы используемой версии 1С.

Важно: примеры CREATE LOGIN и CREATE USER показывают разделение login и database user. Они не задают универсальный минимальный набор прав для всех версий платформы 1С.

Сценарий 2. Базу создает сама 1С

Второй вариант — не создавать БД заранее, а позволить платформе сделать это при добавлении информационной базы.

В этом случае учетной записи, указанной в мастере, временно нужны права на создание базы.

Логика выглядит так:

1С подключается к SQL Server
        │
        ▼
проверяет наличие БД
        │
        ├─ БД есть → подключается
        │
        └─ БД нет → создает

После успешного создания базы расширенные права на уровне экземпляра стоит пересмотреть.

Так сервисная учетная запись не остается способной создавать новые базы без необходимости.

Как добавить клиент-серверную информационную базу в 1С

Когда SQL Server и учетная запись готовы, можно создавать информационную базу со стороны платформы 1С.

Названия отдельных полей могут немного отличаться между версиями платформы, но смысл остается одинаковым.

В мастере создания или добавления информационной базы выбираем клиент-серверный вариант и заполняем параметры.

ПолеЧто означает
Кластер серверовСервер или кластер 1С, который будет обслуживать информационную базу
Имя информационной базыИмя базы внутри кластера 1С
Тип СУБДMicrosoft SQL Server
Сервер баз данныхИмя SQL Server или экземпляра
База данныхИмя БД в Microsoft SQL Server
Пользователь БДУчетная запись, которой сервер 1С подключается к SQL Server
ПарольПароль этой учетной записи
Создать базу при отсутствииИспользуется только если БД должна создать сама 1С

Как указать сервер SQL Server

Для default instance обычно достаточно имени сервера:

SQLSERVER01

Для named instance может использоваться формат:

SQLSERVER01\ONEC

Но имя экземпляра само по себе еще не гарантирует сетевую доступность. Важно, чтобы сервер 1С мог найти нужный endpoint и подключиться к фактическому TCP-порту.

Имя базы данных

Например:

onec_accounting_prod

Если база заранее создана администратором SQL Server, имя здесь должно точно совпадать.

Если выбран сценарий создания базы через 1С, это имя будет использовано при создании новой БД.

Какая учетная запись указывается в мастере

Здесь указываются не пользователь информационной базы 1С и не учетная запись обычного сотрудника, а credentials, которые серверная часть 1С использует для доступа к SQL Server.

Типичная ошибка: администратор путает пользователя информационной базы 1С и login Microsoft SQL Server. Это разные уровни аутентификации и разные учетные записи.

Как проверить подключение и работу базы

Если база не создается или не подключается, сначала проверяем сам сетевой путь. Нет смысла менять SQL-роли, если сервер 1С физически не может установить TCP-соединение с СУБД.

Сервер 1С
   │
   ├─ разрешается имя SQL Server?
   ├─ доступен TCP-порт?
   ├─ отвечает SQL Server?
   └─ принимается login/password?

Проверку нужно выполнять с сервера 1С, а не со своего рабочего компьютера.

Проверяем разрешение имени

PowerShell
Resolve-DnsName SQLSERVER01

Если имя не разрешается, использование этого имени в параметрах 1С также не даст стабильного подключения.

Проверяем TCP-порт

Для default instance часто используется 1433/tcp.

PowerShell
Test-NetConnection SQLSERVER01 -Port 1433

Положительный результат может выглядеть так:

ComputerName     : SQLSERVER01
RemotePort       : 1433
TcpTestSucceeded : True
Важно: порт 1433 — типичный вариант, а не универсальное правило. Named instance или вручную настроенный SQL Server может использовать другой статический или динамический порт. Проверяйте фактическую конфигурацию экземпляра.

Если TcpTestSucceeded возвращает False, проверяем:

  • запущен ли нужный экземпляр SQL Server;
  • включен ли TCP/IP;
  • какой порт реально слушает экземпляр;
  • разрешен ли этот порт в Windows Firewall;
  • есть ли сетевой маршрут между сервером 1С и SQL Server.

Почему локальной проверки недостаточно

SQL Server может нормально открываться через SSMS на самом сервере, но оставаться недоступным с сервера 1С.

SQL Server localhost
      │
      └─ работает

Сервер 1С ──X── SQL Server
             firewall / сеть / порт
Как читать схему: локально работающий SQL Server еще не подтверждает сетевую доступность. Проверять нужно именно путь от сервера 1С до нужного экземпляра СУБД.

Если нужно подробнее разобраться с соединениями между компонентами инфраструктуры 1С, см. материал «Сетевые порты сервера 1С: какие используются, зачем нужны и как проверить их работу».

Как проверить, что база действительно работает

Успешное создание записи в кластере 1С еще не означает, что задача полностью закончена.

Нужно проверить несколько уровней.

База появилась в SQL Server

В SQL Server Management Studio должна появиться соответствующая БД.

Проверить состояние можно и запросом:

SQL
SELECT name, state_desc
FROM sys.databases
WHERE name = N'OneC_Accounting';

Для нормально доступной базы ожидаем состояние:

ONLINE

1С открывает базу

Запускаем информационную базу через клиент 1С.

Если используется новая пустая БД, дальнейший порядок зависит от того, как разворачивается конфигурация — из шаблона, файла .cf, выгрузки .dt или другим штатным способом.

На этом этапе важно убедиться, что сервер 1С действительно может работать с СУБД.

Проверяем операцию чтения и записи

Недостаточно только увидеть информационную базу в списке.

Нужно выполнить безопасную тестовую операцию, которая подтверждает работу чтения и записи. Например:

  • открыть конфигуратор;
  • выполнить предусмотренное процедурой развертывание конфигурации;
  • создать тестовый объект в тестовой среде;
  • выполнить типовую операцию записи.

Для production-базы тестовое изменение должно быть заранее согласовано и не должно создавать фиктивные рабочие документы.

Проверяем после перезапуска

Полезно убедиться, что успешное соединение не держится только на уже открытом сеансе.

В подходящее техническое окно:

  1. Закройте тестовые сеансы.
  2. Перезапустите нужную службу.
  3. Снова откройте базу.
  4. Проверьте доступность SQL Server.
  5. Посмотрите журналы на предмет новых ошибок.
База создана
    │
    ▼
1С подключилась
    │
    ▼
чтение / запись
    │
    ▼
перезапуск службы
    │
    ▼
повторная проверка

Добавляем базу в резервное копирование

Новая production-база не должна остаться вне действующей backup-политики только потому, что после создания ее забыли добавить в задания резервного копирования.

Проверьте:

  • включена ли БД в SQL backup job;
  • куда сохраняются резервные копии;
  • контролируется ли результат задания;
  • предусмотрен ли сценарий восстановления;
  • известен ли срок хранения копий.
Практика IPWAY: создание новой информационной базы удобно считать незавершенным, пока она не вошла в резервное копирование и не появилась в документации по восстановлению.

Типичные ошибки при создании базы 1С в SQL Server

Используют sa как постоянную учетную запись

Технически это может быстро убрать часть ошибок доступа.

Но sa имеет полный контроль над экземпляром SQL Server. Если учетные данные приложения будут скомпрометированы, последствия распространятся не только на одну базу 1С.

Административную и сервисную учетные записи лучше разделять.

Выдают sysadmin, чтобы «точно заработало»

Это может быть диагностическим признаком того, что проблема связана с permissions, но является плохой постоянной конфигурацией.

Если после назначения sysadmin база заработала, следующий шаг — определить, какого права не хватало, и убрать максимальные полномочия.

Login есть, но база его не знает

Например, login:

onec_service

существует на SQL Server, но в конкретной базе нет соответствующего database user.

В итоге подключение к экземпляру проходит, а доступ к БД завершается ошибкой.

Проверяйте сопоставление пользователя в SSMS или системных каталогах SQL Server.

1С должна создать базу, но учетной записи не хватает прав

Если выбран параметр создания базы при отсутствии, учетной записи нужны полномочия на создание БД.

Без них мастер может установить соединение с SQL Server, но завершиться ошибкой уже на этапе создания базы.

SQL Server работает, но сервер 1С не может подключиться

Сначала проверяем сетевой путь:

PowerShell
Test-NetConnection SQLSERVER01 -Port 1433

Если TCP-подключения нет, изменение SQL-ролей проблему не исправит.

Сначала сеть и firewall, затем аутентификация и permissions.

Указано неправильное имя instance

Например, реальный экземпляр:

SQLSERVER01\ONEC

а в настройках указан только:

SQLSERVER01

При нескольких экземплярах это может привести к подключению не к тому SQL Server или к полной недоступности.

Базу создали, но забыли про backup

Такая ошибка может проявиться не сразу, а через несколько месяцев — в тот момент, когда понадобится восстановление.

Резервное копирование нужно включать в процедуру ввода новой базы в эксплуатацию, а не оставлять отдельной будущей задачей.

Сразу начинают настраивать производительность

Если база еще нестабильно подключается, бессмысленно начинать с MaxDOP, tempdb, лимитов памяти и планов обслуживания.

Сначала должна надежно работать базовая связка:

1С → сервер 1С → SQL Server → база

После этого уже можно переходить к tuning.

Заключение

Создание клиент-серверной базы 1С в Microsoft SQL Server состоит не только из заполнения нескольких полей в мастере.

Нужно заранее определить, кто создает БД, какая учетная запись используется сервером 1С, какие права ей действительно нужны и доступен ли SQL Server по сети с сервера 1С.

Наиболее рискованный путь — решать каждую ошибку выдачей sa или sysadmin. Такой подход скрывает проблему конфигурации доступа и создает лишние полномочия для сервисной учетной записи.

После успешного создания базы обязательно проверяется фактическая работа через 1С: подключение, чтение, запись, повторный запуск после перезапуска служб и включение новой БД в резервное копирование.

Что почитать дальше

Если клиент-серверная база уже создана или инфраструктура еще только готовится, полезны следующие материалы:

Когда стоит обратиться к специалистам

Для одной новой базы в уже подготовленной инфраструктуре процедура обычно достаточно прямолинейна.

Сложнее становится, если SQL Server обслуживает несколько production-баз, действует доменная модель доступа, сервер 1С и СУБД находятся в разных сетевых сегментах или права на SQL Server централизованно контролируются администратором СУБД.

Когда стоит обратиться к специалистам: если для запуска 1С приходится выдавать sysadmin, использовать sa, открывать SQL Server всему сетевому сегменту или непонятно, какие права уже назначены сервисной учетной записи, сначала стоит проверить архитектуру и текущую модель доступа.

Если клиент-серверную 1С нужно развернуть с нуля или перенести на новую инфраструктуру, можно передать настройку и сопровождение серверной части 1С специалистам IPWAY: сервер 1С, SQL Server, права доступа и резервное копирование в таком случае настраиваются как единая схема.

Кратко

  • В клиент-серверной 1С пользователи работают с СУБД через сервер 1С, а не напрямую.
  • Права на создание новой базы и права для постоянной работы с существующей БД — разные задачи.
  • Не используйте sa и sysadmin как постоянное решение для сервисной учетной записи 1С.
  • Login SQL Server и database user внутри конкретной базы — разные сущности.
  • Перед поиском ошибок permissions проверьте сеть и фактический TCP-порт SQL Server.
  • Успешное создание базы нужно подтвердить реальной операцией чтения и записи через 1С.
  • После перезапуска служб база должна оставаться доступной.
  • Новая production-база должна сразу попасть в действующую схему резервного копирования.
Нагрузочное тестирование сервера 1С: пользовательские сценарии, метрики CPU, RAM и диска, проверка критериев приёмки.
14.10.26
Как нагрузочно тестировать сервер 1С до переноса пользователей

Новая база 1С может быстро открыться у администратора и при этом начать заметно тормозить, когда к ней одновременно подключатся сотрудники. Проверка одного сеанса не показывает, как…

Автор: Редакция блога
Обслуживание SQL Server для 1С: инженер проверяет целостность базы, статистику, индексы, tempdb и журнал транзакций.
07.10.26
Обслуживание SQL Server для 1С: статистика, индексы, tempdb и контроль журнала

SQL Server для 1С может месяцами работать без заметных проблем, а затем начать постепенно замедляться. Отчёты выполняются дольше, закрытие периода создаёт повышенную нагрузку, журнал транзакций занимает…

Автор: Редакция блога
Девушка-инженер показывает схему управления кластером 1С из командной строки через RAC и сервер администрирования RAS
30.09.26
RAS и RAC для 1С: безопасное администрирование кластера из командной строки

Консоль администрирования серверов 1С удобна для повседневной работы, но подходит не для всех задач. На сервере может не оказаться графического интерфейса, версии консоли и кластера могут…

Автор: Редакция блога
Девушка-инженер диагностирует работу прокси в 1С:Предприятии, определяя место выполнения HTTP-запроса и проверяя DNS, прокси, TLS и доступ к API.
24.09.26
Прокси в 1С:Предприятии: системные настройки, HTTP-соединения и диагностика доступа

Сайты и API открываются в браузере, но 1С не может отправить отчёт, получить обновление или обратиться к внешнему сервису. В корпоративной сети с прокси-сервером это типичная…

Автор: Редакция блога
Хранилище конфигурации 1С для команды разработчиков: централизованный сервер, права пользователей, совместная работа и резервное копирование.
17.09.26
Хранилище конфигурации 1С: сервер, права, резервное копирование и работа команды

Когда конфигурацию 1С дорабатывает один специалист, изменения еще можно контролировать вручную. Но как только над одной системой начинают работать несколько разработчиков, появляются типичные проблемы: один человек…

Автор: Редакция блога
Сравнение файловой и клиент-серверной базы 1С: инженер IPWAY показывает различия по числу пользователей, размеру базы, нагрузке и требованиям к доступности.
14.09.26
Файловая или клиент-серверная 1С: что выбрать и когда пора переходить

При развертывании 1С один из первых архитектурных вопросов — использовать файловую информационную базу или клиент-серверный вариант с сервером 1С и СУБД. Универсального ответа здесь нет: более…

Автор: Редакция блога

Мы используем файлы cookie и сервис веб-аналитики Яндекс Метрика для улучшения работы сайта. Оставаясь на сайте, вы соглашаетесь с Политикой конфиденциальности.