Настройка sql сервера для 1с 8.3 гилев. Обновление статистики базы данных


В целом настройка 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С не будет запускаться. Чтобы журнал транзакций своевременно очищался необходимо настроить его бэкап в плане обслуживания базы данных. О том как создать план обслуживания базы данных читайте .

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

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

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С»

Для понимания нижеописанного необходимо разъяснить два понятия:

  • Клиент – персональный компьютер или программное обеспечение, единица сети, генерирующая запросы к серверу с целью получения или обработки каких-либо данных;
  • Сервер – мощный компьютер со значительными производственными возможностями или программное обеспечение, формирующий ответы на запросы клиента.

Клиент-серверная архитектура предполагает взаимодействие клиентского приложения с сервером информационных баз данных посредством специального приложения – сервера 1С:Предприятия.

Установка MSSQL на серверную машину описывается во многих руководствах с возможной вариативностью в зависимости от SQL-версии и версии серверной операционной системы.


1. В имеющемся дистрибутиве необходимо запустить файл установки setup.exe (для продолжения потребуются Microsoft.NET Framework и операционный установщик Windows Installer, тоесть желательно чтобы он был установлен предварительно).

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

3. Необходимо ввести ключ продукта, полученный при покупке лицензионной программы.

4. После на следующем этапе необходимо установить галочку, что принимаете условия лицензионного соглашения:




Переход к последующему шагу осуществляется при нажатии кнопки Next («Далее»).


5. Получаем доступные обновления.

6. Проходим проверку конфигурации (Warning MSCS пропускаем):


7. Выбираем вариант целевого назначения установки:




8. Выбираем компоненты, которые нам необходимы; можно выбрать все (Select All), но вообще для поставленной задачи достаточно основных, а именно для взаимодействия с сервером 1С необходимы только 3 (DatabaseEngineServices [рус.-Службы компонента DatabaseEngine], ClientToolsConnectivity [рус.- Средства связи клиентских средств], ManagementTool [рус.- Средства управления - полный набор]):




9. Еще одна проверка установочной конфигурации:



10. Детальный отчет. Если предварительно не установлен «Microsoft .NET Framework 3.5», то на данном этапе выдаст ошибку. Нажимаем кнопку «Next»:







12. Проверка доступного пространства на выбранном диске:




13. Настройки на последующих шагах рекомендуется оставить по умолчанию (хотя можно завести отдельного пользователя для MSSQL), переход осуществляется по кнопке Next (обратите внимание, чтобы загрузка SQL Service Agent (Агент Службы SQL) была установлена как автоматически):


14. Еще один важный этап – выбор порядка сортировки (Collation). После инсталляции изменить крайне проблематично:




15. В следующем шаге необходимо выбрать возможность смешанного варианта запуска, добавить пароль для пользователя "sa" и добавить текущего пользователя, который будет обладать правами администратора системы (кнопка «Add Current User»):



Преимущества использования 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.

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

Установка технологической платформы и конфигурации на локальный диск

Поскольку ни одно прикладное решение 1С не может работать без своего движка – платформы – установка на локальный компьютер делится на два принципиальных шага:

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

Установка сервера 1С:Предприятие на MSSQL

Для понимания нижеописанного необходимо разъяснить два понятия:

  • клиент – персональный компьютер или программное обеспечение, единица сети, генерирующая запросы к серверу с целью получения или обработки каких-либо данных;
  • сервер – мощный компьютер со значительными производственными возможностями или программное обеспечение, формирующий ответы на запросы клиента.

Клиент-серверная архитектура предполагает взаимодействие клиентского приложения с сервером информационных баз данных посредством специального приложения – сервера 1С:Предприятия.

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

  1. В имеющемся дистрибутиве необходимо запустить файл установки setup.exe (для продолжения потребуются Microsoft.NET Framework и операционный установщик Windows Installer):
  2. Предлагается несколько вариантов дальнейшего развития событий: первичная установка, модификация уже установленных компонентов, обновление или их поиск. На этом этапе программа проверяет соответствие минимальным требованиям MSSQL к операционной системе:
  3. Необходимо ввести ключ продукта, полученный при покупке лицензионной программы. После внимательного и вдумчивого прочтения лицензионного соглашения на английском языке необходимо установить свое согласие в виде галочки:

    Переход к последующему шагу осуществляется при нажатии кнопки Next («Далее»).

  4. При нажатии на кнопку Install предлагается множество настроек, галочки в которых устанавливаются по необходимости: можно выбрать все (Select All) или только самые необходимые (DatabaseEngineServices, ClientToolsConnectivity, ManagementToolBasic с включением подчиненных составляющих):
  5. Настройки на последующих шагах рекомендуется оставить по умолчанию, переход осуществляется по кнопке Next:
  6. Выбираются директории для хранения пользовательских данных (база SQL 1C), логов, временных файлов и файлов резервного копирования информационных баз (бэкапов).
  7. Следующий шаг добавляет текущего пользователя, который будет обладать правами администратора системы (кнопка «Add Current User»):
  8. Настройки на последующих страницах остаются по умолчанию, если ситуация не требует иного. При нажатии кнопки Install запускается непосредственный процесс установки: цветовая линейка показывает динамику выполняемой процедуры. После успешного завершения установки будет выдано соответствующее сообщение и останется только закрыть установщик нажатием на кнопку Close (Закрыть).

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

Установка технологической платформы 1С:Предприятие на сервер

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

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

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

В дальнейшем будет запрошена необходимость установки драйвера защиты в случае приобретения поставки с аппаратным ключом или активация программной лицензии. В случае успешной установки технологической платформы 1С:Предприятие 8 будет выдано системное сообщение.

Создание информационной базы на SQL-сервере

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

Далее следует заполнить все необходимые поля настроек параметров информационной базы: наименование базы данных и ее имя в серверном кластере, IP кластера серверов 1С:Предприятия и сервера базы данных, тип системы управления базами данных (СУБД) и т.д.:

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

Установка клиентской программы

Для возможности работы пользователей с информационной SQL-базой необходимо выполнить правильное ее подключение на клиентских станциях. Последовательность такого подключения:


Если были верно указаны настройки создания информационной базы на сервере 1С:Предприятия корректна выполнена настройка 1С клиент при запуске программы с клиентской рабочей станции будет осуществлено подключение к серверной машине.

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