Microsoft sql server для 1с предприятие 8.3.

Преимущества использования 1С:Предприятие на основе Microsoft SQL Server

При использовании файловых версий системы с увеличением количества рабочих мест или усложнением операций (большие объемы данных для отчетности или формирования реестров, журналов документов, большое количество одновременных запросов на формирование отчетов и т.п.) снижается производительность работы: требуется все больше времени на выполнение тех же задач. При этом увеличение ресурсов сервера или пропускной способности сети ощутимого роста производительности не дает. Решением является переход на клиент-серверный вариант работы 1С:Предприятия.

Вы можете использовать в разговоре с техническими специалистами следующие аргументы в пользу SQL Server:

  • Более высокая производительность за счет использования индексирования и секционирования таблиц в СУБД
  • Автоматическое задействование аппаратных ресурсов по мере роста нагрузки, параллельное выполнение запросов
  • Рациональное использование дискового пространства за счет возможности сжатия данных в базе SQL Server до 50% от исходного объема - реже требуется приобретение новых носителей по мере роста объемов хранимых данных
  • Более высокая степень надежности за счет технологий обеспечения отказоустойчивости и резервного копирования данных в SQL Server.

Дополнительная информация:

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

SQL Server 2014 упрощает и делает более экономичной разработку высокоэффективных приложений для критически важных задач, корпоративных активов с большими данными и решений для бизнес-аналитики, благодаря чему сотрудники могут быстрее принимать обоснованные решения. Эти продукты можно развертывать как локально, так и в облаке, а также в гибридной среде. Управление ими осуществляется при помощи знакомого набора средств.

Критически важная производительность

SQL Server 2014 ускоряет работу критически важных приложений за счет новой технологии обработки в памяти OLTP, обеспечивающей повышение производительности в 10 раз в среднем и в 30 раз при обработке транзакций. Что касается хранения данных, новое обновляемое хранилище столбцов данных в памяти обрабатывает запросы в 100 раз быстрее, чем традиционные решения. Уже 5 лет подряд SQL Server подтверждает свой статус самой безопасной базы данных. (Всесторонняя база данных уязвимостей, составленная Национальным институтом стандартов и технологий 17 апреля 2013 г., доля рынка из исследования IDC за 2013 г.)

Быстрое получение результатов анализа любых данных

Получайте результаты анализа быстрее благодаря платформе бизнес-аналитики, которая ускоряет доступ, анализ, очистку и формирование внутренних и внешних данных. SQL Server 2014 и Power BI для Office 365 упрощают доступ пользователей к необходимым данным, что позволяет им быстрее принимать обоснованные решения.

Платформа для гибридного облака

SQL Server 2014 разработан для использования в гибридной среде, включающей как локальные, так и облачные ресурсы, и содержит новые средства, упрощающие создание решений для резервного копирования и аварийного восстановления с помощью Microsoft Azure. Эти средства обеспечивают быстрый перенос баз данных SQL Server в облако с локальных ресурсов, что позволяет клиентам использовать существующие навыки и преимущества глобальных центров обработки данных Microsoft.

Документация по продукту SQL Server 2014:
http://msdn.microsoft.com/ru-ru/library/dd631854(v=sql.10).aspx

Требования к оборудованию и программному обеспечению для установки SQL Server 2014.

Рассмотрим вопросы установки и настройки MS SQL Server для 1С.

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

В зависимости от этого можно обозначить следующие варианты:

  • Вариант 1. Предприятие, с количеством операций в день до 500;
  • Вариант 2. Предприятие, с количеством операций в день более 500, но в основном не интерактивных (загрузка платежей из Интернета и банк-клиента, загрузка заказов из Интернет-магазина, автоматическое формирование складских и транспортных операций и т.д.);
  • Вариант 3. Предприятие, с количеством операций в день более 500, большинство из которых являются интерактивными, т.е. инициируются и оформляются пользователями.

Для первых двух вариантов MS SQL Server можно устанавливать на том же сервере, где установлен 1С, что особенно актуально, скорее, для второго варианта при условии соблюдения требований по «железу». А вот в третьем случае MS SQL Server нужно устанавливать только на отдельный сервер.

Рассмотрим характеристики «железа» для всех трех случаев

В случае установки на отдельный сервер:

