Как подключить 1с к sql
Перейти к содержимому

Как подключить 1с к sql

  • автор:

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

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

(Работа 1C в связке MS SQL 2016 (sp1) Standard и Сервер 1С 8.3)

Конечно, данная тема также подымается и на курсе: Администратор 1С!

Первое что нужно сделать, так это убедиться что «Сервер 1С» работает.

Как установить Сервер 1С 8.3 писал вот здесь.

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

Затем стоит проверить видит ли сервер СУБД – Сервер 1С, простой команды «PING» будет достаточно, если конечно Вы отключили брандмауэр или открыли нужные порты.

Если сетевой экран у вас все же включен тогда нужно открыть порты.

MS SQL принимает подключения на стандартный порт TCP 1433, а Сервер 1С требует открытого 1541.

Бывают случаи, когда Серверу 1С этого мало тогда следует, открыть диапазон портов 1540-1591.

Теперь собственно о создании информационной базы 1С.

Фирма 1С рекомендует создавать новую информационную базу не средствами кластера серверов, (Как это обычно делают по причине, что так проще).

А создавать ее нужно на сервере СУБД средствами MS SQL. Затем уже на кластере серверов только подключить.

Что ж давайте разберем по порядку как все это проделать.

Запускаем оснастку «Management Studio »

Management Studio MS SQL 2016

Management Studio MS SQL 2016

Авторизуемся в Management Studio.

Managmant_studio_msSQL_2016_2Managmant_studio_msSQL_2016_3

Далее в обозревателе объектов, правый клик мышкой на папке «Базы данных» и «Создать базу данных…».

Sozdat_Bazu_dannyh_1s_na_SUBD_MSSQL_2016

Укажем имя базы и клик по кнопке «ОК».

Sozdat_Bazu_dannyh_1s_na_SUBD_MSSQL_2016_2

Теперь после того как база данных физически создана на сервере СУБД, мы идем на

«Сервер 1С». А точнее запускаем утилиту администрирования серверов.

Server_1s_01

Разворачиваем кластер и делаем правый клик мышкой по объекту «Информационные базы» – «Создать» – «Информационная база».

Server_1s_02

Заполняем следующие поля:

Зарегистрируйтесь, чтоб продолжить чтение статьи
Зарегистрироваться / Войти

Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>

Создать базу 1с на MS SQL Server

Для данного эксперимента используется программное обеспечение:

  • 1с 8.3.18.1741;
  • Microsoft SQL Server 2019 Developer;
  • SQL Server Management Studio v18.9.2;
  • Windows 10 версия 21H2 (сборка ОС 19044.1566).

Железо — Ноутбук Acer Aspire E5-573-58KB:

  • CPU — Intel Core i5 5200U @ 2.20GHz;
  • RAM — 16,0ГБ Dual-Channel DDR3 @ 798MHz;
  • Storages — 232GB Samsung SSD 870 EVO 250GB (SATA (SSD)) и 931GB TOSHIBA MQ01ABD100 (SATA ).

Запускаем Management Studio через меню Пуск:

Запуск management studio через Пуск

Также можно запустить командным способом: Win+R далее вводим команду SSMS далее OK:

Запуск management studio командным способом

Далее неоходимо будет выбрать пользователя для входа в систему, в данном случае был выбран пользователь из-под которого был установлен MS SQL Server, который является администратором в данном экземпляре SQL Server. Жмём «Соединить»(Connect):

Выбо пользователя для подключения

Если небходимо подключиться к удалённому серверу без доменной авторизации, то необходимо будет использовать «Проверка подлинности SQL Server»(SQL Server Authentication):

Выбор способа подключения

И далее в соответствующих полях необходимо ввести логин(Имя для входа) и пароль — вводим все данные и жмём Соединить:

sql авторизация

После успешного подключения в левой части экрана будет модальное окно «Обозреватель объектов»(Object Explorer):

Обозреватель объектов

Кликаем правой кнопкой мыши на «Базы данных»(Databases) и кликаем левой кнопкой мыши на пункт «Создать базу данных. «(New Database. )

Выбор пунка Базы Данных

Во всплывшем окне «Создание базы данных» (New Database) во вкладке «Общие»(General) в поле «Имя базы данных»(Database name) придумываем название базы на латинице, например: db_for_1c и желательно НЕ начинать имя базы данных с цифры, т.к. если вам придётся использовать запросы SELECT и другие — придётся всегда заключить имя базы в квадраные скобки [имя_базы_данных]:

