===== Установка SQL Server для работы с 1С:Предприятие 8.3===== {{:1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:pasted:20190417-135029.png }} Мы не будем подробно пошагово рассматривать весь процесс установки **SQL Server**, так как для множества разных задач он будет простым и схожим. Пример развёртывания экземпляра SQL Server в кластерной конфигурации **Windows Failover Cluster** можно найти, например, в статье [[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/|Развёртывание двух-узлового кластера SQL Server 2012 для БД SharePoint Server]]. В этой заметке мы сделаем упор лишь на тех этапах процесса развёртывания нового экземпляра SQL Server, которые могут иметь значение для работы баз данных **1С:Предприятие 8.3**. \\ На этапе установки **Feature Selection** достаточным минимумом будут компоненты **Database Engine Services**. Если вместе с сервером SQL Server на этом же сервере планируется развёртывание серверной части 1С:Предприятие, то потребуется установить ещё и компоненту **Client Tools Connectivity**. Для локального подключения и возможности локального администрирования SQL Server потребуется установить компоненты **Management Tools**. Имейте ввиду, что компоненты **Management Tools**, включающие в себя такой инструмент, как **SQL Server Management Studio**, являются опциональными (не нужны для работы 1С) и они отсутствует в установщике начиная с **SQL Server 2016**. При необходимости эти компоненты могут быть установлены отдельно из отдельно загружаемого инсталлятора [[https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2016|SQL Server Management Studio]]) {{ :1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:pasted:20190212-145724.png }} Обратите внимание на то, что входящие в состав **Database Engine Services** компоненты **SQL Server Replication**, **Full-Text and Semantic Extractions**, **Data Quality Services** не требуются для работы 1С:Предприятие и включены на представленном скриншоте только по той причине, что графический инсталлятор **SQL Server 2016** не позволяет выключить данные компоненты в том случае, если включена родительская компонента **Database Engine Services**. \\ На этапе установки **Server Configuration** на закладке **Server Accounts** в качестве учётных записей, от имени которых будут работать службы SQL Server, в инфраструктурах с доменом **Active Directory**, с точки зрения усиления уровня безопасности, более правильным будет использование учётных записей типа [[microsoft-windows:windows-server-2012-r2:adds:how-to-use-managed-service-accounts-msa-and-group-managed-service-account-gmsa|Group Managed Service Account]] (**gMSA**), для которых управление паролями выполняется в автоматическом режиме службой **Key Distribution Service** на контроллерах домена. {{ :1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:pasted:20190212-145748.png }} Здесь обратите внимание на то, что в инсталляторе **SQL Server 2016** есть опция **Grant Perform Volume Maintenance Task**, которую здесь мы оставили нетронутой, так как фактически мы уже [[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$<Имя экземпляра>''. Объяснить природу такого поведения инсталлятора может обсуждение [[https://social.technet.microsoft.com/Forums/ru-RU/6fc6ca5f-6fc9-4611-acf3-655ed9e437c5/1056107210791076107210951072-1087108810721074?forum=sqlru|Раздача прав сервисным учётным записям при установке SQL Server 2016]] \\ На этапе установки **Server Configuration** на закладке **Collation** рекомендуется выбирать порядок сортировки **Cyrillic_General_CI_AS**. Описание причины такого выбора можно найти, например, здесь: [[http://www.gilev.ru/cyrillic/|gilev.ru - 1С: Значение параметров сортировки MS SQL Server 2008 R2 при установке]] {{ :1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:pasted:20190212-145810.png }} **Важно.**\\ В перспективе желательно придерживаться того правила, чтобы порядок сортировки создаваемых в дальнейшем баз данных для 1С не отличался от порядка сортировки самого экземпляра SQL Server, который мы укажем на этапе его развёртывания. Если пренебречь этим правилом, то в дальнейшем мы можем столкнуться с проблемами, описанными, например, в ветке обсуждения [[https://1c-dn.com/forum/forum17/topic690/|Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS"]] \\ На этапе установки **Database Engine Configuration** на закладке **Server Configuration** в соответствии с [[https://its.1c.ru/db/metod8dev/content/5904/hdoc|1С:ИТС - Настройки Microsoft SQL Server для работы с 1С:Предприятием]] необходимо выбирать смешанный режим аутентификации – **Mixed Mode**. Не стоит забывать про администраторов, которым в дальнейшем может потребоваться доступ к устанавливаемому экземпляру SQL Server. То есть, как минимум, в качестве администраторов устанавливаемого экземпляра SQL Server можно назначить встроенную группу администраторов сервера. {{ :1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:pasted:20190212-145839.png }} \\ На этапе установки **Database Engine Configuration** на закладке **Data Directories** для расположения баз 1С укажем производительный дисковый массив или отдельные дисковые массивы. По возможности желательно определить для размещения файлов БД и логов транзакций отдельные дисковые массивы, учитывая то обстоятельство, что под транзакционные логи требуется более производительный по операциям записи массив. {{ :1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:pasted:20190212-145903.png }} \\ На этапе установки **Database Engine Configuration** на закладке **TempDB** фалы системной базы **tempdb** также очень желательно размещать на отдельном быстром дисковом томе. В качестве достойного претендента на эту роль будет отдельный массив SSD-дисков или RAM-диск. Один из вариантов настройки RAM-диска, который можно будет использовать в кластерных развёртываниях SQL Server, мы рассмотрели ранее в статье [[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/|Организуем RAM-диск для кластера Windows Server с помощью Linux-IO FC Target]]. В нашем примере помимо основного размещения файлов **tempdb** на том же дисковом массиве, где предполагается размещение пользовательских БД, добавлен ещё один каталог, расположенный на быстром RAM-диске. Этот же каталог указан в качестве расположения для транзакционного лога **tempdb**. {{ :1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:pasted:20190212-145923.png }} Дополнительную реконфигурацию размещения файлов базы **tempdb** можно будет выполнить и после установки SQL Server. Этому вопросу будет посвящена последующая заметка [[:1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:system-database-tempdb-files-with-ssd-and-ramdisk|Файлы системной базы данных tempdb]]. **Важно.**\\ 1С:Предприятие 8.3 в своей работе может очень активно использовать ресурсы системной базы данных tempdb, а недостаточная производительность дисковых томов, на которых расположены файлы tempdb, может привести к существенной деградации общего уровня производительности в конфигурациях 1С и ощутимо ухудшить комфорт пользователей, работающих с 1С. Поэтому очень важно подойти к вопросу планирования производительных дисковых ресурсов под эту системную БД. \\ Неотъемлемой частью правильного процесса установки **SQL Server** является то, что сразу после завершения развёртывания экземпляра SQL Server желательно выполнить развёртывание последнего **Service Pack** (SP), а затем и последнего **Cumulative Update** (CU) для установленной версии SQL Server. Информацию об актуальных SP и CU для разных версий SQL Server можно найти в документе [[https://support.microsoft.com/en-us/help/957826/where-to-find-information-about-the-latest-sql-server-builds|Where to find information about the latest SQL Server builds]]. Помимо этого, ссылки на страницы загрузки последних CU можно найти на нашей Вики-странице [[https://wiki.it-kb.ru/microsoft-sql-server|Microsoft SQL Server]] ---- Проверено на следующих конфигурациях: ^ Версия ОС ^ Версия SQL Server ^ | Microsoft Windows Server 2012 R2 Standard EN (6.3.9600) | Microsoft SQL Server 2016 SP2 CU4 (13.0.5233.0) | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 12.02.2019 14:23 {{tag>"SQL Server" "SQL Server 2016" Cluster "1C 8.3" "1C" "Windows Server 2012 R2" gMSA Collation TempDB "Management Studio"}} ~~DISCUSSION~~