Процессор

  • Вариант 1. Не ниже 1.8 ГГц (желательно 2-х ядерный)
  • Вариант 2. Не ниже 2х2ГГц с числом ядер не менее 2-х
  • Вариант 3. Не ниже 4х3ГГц с числом ядер не менее 4-х
  • Вариант 1. Не менее 8 ГБ
  • Вариант 2. Не менее 32 ГБ
  • Вариант 3. Не менее 128 ГБ

Дисковая подсистема

  • Вариант 1. SAS не менее 120 ГБ
  • Вариант 2. SAS не менее 500 ГБ (желательно SSD)
  • Вариант 3. SAS не менее 1 ТБ (рекомендуется SSD)

Сетевое подключение

  • Вариант 1. Не менее 1 Гб/сек
  • Вариант 2. Не менее 1 Гб/сек (желательно оптика)
  • Вариант 3. Не менее 1 Гб/сек (рекомендуется оптика)

В случае совместной установки с сервером 1С Предприятия:

Процессор

  • Вариант 1. Не ниже 2х2ГГц с числом ядер не менее 2-х
  • Вариант 2. Не ниже 4х3ГГц с числом ядер не менее 4-х
  • Вариант 1. Не менее 32 ГБ
  • Вариант 2. Не менее 128 ГБ
  • Вариант 3. Категорически запрещено так делать

Дисковая подсистема

  • Вариант 1. SAS не менее 500 ГБ (желательно SSD)
  • Вариант 2. SSD не менее 1 ТБ
  • Вариант 3. Категорически запрещено так делать

Сетевое подключение

  • Вариант 1. Желательно 1 Гб/сек
  • Вариант 2. Желательно 1 Гб/сек
  • Вариант 3. Категорически запрещено так делать

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

Теперь перейдем непосредственно к процессу установки MS SQL Server для 1С в варианте MS SQL Server 2014 на операционную систему MS Windows Server 2012

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

Запустить установку MS SQL Server для 1С под администратором.


В открывшемся окне на правой панели выбираем «Установка».


Начнется установка MS SQL Server для 1С. В ходе установки вас попросят ввести ключ продукта и ознакомиться с условиями лицензирования. После этого необходимо выбрать роль сервера, выбрав «Установка компонентов MS SQL Server».


Следующим шагом будет выбор устанавливаемых компонентов. Обычно они все выделены, но если нет, то жмите кнопку «Выделить все».



Ничего не меняйте, т.е. жмите «Далее», пока не возникнет окно «Настройка компонента Database Engine». В этом окне на первой закладке укажите пользователя «sa» и задайте его пароль (можно назначить и пользователя Windows, но более безопасным считается пользователь «sa»).


На двух других закладках можно настроить новые каталоги для хранения пользовательских БД (но лучше не менять).

Теперь вы установили MS SQL Server для 1С

«Откроем» наш MS SQL Server для 1С. Для этого переходим в приложения и находим там SQL Server 2014 Management Studio.



После того, как подключились, слева в дереве выбираем «Безопасность», а в нем – «Имена входа». Нажав правую кнопку мыши, выбираем в подменю «Создать имя входа». В открывшейся форме указываем имя пользователя и его пароль (запомните этот пароль и этого пользователя, т.к. именно его вы будете указывать при подключении баз из сервера 1С).



Переходим к «Защищаемые объекты» и устанавливаем право на соединение с SQL, как на рисунке.


Жмем на «Ок». Установка MS SQL Server для 1С и его настройка завершена.

Переходим к подключению базы 1С на сервере 1С

Запускаем консоль администрирования серверов «1С:Предприятие».


Открывшийся диалог заполнить, как это показано на рисунке. <Имя базы на латинице> - укажите имя своей базы. <Имя компа MS SQL Server> - укажите имя компьютера, на который вы ранее установили MS SQL Server для 1С.


Жмем на «Ок». База подключена.

Можно подключить базу прямо из диалога подключения базы 1С.

Для этого запускаем диалог открытия баз 1С и жмем кнопку «Добавить».


В появившемся окне, выбираем «Создание новой информационной базы».


В следующем окне выбираем нужный шаблон в дереве или указываем «Создание новой базы без конфигурации…».

В следующем окне задаем имя базы и указываем, что она будет на сервере «1С:Предприятие».


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


Оптимизация SQL под 1С завершена. Можно запускать и работать.

Описание

Преимущества использования 1С:Предприятие на основе Microsoft SQL Server

При использовании файловых версий системы с увеличением количества рабочих мест или усложнением операций (большие объемы данных для отчетности или формирования реестров, журналов документов, большое количество одновременных запросов на формирование отчетов и т.п.) снижается производительность работы: требуется все больше времени на выполнение тех же задач. При этом увеличение ресурсов сервера или пропускной способности сети ощутимого роста производительности не дает. Решением является переход на клиент-серверный вариант работы 1С:Предприятия.

Вы можете использовать в разговоре с техническими специалистами следующие аргументы в пользу SQL Server:

  • Более высокая производительность за счет использования индексирования и секционирования таблиц в СУБД
  • Автоматическое задействование аппаратных ресурсов по мере роста нагрузки, параллельное выполнение запросов
  • Рациональное использование дискового пространства за счет возможности сжатия данных в базе SQL Server до 50% от исходного объема – реже требуется приобретение новых носителей по мере роста объемов хранимых данных
  • Более высокая степень надежности за счет технологий обеспечения отказоустойчивости и резервного копирования данных в SQL Server.

Дополнительная информация:

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

SQL Server упрощает и делает более экономичной разработку высокоэффективных приложений для критически важных задач, корпоративных активов с большими данными и решений для бизнес-аналитики, благодаря чему сотрудники могут быстрее принимать обоснованные решения. Эти продукты можно развертывать как локально, так и в облаке, а также в гибридной среде. Управление ими осуществляется при помощи знакомого набора средств.

Критически важная производительность

SQL Server ускоряет работу критически важных приложений за счет новой технологии обработки в памяти OLTP, обеспечивающей повышение производительности в 10 раз в среднем и в 30 раз при обработке транзакций. Что касается хранения данных, новое обновляемое хранилище столбцов данных в памяти обрабатывает запросы в 100 раз быстрее, чем традиционные решения. Уже 5 лет подряд SQL Server подтверждает свой статус самой безопасной базы данных.

Быстрое получение результатов анализа любых данных

Получайте результаты анализа быстрее благодаря платформе бизнес-аналитики, которая ускоряет доступ, анализ, очистку и формирование внутренних и внешних данных. SQL Server и Power BI для Office 365 упрощают доступ пользователей к необходимым данным, что позволяет им быстрее принимать обоснованные решения.

Платформа для гибридного облака

SQL Server разработан для использования в гибридной среде, включающей как локальные, так и облачные ресурсы, и содержит новые средства, упрощающие создание решений для резервного копирования и аварийного восстановления с помощью Microsoft Azure. Эти средства обеспечивают быстрый перенос баз данных SQL Server в облако с локальных ресурсов, что позволяет клиентам использовать существующие навыки и преимущества глобальных центров обработки данных Microsoft.

2 февраля 2015 в 16:04

Максимально эффективная по скорости работы - серверная схема, для клиент-серверной 1С 8.х

Предисловие

Постоянно сталкивался с высказываниями ИТ специалистов «сеть нагружена на 20%… процессоры на 50%… очередей к дискам мало… Значит сеть и сервера справляются… смотрите код в 1С проблемы исключительно там».

На самом деле происходило следующее (сервер 1С и SQL разнесены на разные компьютеры): сеть практически использовалась по максимуму(эти "20% загрузки сетевого интерфейса " = «20% полезные данные» + «80% потеря на служебной обработке» ). И соответственно из-за малой ширины канала обмена «полезными» данными - SQL сервер с «Сервером 1С» постоянно ожидали друг друга, что вело к малой утилизации ресурсов CPU и дисковой системы.

Ведение: Сначала хочу заострить внимание на том что же такое 1С платформа?.

Итак начнем с главного 1С - построенная на ORM (объектно-реляционном отображении)-система и программист в ней работает не напрямую с реляционным представлением, а с объектами.
ru.wikipedia.org/wiki/ORM

Программист в среде 1С - пишет объектную логику, а за сборку/разборку и запись объектов в «плоский вид» по таблицам базы данных отвечает сама платформа.

Основные "+" и "-" с точки зрения ORM:

"+" Программист в среде ORM получает преимущество в скорости разработки приложения из-за уменьшения количества кода и его простоты по сравнению с исключительно реляционным программным кодом (пример SQL запросы). А также освобождается от написания кода работающего непосредтсвенно с записями в таблицах Реляционной СУБД.* 1

"-" Сложности для создателей «платформ» ORM и проблемы производительности:

Использование реляционной базы данных для хранения объектно-ориентированных данных приводит к «семантическому разрыву», заставляя программистов писать программное обеспечение, которое должно уметь как обрабатывать данные в объектно-ориентированном виде, так и уметь сохранить эти данные в реляционной форме. Эта постоянная необходимость в преобразовании между двумя разными формами данных не только сильно снижает производительность, но и создает трудности для программистов, так как обе формы данных накладывают ограничения друг на друга.

*1«Уточнение». Несмотря на то, что 1С 8.х позволяет работать с реляционно-подобным кодом (только чтение) в объекте 1С «Запрос» - это все-таки не напрямую один-в-один транслируемый в реляционную СУБД запрос к таблицам хранения данных, а прежде всего «Объектный запрос» - также не минующий стадию сборки разборки объектов. Поэтому зачастую вместо много-тысяче строчных «Объектных запросов» - наиболее оптимально по быстродействию кода и скорости разработки - написать объектный не ряляционно-подобный код.

Глава 1: Расмотрим модель клиент-серверной 1С 8.х

Отмечу основные «узкие» места влияющие на производительность:

1) Первое узкое место - это коммуникационная среда передачи данных .
На рисунке стрелками показаны потоки обмена данными, где «красные» - это Реляционная СУБД<->Объектная СУБ, «оранжевые» - синхронизация между Объектными СУБД.
Т.к. при использовании отдельных серверов для СУБД и кластеров 1С – коммуникационная среда это сетевые соединения – то существуют существенные задержки в передаче данных многочисленными мелкими порциями – как из-за латентности самой физической реализации интерфейсов, так и из-за латентности узлов в этой сети.

Рассмотрим на примере сетевого стандарта Ethernet Gigabit (график зависимости скорости передачи данных… ниже )
на примере работы Сервера 1С с MS SQL (по умолчанию размер коммуникационных пакетов 4 кб) :

На графике видно, что при использовании пакетов ДАННЫХ =4 кб пропускная способность рассмотренной сети всего 250 Мегабит/с. (как правильно заметили в комментария к публикаци: это не пакеты протоколов например уровня TCP , а пакеты ДАННЫХ которые генерируют приложения участвующие в обмене)

Из практики: такое разнесение на Два отдельных сервера
MS SQL (сервер №1)< - Ethernet Gigabit ---> «Сервер 1С»(сервер №1)
проигрывало по скорости работы платформы
на 50%
варианту MS SQL (сервер №1) < - Shared Memory (без сети через участок памяти) ---> «Сервер 1С»(сервер №1)… и это уже «на одном высоконагруженном пользовательском сеансе»

2) Узкое место - это количество отдельных компьютеров «кластеров 1С» , чем их больше тем больше затраты на синхронизацию и как следствие уменьшение производительности системы.

3) Узкое место - количество отдельных процессов сервера 1с , чем их больше тем больше затрат на их синхронизацию… Но тут скорей всего необходимо найти «золотую середину» - для обеспечения стабильности. 2*
2* «Уточнение» - для MS Windows существует такое правило:
Процессы дороже чем потоки, что означает применительно к данному случаю на практике следующее: скорость обмена между двумя потоками внутри одного процесса значительно превышает, скорость обмена между потоками находящихся в разных процессах.

Поэтому например «Файловая 1С 8.х» всегда превышает по скорости однопользовательской работы платформы в клиент-серверном варианте. Все просто т.к. в случае «Файловой 1С 8.х» поток «Реляционной СУБД» общается с потоком «Объектной СУБД» внутри одного единого процесса.

4)Узкое место – одно-поточность пользовательского сеанса , т.к. каждый отдельно взятый - пользовательский сеанс не распараллеливается платформой на несколько, то его работа ограничивается использованием ресурсов одного ядра CPU => следовательно желательна максимальная скорость каждого ядра, в этом случае быстродействие платформы 1C например на 10-ядерном CPU по 1 ггц - будет значительно уступать быстродействию платформы на 4-ех ядерном CPU по 3 Ггц – естественно до определенного количества потоков.

Глава 2(Итог): Рассмотрим не масштабируемый и масштабируемый варианты - наиболее эффективных схем для платформы 1с 8.х. для OS Windows (пологаю для Linux ситуация аналогична)

1-Вариант(не масштабируемый). В расчете на 100 «высоконагруженных пользовательских сеанса»

1) эффективен обычный 2-ух сокетный сервер с 4-ех ядерными CPU по 3 Ггц.

3) MS SQL < - Shared memory --> «Сервер 1С»

2-Вариант(масштабируемый). начиная со 100 «высоконагруженных пользовательских сеанса» и далее ….
Тут логичней всего пойти по пути немецкой 1с-ки «Sap HANA»))
Собирать модульный «Супер-компьютер» от фирмы SGI – состоящий из «лезвий» на 2-х сокетных материнских платах, каждое лезвие соединяется друг с другом сложной топологией сверх-быстрого интерконнекта на основе NUMA-чипов, и все находится под управлением единой OS. Т.е. программы внутри такого сервера по определению имеют доступ к ресурсам любого «лезвия».

1) добавляем «лезвия» по необходимой нагрузке… из расчета примерно одно «лезвие» на 100 пользователей.

2) быстрая дисковая система на SSD

3) MS SQL < - Shared memory --> «Сервер 1С»


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

Рассмотрим наиболее важные моменты в установке и последующей настройке сервера и баз данных, чтобы оптимизировать работу 1С.

Установка MS SQL Server

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

Выбор и настройка компонентов

Для работы MS SQL Server c 1С Предприятие достаточно выбрать следующий набор компонент:

  • Службы компонента Dtabase Engine
  • Средства связи клиентских средств
  • Средства управления — основные
  • Средства управления — полный набор (полный набор нам будет необходим для создания плана обслуживания)

Важно! Каталог общих компонентов лучше указывать на отдельном диске (отдельно от операционной системы). Это повысит скорость работы и отказоустойчивость.

Конфигурация сервера

Для запуска служб Агент SQL Server и SQL Database Engine указываем учетную запись. Можно создать отдельнную учетную запись с правами администратора, либо указать учетную запись Администратор. Однако стоит помнить — если Вы решите когда-нибудь сменить пароль для учетной записи, которую здесь указали, то и служба перестанет запускаться. Поэтому используйте учетную запись в которой не планируете менять пароль.

Настройке компонента Databse Engine

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

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

Настраиваем брэндмауэр для работы mssql и 1С Серверa

Создаем правила разрешающее входящие подключения на порт 1433 для MS SQL и 1541-1560 для 1С Сервера

Создаем правило для программы. Путь до программы будет выглядеть примерно так
C:\Program Files\Microsoft SQL Server\MSSQL13.\MSSQL\Binn\sqlservr.exe

Настройка свойств сервера Ms SQL для работы с 1С

Запускаем Microsoft SQL Server Management Studio и подключаемся к серверу.

Открываем окно свойств сервера и переходим к пункту Память. Выставляем максимально допустимое значение выделения памяти под нужды SQL сервера. Если этого не сделать он скушает всю свободную память, потому-что по-умолчанию стоит значение 2147483647 МБ. Допустимое значение памяти можно рассчитать по формуле (использовал опыт Алексея Новоселова с Infostat.ru):
[Общее количество оперативной памяти сервера] – – Например если у нас на сервере всего 36 ГБ оперативной памяти, стоит Windows 2008 и запущено 8 процессов rphost то рассчет идет так: 36 — 4 — 1.5*8 = 20 ГБ ставим ограничение для SQL.

Переходим к пункту Процессор. Максимальное число рабочих потоков так же лучше установить вручную и задать значение 2048 так как при значении 0 число потоков может не превышать 255. Включаем параметр Поддерживать приоритет SQL.

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

Настройка рабочей базы 1С Предприятия

Открываем свойства настраиваемой базы данных.

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

1. Простая. Ее нужно использовать в том случае, когда вы планируете делать бэкап раз в день и для вас не имеет значения возможность восстановления с точностью до определенного момента. Это может быть 1С Бухгалтерия или ЗУП где нет большого количества ежедневных транзакций. Делаете один бэкап каждую ночь и спите спокойно. Никаких сложностей.

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

Когда мы определились с моделью восстановления можно перейти к пункту [Файлы]

Настройку типа файла [Журнал] можно пропустить если используется простая модель восстановления.
Если используется полная то необходимо скорректировать настройки.Авторасширение установим 50МБ. Стоит обратить внимание на ограничение авторасширения и его лучше изменить т.к. значение по-умолчанию больше 2Тб. При большом количестве транзакций, например розничные продажи в 1С Розница, журнал транзакций будет расти очень быстро и вскоре у вас закончится свободное место на накопителе. Поэтому ограничение лучше установить на 10ГБ. Но это всего-лишь рекомендация, потому-что все индивидуально и зависит от количества транзакций.

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

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

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

Похожие статьи