Вкладка общие имя базы

Следующий этап создания можете не реализовывать, а оставить как показано на предыдущем скринте нажав на кнопку ОК база будет создана.

Но всё же рекомендую создать хотя бы одну файловую группу с парой файлов в ней. Это может пригодиться если база расрастётся до больших размеров и на один диск не будет помещаться, тогда файлы можно разместить на разные диски.

Приступим к созданию файловой группы и файлов.

Переходим во вкладку «Файловые группы»(Filegroups) и жмём «Добавить файловую группу»(Add) в поле «Имя»(Name) пишем придуманное имя, например: db_for_1c_fg1 и обязательно делаем её файловой группой по умолчанию уставновив птичку в поле «По умолчанию»(Default). Смысл делать нашу файловую группу по умолчанию в том, что когда 1с будет создавать таблицы с данными, то данные будут записываться во все файлы прикреплённые к файловой группе по умолчанию, а в PRIMARY останутся только метаданные.

Создание файловой группы по умолчанию

Не нажимая ОК снова переходим во вкладку «Общие»(General) и нажимаем кнопку «Добавить»(Add): в поле «Логическое имя»(Logical Name) придумываем уникальное(для данной базы) логическое имя файла, например: db_for_1c_file1, в поле «Путь»(Path) менять путь к файлу на нужный или оставляем по умолчанию если всё устраивает. В данном примере создано 2 файла. В поле «Имя файла»(File Name) — это уже имя физического файла, придумываем название файла, но можно и оставить его пустым, тогда SQL Server сам создат имя. Жмём «ОК».

Создание физических файлов

Ура! Наша база создана: ниже на скрине слева — наша база в SQL Server, справа — на диске.

Теперь необходимо создать логин, с помощью которого будем подключать нашу базу к 1с.

Правой кнопкой мыши щёлкаем по «Безопасность»(Security) наводим мышь на «Создать»(New) и жмём на «Вход»(Login)

Создание логина

В появившемя окне «Создание имени для входа»(Login — New) во вкладке «Общие»(General) делаем следующее:

В поле «Имя для входа»(Login name) придумываем название логина, например: db_for_1c_user.

Выбираем «Проверка подлинности SQL Server»(SQL Server authentication).

Придумываем сложный пароль и подтверждаем его в полях «Пароль»(Password) и «Подтверждение пароля»(Confirm Password).

Оставляем птичку только на «Требовать использование политики паролей»(Enforce password policy)

Создаём логин и пароль

И не нажимая ОК переходим во вкладку «Сопоставление пользователей»(User Mapping).

В колонке «Схема»(Map) ставим птичку напротив нужной нам базы и в блоке «Членство в роли базы данных для: db_for_1c»(Database role membership for: db_for_1c) ставим птичку напротив db_owner, таким образом мы делаем нашего пользователя хозяином данной базы, чтобы 1с могла выполнять нужные ей действия. При этом не даём админских прав данному логину.

Связываем логин с базой

И жмём на ОК — наш пользователь db_for_1c_user создан и свзяна с базой db_for_1c.

Для проверки можно создать новое подключение с «Проверка подлинности SQL Server»(SQL Server Authentication):

В «Обозреватель объектов»(Object Explorer): кликаем на «Соединить»(Connect) затем «Ядро СУБД»(Database Engine. )

Новое соединение

В появившемся окне вводим новые логин и пароль и жмём на «Соединить»:

Новое соединение с новым логином

Таким образом подключились из-под данного логина и смогли посмотреть список таблиц:

Обзор баз данного логина

Но если мы попытаемся посмотреть таблица другой базы данных, например TSQLV4, то она будет нам недоступна:

Другие базы недоступны

Вся работа по части SQL Server выполнена — переходим к 1с.

Запускаем Администрирование серверов 1с

Администрирование серверов 1с запуск

Заходим в «Локальный кластер» правой кнопкой кликаем на «Информационные базы» далее «Создать» и левой кнопкой мыши «Информационная база»

Информационная база

В появившемся диалоговом окне заполняем параметры:

