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

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

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

Отказоустойчивость в MS SQL

Для начала вкратце рассмотрим существующие технологии высокой доступности баз данных Microsoft. Одним из решений по отказоустойчивости является использование Windows Server Failover Cluster (WSFC). Рассмотрим его на примере:

WSFC использует общее сетевое хранилище (SAN). При установке SQL в отказоустойчивом кластере на общем хранилище размещаются системные и пользовательские базы данных. На приведенной схеме два узла (SQLCLU01NODE01 и SQLCLU01NODE02) объединены в отказоустойчивый кластер SQLCLUSTER01A. При этом SQL установлен именованным экземпляром (instance), т.е. кластеризованный адрес подключения SQL-сервера выглядит так SQLCLUSTER01A\SQL. При штатной работе один из узлов кластера (сервер) является активным (в примере - SQLCLU01NODE01), а второй находится в горячем резерве. Когда происходит отказ активного сервера SQLCLU01NODE01, служба кластеров осуществляет переключение (прозрачное для пользователей) на резервный узел SQLCLU01NODE01.

Из вышесказанного следуют очевидные преимущества WSFC: высокая надежность путем полного резервирования сервера, отсутствие простоев при отказе сервера, а так же недостатки: нет защиты отказа дисковых массивов, высокая стоимость решения (простаивающий резервный сервер, аналогичный рабочему).

Решение давно существует (по-моему, начиная с Windows Server 2000 и SQL Server 2000) и не должно вызывать сложностей при развертывании.

С выходом SQL2005SP1 появилась возможность зеркалирования (mirroring) баз данных. Основной принцип зеркалирования - создание горячей резервной копии базы данных на другом сервере (хранилище).

На основном сервере (Primary) располагается база данных (principal database), с которой в обычном режиме работают пользователи.
На резервном сервере (Mirror) располагается зеркальная копия базы данных (mirror database).

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

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

Необходимо отметить, что подключение к зеркальной базе данных клиентским приложением, не получится в связи с тем, что эта база всегда находится в режиме восстановления. В этом случае можно использовать снимок (snapshot) зеркальной базы. Об этой и о других технологиях Microsoft можно прочитать, например,

Новые возможности MS SQL 2012

Помимо всего вышеописанного в SQL 2012 появилась новая функциональность - группы доступности AlwaysOn. Что нам пишет Microsoft:
Availability Groups is an enterprise-level high-availability and disaster recovery solution introduced in SQL Server 2012 to enable you to maximize availability for one or more user databases.

Интересно… Т.е. нам предоставляют новую технологию высокой доступности уровня предприятия и она, скорее всего, должна быть круче чем то, что уже есть.

Попробуем разобраться в особенностях. На первый взгляд группы доступности AlwaysOn – это развитие зеркалирования. В сети есть много инструкций по развертыванию и настройке AlwaysOn, поэтому я расскажу только о сути. Чтобы развернуть AlwaysOn, необходим отказоустойчивый кластер WSFC. Для включения поддержки AlwaysOn необходимо установить MS SQL на экземпляр отказоустойчивого кластера и в свойствах службы SQL (оснастка SQL Server Configuration Manager) включить высокий уровень доступности AlwaysOn. Естественно, что это необходимо сделать на всех серверах, которые планируем задействовать для AlwaysOn.

На следующем рисунке представлен кластер WSFC с узлами Node01-Node05. На каждом узле установлен экземпляр SQL сервера с поддержкой AlwaysOn. В рамках SQL-серверов создана группа доступности MyAg с максимально возможным количеством реплик (рабочая база – Primary Replica и 4-е копии – Secondary Replica).

Группа доступности - это совокупность реплик доступности, их режимы работы, совокупность баз данных и слушатель группы (listener). На рисунке ниже показан вид утилиты MS SQL Management Studio с группой доступности.

Тут мы видим подключение к экземпляру SQL-сервера с именем ARSHAD-PC. На этом сервере создана группа доступности AlwaysOnDemo-AG, в которую добавлены две реплики (сервера, на которых располагаются реплики) ARSHAD-PC и ARSHAD-LP. Причем, в данный момент, основная реплика группы доступности расположена на сервере ARSHAD-PC и с этого же сервера происходит управление данной группой. Так же в группу доступности включены две базы данных AdventureWorks и AdventureWorksDW. У данной группы доступности есть слушатель (listener) с именем AlwaysOnDemo-L. По сути это отказоустойчивый адрес подключения к виртуальному серверу группы доступности.

Групп доступности может быть создано неограниченное количество, и баз данных в одной группе может быть много. Создание группы сопровождается простым и понятным мастером и не должно вызвать особых проблем. Стоит обратить внимание на две особенности.
При добавлении базы текущего сервера в группу доступности необходимо прежде сделать архив этой базы (модель восстановления должна быть Полная). Для создания слушателя при создании группы доступности потребуются полномочия администратора домена.
А при добавлении баз данных в существующую группу доступности достаточно будет полномочий админа SQL сервера.

Необходимо еще упомянуть о том, что вся остальная «обвязка» (пользователи, планы обслуживания, задания агента и т.д.), которая не входит в группу доступности, остается локальной для сервера. О синхронизации между серверами и согласовании между собой этой «обвязки» следует позаботиться самостоятельно.

Преимущества и недостатки у AlwaysOn в основном такие же как у зеркалирования, но есть и особенности. Как я понял, основные отличия AlwaysOn от mirroring – возможность создания реплик read-only, возможность создания более одной копии, простота настройки, большая гибкость, отсутствие Whitness-сервера (вместо этого listener в группе доступности).

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

Работа 1С: Предприятие и MS SQL 2012

Платформа 1С: Предприятие, начиная с версии 8.2.17, официально поддерживает работу с MSSQL 2012 (до этого необходимо было переносить с SQL2008 хранимую процедуру sp_dboption).

В связи с появлением AlwaysOn в SQL дополнился синтаксис строки подключения ODBC, появились параметры: ApplicationIntent - позволяет определить тип рабочей нагрузки (ReadOnly / ReadWrite), MultiSubnetFailover - ускоренное обнаружение активного сервера и др. Эти новые возможности 1С не поддерживает. Есть выход - указывать при подключении к рабочей базе адрес listener-а, а к базе данных в режиме чтения подключаться напрямую к серверу реплики ReadOnly (более подробно см. в эксперименте).

Работа с базой на чтение. Как известно, при работе с 1С, даже если пользователь не собирается ничего изменять в базе, существуют алгоритмы, которые пытаются вызвать insert-ы и update-ы в базе данных. Самый простой способ - переписать конфигурацию 1С, в которой убрать (закомментировать) части кода, приводящие к изменениям. Если этого не сделать, то пользователь не сможет работать с базой ReadOnly - 1С будет отваливаться с ошибкой о невозможности изменить базу данных. Ниже приведены примеры для типовых конфигураций.

  • Регламентные задания, очевидно для базы ReadOnly их нужно отключить
  • Обработка «Панель функций», при открытии всегда пытается установить значение параметра «ОткрыватьПриЗапускеПанельФункций» регистра сведений «НастройкиПользователей» в значение «Истина». Пути обхода - отключить настройку «ОткрыватьПриЗапускеПанельФункций» для пользователей, закомментировать код или добавить специальную роль ReadOnly, а код выполнять, если роль другая
  • Обработка «Панель функций», при закрытии записывает значение параметра «ТекущаяСтраницаПанелиФункций» регистра сведений «НастройкиПользователей». Пути обхода - отключить настройку «ОткрыватьПриЗапускеПанельФункций» для пользователя, добавить специальную роль ReadOnly, а код выполнять, если роль другая
  • Интернет поддержка пользователей (общая форма «ИнтернетПоддержкаПользователейОшибкаДоступаКИнтернету»). При старте конфигурации 1С предлагает соединиться с сервером 1С и при наличии соединения устанавливает настройку в хранилище общих настроек. Пути обхода – сбросить настройки автоподключения к интернет-поддержке путем создания внешней обработки со следующим кодом кнопки:
  • При закрытии отчета (например, оборотно-сальдовая ведомость) происходит запись настроек отчета в справочник «СохраненныеНастройки». Пути обхода: добавить специальную роль ReadOnly и в процедуре СохранитьНастройку общего модуля СтандартныеОтчеты вставить проверку сохраниеня настроек, если роль другая

Эксперимент

Итак, сам эксперимент. Ранее мы договорились, что будем исследовать AlwaysOn SQL 2012 применительно к 1С. Для начала опишу конфигурацию серверов.

В нашем распоряжении 4-е сервера: один сервер приложения 1С и три сервера SQL в кластере.

Эксперимент будем проводить в два этапа. На первом этапе опробуем возможность работы информационной базы 1С с использованием AlwaysOn SQL 2012 и проверим отработку отказа. На втором этапе исследуем работу реплики ReadOnly. Для простоты ограничимся двумя базами данных.

В качестве информационной базы 1С возьмем типовую кофигурацию «1С: Бухгалтерия предприятия». Проведем подготовительную работу и выполним настройку серверов, групп доступности и баз данных. Итак, создаем на сервере ServerSQL2 базу данных Dbtest2, затем на этом же сервере создаем группу доступности AG_test2, куда помещаем эту же базу:

Аналогично поступаем с базой данных Dbtest1 на сервере ServerSQL1. Теперь на сервере приложений «Server1C» регистрируем две информационные базы:

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

И тут же получаем ошибку в информационной базе, которая размещена в группе доступности, где моделировали отказ:

Подключение к другой информационной базе (по понятным причинам) остается работающим. Перезапускаем на клиенте приложение 1С «аварийной» информационной базы, программа работает корректно. При этом в SQL Management Studio можем наблюдать, что теперь основоной репликой в этой группе доступности становится сервер ServerSQL1.ё

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

Примеры доработки конфигурации 1С приведены выше. Что касается подключения к базе SQL, то тут все гораздо проще. Т.к. платформа 1С: Предприятие не поддерживает новый синтаксис строки подключения к MSSQL 2012, пропишем подключение к базе данных в режиме ReadOnly напрямую:

Так же необходимо указать возможность подключения к ReadOnly реплике для всех клиентов. Для этого в SQL Management Studio открываем свойства группы доступности и для реплики меняем свойство «Вторичная реплика для чтения» со значения «Только для чтения» на «Да»:

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

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

Обновление информации в базе ReadOnly происходит «практически мгновенно». Только значительное изменение данных в основной реплике, может привести к задержке обновления в базе для чтения.

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

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

Выводы

К сожалению, в СУБД Microsoft отказоустойчивость есть, а балансировки по-прежнему нет. Огорчает так же отработка отказа в AlwaysOn: активные соединения с базой отваливаются. Ожидания, исходя из общего описания технологии на ресурсах Microsoft и по выступлениям на различных конференциях, были несколько другими. Но порывшись на ресурсах Microsoft, нашел

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

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

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

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

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

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

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

Средства управления можно не устанавливать на сервер, а установить отдельно на рабочее место администратора и управлять оттуда всеми доступными серверами MS SQL.

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

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

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

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

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

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

Для этого откройте Managment Studio , выберите необходимый экземпляр SQL-сервера и щелкнув на нем правой кнопкой мыши перейдите к Свойствам .

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

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

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

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

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

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

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

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

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

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

Use master
alter database tempdb
modify file(
name = tempdev,
filename = N"E:\NEW_FOLDER\tempdb.mdf")
go

alter database tempdb
modify file(
name = templog,
filename = N"E:\NEW_FOLDER\templog.ldf")
go

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

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

Обычно установка MS SQL Server не рассматривается, поскольку считается, что это достаточно просто – несколько раз нажал кнопку Далее и база данных установлена. Тем не менее, есть несколько нюансов, способных отравить жизнь даже опытному администратору, при условии, что он ранее не устанавливал MS SQL Server для 1С.

Создание виртуальных серверов

Первым делом необходимо создать один или два виртуальных сервера. Ранее мы уже писали о выборе оптимальной конфигурации виртуального сервера для 1С. При большой нагрузке вам понадобится два виртуальных сервера – один будет использоваться для 1С, а второй – для СУБД. В этой статье будем считать, что нагрузка умеренная, поэтому и 1С, и СУБД будут установлены на один сервер. Конфигурация виртуального сервера приведена в таблице.

Конфигурация виртуального сервера при умеренной нагрузке

Установка MS SQL Server для 1С

Скачайте последнюю версию MS SQL Server. Подробно процесс установки мы рассматривать не будем – он действительно прост. Зато мы остановимся лишь на необходимых настройках.

По умолчанию MS SQL Server загружается на системный диск С:. Выбрав пользовательский тип установки (рис. 1) можно изменить диск и каталог назначения (рис. 2).

Рис. 1. Средство загрузки MS SQL Server

Рис. 2. Выбор каталога загрузки

Далее нужно дождаться, пока инсталлятор загрузит необходимые файлы (рис. 3), после чего вы увидите окно Центра установки SQL Server (рис. 4). Центр установки позволяет не только установить SQL Server, но и выполнить различные операции по обслуживанию сервера баз данных. В нашем случае нас пока интересует установка, поэтому перейдите в раздел Установка и выберите команду Новая установка изолированного экземпляра SQL Server или добавление компонентов к существующей установке.

Рис. 4. Центр установки SQL Server

Рис. 5. Раздел Установка

Запустится инсталлятор, первые несколько шагов не нуждаются в комментариях. А вот о выборе компонентов нужно поговорить отдельно. Для работы 1С не нужны абсолютно все компоненты, достаточно двух — Службы ядра СУБД и Соединение с клиентскими средствами . Ранее можно было выбрать компонент Средства управления , в последнем выпуске SQL Server (2017) установка средств управления производится отдельно — из раздела Установка . Итак, выберите два основных компонента, задайте каталоги установки (ранее мы выбирали каталог загрузки) и нажмите кнопку Далее .

Рис. 6. Выбор компонентов сервера

Нажимайте кнопку Далее, пока не перейдете в раздел Конфигурация сервера (рис. 7). На вкладке Параметры сортировки убедитесь, что выбрана кодировка Cyrillic_General_CI_AS. Если вы выбрали русский язык (рис. 2), то эта кодировка будет выбрана по умолчанию, а вот если вы предпочитаете английский язык на сервере, то кодировку придется сменить.

В разделе Настройка ядра СУБД на вкладке Конфигурация сервера установите смешанный режим проверки подлинности (рис. 8), а также установите пароль для учетной записи системного администратора сервера БД (sa ). Также нужно назначить администраторов сервера. Если вы работаете под CloudAdmin или другим пользователем с административными правами, просто нажмите кнопку Добавить текущего пользователя .

Следующая вкладка — Каталоги данных — очень важная. Пользовательские базы данных и база tempdb должны храниться на самом производительном диске. В идеале добавить SSD-диск для хранения баз данных. Хотя расположение базы можно указывать при ее создании, задание правильных настроек по умолчанию избавляет вас от лишней работы, а также от ситуации, когда база создается средствами 1С и оказывается в каталоге по умолчанию, т.е. на системном диске. Сразу можно также указать каталог для хранения резервных копий.

Рис. 9. Каталоги данных (пути по умолчанию)

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

Вернитесь в окно Центра установки, выполните установку средств управления SQL Server (рис. 10). Откроется браузер со страничкой, откуда можно скачать средства управления. Загрузите файл инсталлятора и производите установку. Устанавливать средства управления на сервере не обязательно, их можно установить на компьютере администратора, но поскольку у нас виртуальный сервер, мы не будем усложнять его настройку и установим средства управления SQL Server на этом же компьютере.

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

Мы только что выполнили установку SQL Server и средств управления. Осталось настроить сервер для работы с 1С. Используя средства управления, подключитесь к серверу SQL Server. Щелкните на сервере в списке слева правой кнопкой мыши и выберите команду Свойства (рис. 11). Убедитесь, что кодировка Cyrillic_General_CI_AS. В противном случае сервер придется переустановить.

Рис. 11. Свойства сервера

Если с кодировкой все в порядке, перейдите в раздел Память . Укажите доступный SQL-серверу объем ОЗУ, в противном случае SQL-сервер будет стремиться утилизировать всю доступную память. Если 1С будет установлена на этом же сервере, то такое поведение SQL Server нельзя назвать оптимальным — для 1С тоже нужно оставить доступные ресурсы.

Закройте окно свойств. Перейдите в раздел Безопасность, Имена входа . Щелкните правой кнопкой мыши на разделе Имена входа и выберите команду Создать новое имя входа . Создайте новую учетную запись пользователя, от имени которого будет подключаться 1С — использовать учетную запись администратора (sa), предоставив 1С максимальные права, мягко говоря, неправильно.

Введите имя пользователя, установите проверку подлинности через SQL Server (рис. 13). Далее перейдите в раздел Роли сервера и выберите dbcreator, processadmin и public (рис. 14).

Рис. 13. Создание новой учетной записи пользователя для 1С

На этом все. Мы установили SQL Server и средства управления, выполнили базовую настройку сервера и создали учетную запись для работы 1С. В большинстве случаев параметры SQL-сервера по умолчанию более чем подходят для обеспечения производительной работы сервера 1С:Предприятие.

Установка MS SQL server 2016 SP1 для 1С.

Решил создать небольшую пошаговую инструкцию по установке MS SQL server 2016.

(Если нужно больше, тогда )

Год назад о том, как установить MS SQL server 2016 (версию для тестирования, на тот момент).

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

Устанавливать эту СУБД мы будем на Windows server 2012 R2.

Первым делом на сайте Microsoft нужно скачать веб установщик «сиквела» я брал версию «Evaluation» тестового периода в 180 дней будет более чем достаточно, чтоб оценить версию, и позаботится о лицензировании. Лицензирование довольно простое!

Чтоб получить версию, к примеру, Standard нужно будет всего лишь ввести ключ продукта соответствующей версии MS SQL.

И так установка.

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

Затем нужно выбрать тип установки:

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

Выбираем язык «Русский», Пакет ISO 2372 MB и укажем расположение файла пакета установки.

И затем кликаем по кнопке «Скачать».

После чего произойдет скачивание пакета установки из интернета. Собственно подключение к интернету у вас должно быть. Скорость скачивания можно сказать «приличная» во многом зависит от скорости вашего провайдера.

Если видим картинку «Скачивание успешно завершено», тогда кликаем по кнопке «Открыть папку» там вы найдете образ ISO пакета установки.

Теперь можно приступить к распаковке образа ISO (Или можете его записать на диск).

Правый клик мышкой по файлу и распакуем его.

После распаковки ищем setup (иконка зеленого цвета).

Двойной клик и приступаем к установке MS SQL server 2016.

Выбираем вверху «Новая установка изолированного экземпляра SQL server.

Затем на следующим шаге принимаем условия лицензионного соглашения, поставив птичку возле: «Я принимаю условия лицензионного соглашения».

На следующем шаге ставим птичку возле «Использовать центр обновления..» .

MS SQL server нужно держать в актуальном состоянии, поэтому стоит устанавливать все обновления которые выходят.

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

Из возможных основных проблем:

1. Не установлен.NET Framework.

2. Включен брандмауэр.

Затем на следующей вкладке нам нужно поставить только одну птичку вверху.

«Службы ядра СУБД».

Все остальные компоненты устанавливать не стоит, во всяком случаи, если Вы планируете использовать СУБД для работы только в 1С Предприятии.

На следующей вкладке ставим птичку: «Предоставить право на выполнение задач обслуживания тома службе ядра СУБД».

На следующей вкладке сперва установим переключатель возле «Смешанный режим (Проверка подлинности SQL server и Windows)».

И создадим пароль для нашего рута SA.

Затем назначим администратора сервера СУБД, кликнув по кнопке «Добавить текущего пользователя» или можете выбрать другого пользователя.

И в этом же окне перейдем на вкладку «Каталоги данных» .

Нам нужно указать каталоги для баз данных 1С.

Стоит указать место, где будут, располагаться системные базы данных.

Каталог журналов пользовательских баз данных.

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

Как оптимизировать работу MS SQL для 1С.

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

Затем на следующей вкладке кликам по кнопке «Установить» и дожидаемся завершения установки. (Процесс не быстрый, можно попить кофе).

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

Если видим что стоят все зеленые птички возле компонентов, тогда все отлично MS SQL server 2016 мы успешно установили.

Теперь нам нужно установить утилиту администрирования нашего сервера СУБД.

«Management Studio» (SSMS).

Для этого возвращаемся в каталог, где мы распаковали пакет установщика.

Кликаем еще раз по зеленой иконке Setup и выбираем «Установка средств управления SQL server». Снова откроется сайт Microsoft, где нам нужно скачать веб установщик «Management Studio» (SSMS).

Установка Management Studio (SSMS).

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

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

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

Статьи по теме: