0 Голосов
Редактировал(а) Сергей Коршунов 2022/04/21 02:04

Последние авторы
1 == Установка SQL Server для работы с 1С:Предприятие 8.3 ==
2
3 [[~[~[image:https://wiki.it-kb.ru/_media/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190417-135029.png~]~]>>url:https://wiki.it-kb.ru/_detail/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190417-135029.png?id=1c%3Asetting-up-microsoft-sql-server-for-1c-enterprise-8-3%3Asql-server-2016-installation]] Мы не будем подробно пошагово рассматривать весь процесс установки **SQL Server**, так как для множества разных задач он будет простым и схожим. Пример развёртывания экземпляра SQL Server в кластерной конфигурации **Windows Failover Cluster** можно найти, например, в статье [[Развёртывание двух-узлового кластера SQL Server 2012 для БД SharePoint Server>>url:https://blog.it-kb.ru/2014/04/15/install-two-tier-farm-sharepoint-server-2013-sp1-on-windows-server-2012-r2-part-1-prepare-ha-clustered-sql-server-2012-sp1-cumulative-update-9-instance/]].
4
5 В этой заметке мы сделаем упор лишь на тех этапах процесса развёртывания нового экземпляра SQL Server, которые могут иметь значение для работы баз данных **1С:Предприятие 8.3**.
6
7
8 На этапе установки **Feature Selection** достаточным минимумом будут компоненты **Database Engine Services**. Если вместе с сервером SQL Server на этом же сервере планируется развёртывание серверной части 1С:Предприятие, то потребуется установить ещё и компоненту **Client Tools Connectivity**. Для локального подключения и возможности локального администрирования SQL Server потребуется установить компоненты **Management Tools**.
9
10 Имейте ввиду, что компоненты **Management Tools**, включающие в себя такой инструмент, как **SQL Server Management Studio**, являются опциональными (не нужны для работы 1С) и они отсутствует в установщике начиная с **SQL Server 2016**. При необходимости эти компоненты могут быть установлены отдельно из отдельно загружаемого инсталлятора [[SQL Server Management Studio>>url:https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2016]])
11
12 [[~[~[image:https://wiki.it-kb.ru/_media/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145724.png~]~]>>url:https://wiki.it-kb.ru/_detail/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145724.png?id=1c%3Asetting-up-microsoft-sql-server-for-1c-enterprise-8-3%3Asql-server-2016-installation]]
13
14 Обратите внимание на то, что входящие в состав **Database Engine Services** компоненты **SQL Server Replication**, **Full-Text and Semantic Extractions**, **Data Quality Services** не требуются для работы 1С:Предприятие и включены на представленном скриншоте только по той причине, что графический инсталлятор **SQL Server 2016** не позволяет выключить данные компоненты в том случае, если включена родительская компонента **Database Engine Services**.
15
16
17 На этапе установки **Server Configuration** на закладке **Server Accounts** в качестве учётных записей, от имени которых будут работать службы SQL Server, в инфраструктурах с доменом **Active Directory**, с точки зрения усиления уровня безопасности, более правильным будет использование учётных записей типа [[Group Managed Service Account>>url:https://wiki.it-kb.ru/microsoft-windows/windows-server-2012-r2/adds/how-to-use-managed-service-accounts-msa-and-group-managed-service-account-gmsa]] (**gMSA**), для которых управление паролями выполняется в автоматическом режиме службой **Key Distribution Service** на контроллерах домена.
18
19 [[~[~[image:https://wiki.it-kb.ru/_media/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145748.png~]~]>>url:https://wiki.it-kb.ru/_detail/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145748.png?id=1c%3Asetting-up-microsoft-sql-server-for-1c-enterprise-8-3%3Asql-server-2016-installation]]
20
21 Здесь обратите внимание на то, что в инсталляторе **SQL Server 2016** есть опция **Grant Perform Volume Maintenance Task**, которую здесь мы оставили нетронутой, так как фактически мы уже [[выдали такое право ранее>>url:https://wiki.it-kb.ru/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/database-instant-file-initialization]], когда говорили о предоставлении привилегии **SE_MANAGE_VOLUME_NAME** через политику безопасности **Perform volume maintenance tasks**. Замечено, что при включении данной опции, инсталлятор SQL Server 2016 вместо того, чтобы добавить в политику **Perform volume maintenance tasks** указанную нами сервисную учётную запись, от имени которой фактически будет запускаться экземпляр SQL Server, добавляет учётную запись службы (**Virtual Account**) вида NT Service\MSSQL$<Имя экземпляра>. Объяснить природу такого поведения инсталлятора может обсуждение [[Раздача прав сервисным учётным записям при установке SQL Server 2016>>url:https://social.technet.microsoft.com/Forums/ru-RU/6fc6ca5f-6fc9-4611-acf3-655ed9e437c5/1056107210791076107210951072-1087108810721074?forum=sqlru]]
22
23
24 На этапе установки **Server Configuration** на закладке **Collation** рекомендуется выбирать порядок сортировки **Cyrillic_General_CI_AS**. Описание причины такого выбора можно найти, например, здесь: [[gilev.ru - 1С: Значение параметров сортировки MS SQL Server 2008 R2 при установке>>url:http://www.gilev.ru/cyrillic/]]
25
26 [[~[~[image:https://wiki.it-kb.ru/_media/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145810.png~]~]>>url:https://wiki.it-kb.ru/_detail/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145810.png?id=1c%3Asetting-up-microsoft-sql-server-for-1c-enterprise-8-3%3Asql-server-2016-installation]]
27
28 **Важно.**
29 В перспективе желательно придерживаться того правила, чтобы порядок сортировки создаваемых в дальнейшем баз данных для 1С не отличался от порядка сортировки самого экземпляра SQL Server, который мы укажем на этапе его развёртывания. Если пренебречь этим правилом, то в дальнейшем мы можем столкнуться с проблемами, описанными, например, в ветке обсуждения [[Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS">>url:https://1c-dn.com/forum/forum17/topic690/]]
30
31
32 На этапе установки **Database Engine Configuration** на закладке **Server Configuration** в соответствии с [[1С:ИТС - Настройки Microsoft SQL Server для работы с 1С:Предприятием>>url:https://its.1c.ru/db/metod8dev/content/5904/hdoc]] необходимо выбирать смешанный режим аутентификации – **Mixed Mode**.
33
34 Не стоит забывать про администраторов, которым в дальнейшем может потребоваться доступ к устанавливаемому экземпляру SQL Server. То есть, как минимум, в качестве администраторов устанавливаемого экземпляра SQL Server можно назначить встроенную группу администраторов сервера.
35
36 [[~[~[image:https://wiki.it-kb.ru/_media/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145839.png~]~]>>url:https://wiki.it-kb.ru/_detail/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145839.png?id=1c%3Asetting-up-microsoft-sql-server-for-1c-enterprise-8-3%3Asql-server-2016-installation]]
37
38
39 На этапе установки **Database Engine Configuration** на закладке **Data Directories** для расположения баз 1С укажем производительный дисковый массив или отдельные дисковые массивы. По возможности желательно определить для размещения файлов БД и логов транзакций отдельные дисковые массивы, учитывая то обстоятельство, что под транзакционные логи требуется более производительный по операциям записи массив.
40
41 [[~[~[image:https://wiki.it-kb.ru/_media/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145903.png~]~]>>url:https://wiki.it-kb.ru/_detail/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145903.png?id=1c%3Asetting-up-microsoft-sql-server-for-1c-enterprise-8-3%3Asql-server-2016-installation]]
42
43
44 На этапе установки **Database Engine Configuration** на закладке **TempDB** фалы системной базы **tempdb** также очень желательно размещать на отдельном быстром дисковом томе. В качестве достойного претендента на эту роль будет отдельный массив SSD-дисков или RAM-диск. Один из вариантов настройки RAM-диска, который можно будет использовать в кластерных развёртываниях SQL Server, мы рассмотрели ранее в статье [[Организуем RAM-диск для кластера Windows Server с помощью Linux-IO FC Target>>url:https://blog.it-kb.ru/2018/12/29/how-to-create-ramdisk-for-sql-server-tempdb-in-windows-server-failover-cluster-using-linux-io-lio-fc-target/]].
45
46 В нашем примере помимо основного размещения файлов **tempdb** на том же дисковом массиве, где предполагается размещение пользовательских БД, добавлен ещё один каталог, расположенный на быстром RAM-диске. Этот же каталог указан в качестве расположения для транзакционного лога **tempdb**.
47
48 [[~[~[image:https://wiki.it-kb.ru/_media/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145923.png~]~]>>url:https://wiki.it-kb.ru/_detail/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/pasted/20190212-145923.png?id=1c%3Asetting-up-microsoft-sql-server-for-1c-enterprise-8-3%3Asql-server-2016-installation]]
49
50 Дополнительную реконфигурацию размещения файлов базы **tempdb** можно будет выполнить и после установки SQL Server. Этому вопросу будет посвящена последующая заметка [[Файлы системной базы данных tempdb>>url:https://wiki.it-kb.ru/1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/system-database-tempdb-files-with-ssd-and-ramdisk]].
51
52 **Важно.**
53 1С:Предприятие 8.3 в своей работе может очень активно использовать ресурсы системной базы данных tempdb, а недостаточная производительность дисковых томов, на которых расположены файлы tempdb, может привести к существенной деградации общего уровня производительности в конфигурациях 1С и ощутимо ухудшить комфорт пользователей, работающих с 1С. Поэтому очень важно подойти к вопросу планирования производительных дисковых ресурсов под эту системную БД.
54
55
56 Неотъемлемой частью правильного процесса установки **SQL Server** является то, что сразу после завершения развёртывания экземпляра SQL Server желательно выполнить развёртывание последнего **Service Pack** (SP), а затем и последнего **Cumulative Update** (CU) для установленной версии SQL Server