«Имя:» и «База данных:» могут иметь разное название, но для удобства обслуживания назовём их одинаково. Сервер баз данных может быть и удалённым, тогда надо ввести другой IP или доменное имя сервера баз данных, где эта база создана. Жмём ОК.

Заполнение параметров 1с

База подключена к 1с.

База в кластере 1с

Так же для подтверждения, что база подключена можно обновить базу в Management Studio и развернуть «таблицы» в базе db_for_1c таблицы появились:

Таблицы созданной базы

Теперь запускаем ярлык 1с предприятие с рабочего стола:

ярлык

и жмём на кнопку «Добавить»

ДОбавление базы в список

Выбираем «Добавление в список существующей информационной базы» и жмём далее:

Выбираем из сущесвующей

Наименование базы можно указать как на латинице так и на кирилице.

В «кластер серверов» прописываем IP или доменное имя сервера где установлена серверная часть 1с, в данном случае они совпадают: клиентская часть, серверная часть и субд установлена на одном компьютере, так что IP одинаков. Порт по умолчанию 1541, но возможны и другие варианты, но об этом в следующий раз. И жмём «Далее»

Прописываем кластер

готово

База появилась в списке, жмём на кнопку «1с:Предприятие»

Запускаем 1с

Чистая база запустилась, значит всё сделано правильно:

Чистая база запущена

Теперь запустим конфигуратор данной базы и зальём в нашу новую базу свёртку(файл .dt) другой базы:

Запуск конфигуратора

Выбираем Администрирование->Загрузить информационную базу

Загузить информационную базу

Выбираем заранее подготовленный файл test.dt жмём «Открыть»

Файл dt

Данный шаг затрёт предыдущую базу, поэтому 1с выдаёмт нам предупреждение, но в нашем случае нажимаем «Да»

Предупреждение 1с

После начинается продолжительная загрузка базы. Ждём!

Процесс загрузки dt

База успешно загрузилась, о чём нам говорит сообщение, жмём нет, чтобы на заходить в конфигуратор, т.к. на данный момент этого нам не надо:

Готово

Также обратите внимание как разрослись файлы баз данных:

Увеличение размеров файлов

Снова с рабочего стола запускаем ярлык 1с и заходи в нашу базу:

Запускаем базу

Выбираем логин и вводим пароль, в данном случае нужно выбрать только логин, т.к. пароль отсуствует:

Установка и базовая настройка MS SQL 2019 для 1С

Существуют два варианта работы с системой 1С:Предприятие: файловый вариант и клиент-серверный вариант. В нашем случае, мы будем рассматривать настройку СУБД MS SQL Server 2019, расположенного физически на одном и том же сервере, где работает кластер серверов 1С:Предприятия.

Тестовый стенд представляет из себя виртуальную машину со следующими характеристиками:

  • Процессор: Intel(R) Xeon(R) CPU E5-2667 v4 @ 3.20GHz, 3200 МГц, ядер: 4, логических процессоров: 4.
  • ОЗУ: 18 Гб.
  • Диск С: (системный) — 70 Гб.
  • Диск Е: (диск для баз данных) — 50 Гб.

У нас вы можете взять готовый сервер 1С в аренду с MS SQL 2019 и всеми необходимыми настройками.

Записки IT специалиста

Установка и настройка MS SQL Server для 1С:Предприятие

  • Автор: Уваров А.С.
  • 17.01.2014

1cv8-mssql-000.jpgТему установки MS SQL Server обычно обходят стороной. Действительно, трудно не установить эту СУБД, даже делая это в первый раз, столь же трудно не запустить в связке с ней Сервер 1С:Предприятия. Однако есть ряд неочевидных тонкостей, которые способны существенно отравить жизнь администратору, о чем мы сегодня и расскажем.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

MS SQL Server занимает первое место по количеству внедрений в связке с 1С:Предприятием, во многом это объясняется низким порогом вхождения, осилить данную связку вполне способен человек без опыта, сугубо по методу Next — Next — Finish. И, что самое интересное, все это будет работать. Скажем больше, в подавляющем большинстве случаев настройки SQL-сервера по умолчанию более чем достаточно для обеспечения производительной работы сервера 1С:Предприятия и трогать их не только не нужно, но даже вредно.

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

Прежде всего следует вспомнить про системную базу tempdb, которая активно используется 1С для хранения временных таблиц и промежуточных результатов. Причем она используется сразу всеми базами 1С, работающими на сервере. А так как по умолчанию она располагается в папке установки SQL-сервера, т.е. на системном диске, то при увеличении нагрузки именно tempdb становится бутылочным горлышком для всего сервера. Очень часто это приводит к ситуациям: купили быстрые HDD / SSD, дисковых ресурсов хватает, а 1С тормозит, что способно вызвать у начинающих администраторов серьезные затруднения.

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

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

Подготовка к установке

Еще на стадии планирования следует уделить некоторое внимание дисковой подсистеме. Для хранения пользовательских баз данных и системной базы tempdb следует выделить отдельный раздел, а еще лучше дисковый массив из быстрых дисков или SSD. В нагруженных системах имеет смысл разнести базы данных и журналы транзакций по разным дисковым массивам. Также рекомендуется отформатировать эти разделы с размером кластера в 64 КБ.

1cv83-mssql-001.png

Установка MS SQL Server для работы с 1С:Предприятие

Как мы уже говорили, установка SQL-сервера предельно проста, и мы не будем описывать этот процесс подробно, обратив внимание лишь на необходимые настройки. Начнем с выбора компонентов, так как 1С не использует большинство механизмов SQL-сервера и если вы не собираетесь их использовать для иных целей, то оставляем только Службы ядра СУБД и Соединения с клиентскими средствами. В предыдущих версиях эти компоненты назывались Database Engine, Средства связи клиентских средств, также в них можно опционально установить Средства управления (однако лучше установить свежую версию средств управления отдельно).

1cv83-mssql-002.png

На закладке Учетные записи служб обязательно установите флаг Предоставить право на выполнение задач обслуживания тома службе ядра СУБД SQL Server.

1cv83-mssql-005.png

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

1cv83-mssql-003.png

В Конфигурации сервера укажите Смешанный режим проверки подлинности и задайте пароль суперпользователю SQL — sa. Также укажите ниже администраторов данного экземпляра SQL-сервера, как минимум следует добавить текущего пользователя, но если администрировать данный экземпляр будут другие ваши коллеги, то имеет смысл сразу их указать.

1cv83-mssql-004.png

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

1cv83-mssql-006.png

Современные версии MS SQL содержат отдельную закладку TempDB, для настройки одноименной базы, в предыдущих версиях данных настроек нет и о том, как настроить данную базу будет рассказано ниже. Здесь же мы выставляем для базы: количество файлов — 4, начальный размер — от 1 ГБ до 10 ГБ, авторасширение — 512 МБ, аналогичный размер и авторасширение устанавливается для файла журнала. Также не забываем проконтролировать размещение TempDB на отдельном разделе/диске.

1cv83-mssql-007.png

Остальные настройки можно оставить по умолчанию и завершить установку.

Для управления сервером СУБД следует скачать и установить SQL Server Management Studio (SSMS), ее можно установить как на сервер, так и на компьютер администратора, чтобы управлять с него всеми доступными SQL-серверами. Никаких особенностей в установке SSMS нет.

Настройка операционной системы

Если у вас имеется уже установленный экземпляр MS SQL, либо вы не выполнили всех рекомендаций по установке, то следует проверить ряд настроек операционной системы. Запустим редактор локальной политики безопасности secpol.msc и перейдем в раздел Локальные политики — Назначение прав пользователя. Откроем политику Выполнение задач по обслуживанию томов и убедимся, что в списке пользователей присутствует учетная запись от имени которой работает SQL Server — NT SERVICE\MSSQLSERVER.

1cv83-mssql-008.png

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

1cv83-mssql-009.png

Если ваш экземпляр MS SQL Server установлен отдельно от Сервера 1С:Предприятие, то выполните аналогичную настроку для политики Блокировка страниц в памяти.

Настройка MS SQL Server для работы с 1С:Предприятие

Если вы имеете дело с уже установленным экземпляром SQL-сервера, убедитесь, что кодировка сравнения Cyrillic_General_CI_AS, для этого откройте Managment Studio, выберите необходимый экземпляр SQL-сервера и щелкнув на нем правой кнопкой мыши перейдите к Свойствам:

1cv83-mssql-010.png

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

Затем перейдите к закладке Память, за основу для расчетов принимается объем выделенного SQL-серверу размера памяти (RAM). Обычно это объем памяти сервера за вычетом ОЗУ для ОС и иных служб, например, Сервера 1С:Предприятие. Для сервера с объемом ОЗУ в 32 ГБ мы будем исходить из доступного объема в 24 ГБ, выделив 8 ГБ для ОС и сервера 1С. Но данные соотношения не являются эталоном и в вашем случае это могут быть иные числа.

Для расчета минимального объема памяти применяется формула:

Для максимального применяется полный размер RAM, за вычетом 1 ГБ на каждые выделенные 16 ГБ ОЗУ (все объемы указываются в МБ):

1cv83-mssql-011.png

В разделе Параметры базы данных можно проконтролировать места хранения пользовательских баз и журналов, а также изменить их при необходимости. Все изменения будут применены только к вновь создаваемым базам данных, уже существующие БД потребуется перенести в новое расположение вручную (если в этом есть необходимость).

1cv83-mssql-012.png

В разделе Дополнительно — Параллелизм установите параметр:

1cv83-mssql-013.png

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

Для этого раскройте Безопасность — Имена для входа и создайте новое имя (учетную запись), укажите проверку подлинности SQL-сервер и задайте пароль.

1cv83-mssql-014.png

Затем перейдите на закладку Роли сервера и разрешите dbcreator, processadmin и public.

1cv83-mssql-015.png

После чего используйте для подключения к SQL-серверу из 1С именно эту учетную запись.

Все создаваемые базы данных создаются на основе служебной базы model и к ним применяются все настройки этой БД, поэтому перейдем в Базы данных — Служебные базы данных и откроем свойства базы model. В разделе Файлы укажите значения начального размера базы от 1 ГБ до 10 ГБ, начальный размер журнала транзакций от 1 ГБ до 2 ГБ и авторасширение в 512 МБ. Выбирая начальный размер базы, нужно исходить из соображений чтобы размер файла превосходил загружаемый размер образа информационной базы 1С.

1cv83-mssql-016.png

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

1cv83-mssql-017.png

Для уже существующих баз потребуется выполнить аналогичные настройки, за исключением параметра Начального размера, его следует выставить больше, чем текущий размер файлов базы и лога транзакций. Для базы данных желательно указать планируемый размер БД за длительный период эксплуатации, а для файла журнала размер, исключающий его авторасширение в процессе работы.

После внесения всех изменений в конфигурацию службу SQL сервера потребуется перезапустить.

Настройка сетевых протоколов

Для настройки сетевых протоколов откроем Диспетчер конфигурации SQL Server и перейдем в раздел Сетевая конфигурация SQL Server — Сетевые протоколы для MSSQLSERVER, где MSSQLSERVER — имя вашего экземпляра, и установим следующие настройки:

1cv83-mssql-018.png

  • Общая память (Shared Memory) — Включено
  • Именованные каналы (Named pipes) — Отключен
  • TCP/IP — Включено

Настройка базы tempdb

В предыдущих версиях MS SQL Server нет возможности настроить параметры базы tempdb при установке, также вы могли выполнить установку со значениями по умолчанию, либо вам достался уже установленный экземпляр, в этих случаях нужно произвести дополнительную настройку. Откроем Managment Studio и перейдем в Базы данных — Служебные базы данных в свойства базы tempdb. В разделе Файлы разобьем базу на четыре файла данных и установим для них начальный размер от 1ГБ до 10 ГБ, но не менее текущего размера файла, авторасширение — 512 МБ. Аналогичные настройки установим и для файла журнала.

1cv83-mssql-019.png

Перенос базы tempdb

Довольно часто встречаются ситуации, когда tempdb требуется перенести в другое место. Например, сервер был установлен с параметрами по умолчанию и tempdb находится на системном разделе, или вы приобрели SSD и хотите перенести туда не только базы, но и tempdb (что является правильным решением). Также при большой нагрузке на tempdb его рекомендуется выносить на отдельный диск.

Для того, чтобы изменить место расположения файла tempdb откройте Managment Studio, выберите Создать запрос и в открывшемся окне введите следующий текст, где E:\NEW_FOLDER — новое расположение для базы:

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

Создав запрос нажмите Выполнить, после выполнения запроса перезапустите SQL-сервер, файлы базы и лога tempdb будут созданы в новом месте, файлы по старому расположению следует удалить вручную.

1cv83-mssql-020.png

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *