mssql
kkolk.mssql
Описание
Эта роль Ansible установит экземпляр SQL Server Developer Edition 2017 на поддерживаемых платформах Windows. Эту роль можно настроить для установки любой поддерживаемой версии SQL Server. Я использовал ее изменённые варианты для установки SQL Server 2012/2014.
Эта роль также изменяет настройки локального брандмауэра по мере необходимости и демонстрирует, как внести изменения в конфигурацию экземпляра SQL.
Используя значения по умолчанию, она предназначена для работы как роль, которую можно добавить к серверу-члену в тестовой среде Windows, описанной в серии постов на http://frostbyte.us/configure-an-ansible-testing-system-on-windows-part-1/
Требования
На целевом хосте должна быть установлена Powershell 5.0 / WMF 5.1.
Вы можете сделать это в два шага:
# Последняя версия Powershell дает нам больше гибкости в использовании элементов Windows DSC
- name: Windows | Установить Powershell 5.0
win_chocolatey:
name: "powershell"
register: check_powershell5
become: yes
become_user: Administrator
become_method: runas
retries: 3
delay: 10
# Powershell 5.0 требует перезагрузки, поэтому сделаем это, если необходимо.
- name: Windows | Перезагрузить для завершения установки Powershell 5.0
win_reboot:
# Мы дадим Windows полный час для перезагрузки.
reboot_timeout: 3600
post_reboot_delay: 60
when: check_powershell5.changed
Переменные роли
# источник установочных файлов
mssql_installation_source: https://go.microsoft.com/fwlink/?linkid=853016
# Путь для загрузки установочных медиа
mssql_installation_path: C:\SQLInstall
# Временный путь для хранения загрузчика
mssql_temp_download_path: C:\tmp
# детали экземпляра
mssql_instance_name: Test
mssql_drive: C
mssql_userdbvol_name: Userdbvol01
mssql_port: 1433
### Конфигурация памяти ###
# память в МБ
# значения должны быть кратны 512
# Максимальная память, выделенная для этого экземпляра
mssql_max_server_memory: 1024
# Память, резервируемая для ОС
mssql_os_memory_reservation: 512
# Общая память системы
mssql_total_system_memory: "{{ mssql_max_server_memory + mssql_os_memory_reservation }}"
# Скрытие перезагрузок, которые могут произойти во время задач настройки SQL
# вы захотите установить это значение в True, если работаете на чувствительной системе:
mssql_suppress_reboot: False
### Учетные записи служб ###
# Учетная запись службы SQL
# в некоторых шагах используются регулярные выражения, ожидающие формат CONTOSO\
# не используйте @CONTOSO.com для этих учетных записей, так как установка SQL завершится с ошибкой
mssql_sqlsvc_account: CONTOSO\sql_svc
mssql_sqlsvc_account_pass: MyPlainTextPassWord01
# Учетная запись службы агента SQL
mssql_agentsvc_account: CONTOSO\sql_agt
mssql_agentsvc_account_pass: MyPlainTextPassWord01
# Учетная запись служб аналитики SQL
mssql_assvc_account: "{{ mssql_sqlsvc_account }}"
mssql_assvc_account_pass: "{{ mssql_sqlsvc_account_pass }}"
### Пути к файлам и папкам ###
# пути к разделам
mssql_userdbvol_path: "{{ mssql_drive }}:\\{{ mssql_userdbvol_name }}"
mssql_db_accesspath: "{{ mssql_userdbvol_path }}\\DatabaseFiles"
mssql_logs_accesspath: "{{ mssql_userdbvol_path }}\\DatabaseLogs"
# пути к общим файлам
mssql_installshared_path: C:\Program Files\Microsoft SQL Server
mssql_installsharedwow_path: C:\Program Files (x86)\Microsoft SQL Server
# путь к экземпляру
mssql_instance_path: "C:\\Program Files\\Microsoft SQL Server\\{{ mssql_instance_name }}"
# Пути к SQL DB и логированию
mssql_sqlinstalldata_path: "{{ mssql_db_accesspath }}\\{{mssql_instance_name }}"
mssql_sqluserdata_path: "{{ mssql_db_accesspath }}\\{{ mssql_instance_name }}"
mssql_sqluserlog_path: "{{ mssql_logs_accesspath }}\\{{ mssql_instance_name }}"
mssql_sqltempDB_path: "C:\\TempDBFiles\\Data\\{{mssql_instance_name }}"
mssql_sqltempDBlog_path: "C:\\TempDBFiles\\Log\\{{ mssql_instance_name }}"
# режим безопасности - SQL указывает на совместимую с Службой аутентификацию, в то время как Windows указывает на аутентификацию Windows.
mssql_security_mode: sql
# пароль пользователя SA, если режим безопасности установлен на 'SQL'
# по умолчанию для тестирования мы будем использовать пароль учетной записи службы,
# но на рабочих системах вы должны использовать что-то другое:
mssql_sa_password: "{{ mssql_sqlsvc_account_pass }}"
# функции - Список функций, которые нужно установить через запятую
#
# пример:
# mssql_features: SQLENGINE,AS
#
# Список функций ниже не протестирован, некоторые могут не работать с DSC
#
# Список функций:
#
# Двигатель базы данных = SQLENGINE
# Репликация = REPLICATION
# Полнотекстовый и семантический анализ для поиска = FULLTEXT
# Службы качества данных = DQ
# Службы анализа = AS
# Службы отчетности – родные = RS
# Отчеты – SharePoint = RS_SHP
# Дополления служб отчетности для продуктов SharePoint = RS_SHPWFE
# Клиент качества данных = DQC
# Инструменты данных SQL = BIDS
# Инструменты подключения клиента = CONN
# Интеграционные службы = IS
# Инструменты подключения клиента для обратной совместимости = BC
# Инструменты SDK = SDK
# Компоненты документации = BOL
# Инструменты управления – базовые = SSMS
# Инструменты управления – расширенные = ADV_SSMS
# Дистрибутивный контроль переработки = DREPLAY_CTLR
# Дистрибутивный клиент переработки = DREPLAY_CLT
# SDK подключения клиента SQL = SNAC_SDK
# Службы мастер-данных = MDS
# ADVANCEDANALYTICS Устанавливает R Services, требует двигателя базы данных. Установки без наблюдения требуют параметр /IACCEPTROPENLICENSETERMS.
mssql_features: SQLENGINE,FULLTEXT,CONN
# Сортировка
mssql_collation: SQL_Latin1_General_CP1_CI_AS
# Режим запуска службы браузера
# Указывает режим запуска службы браузера SQL Server. { Автоматически | Отключено | 'Вручную' }
mssql_browsersvc_mode: Automatic
# Доступ по умолчанию
# Ansible_Admin должен быть включен, чтобы плейбук мог вносить изменения в конфигурацию после установки
mssql_sysadmin_accounts:
- CONTOSO\Domain Admins
- CONTOSO\Administrator
# Администраторы служб анализа (если установлены)
mssql_asadmin_accounts: "{{ mssql_sysadmin_accounts }}"
# Опции настройки
# Когда экземпляр SQL Server работает на компьютере с несколькими процессорами или ЦП,
# он автоматически определяет наилучший уровень параллелизма, то есть количество процессоров, используемых для выполнения
# отдельного оператора в каждой параллельной планировке. Вы можете использовать параметр максимального уровня параллелизма,
# чтобы ограничить количество процессоров, которые будут использоваться в параллельном выполнении плана.
#
# Если параметр маски аффинности не установлен по умолчанию, он может ограничить количество доступных процессоров
# для SQL Server на системах с симметричной многопроцессорностью (SMP).
#
# Для того чтобы сервер мог определить максимальный уровень параллелизма, установите этот параметр на 0 — значение по умолчанию.
#
# См: https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option
mssql_max_degree_of_parallelism: 0
# Минимальная память для выделения SQL
#
# В большинстве случаев должно оставаться равным 0.
#
# см: Оптимизация производительности сервера с помощью параметров настройки памяти
# https://technet.microsoft.com/en-us/library/ms177455(v=sql.105).aspx
#
# Параметр конфигурации минимальной памяти сервера можно использовать, чтобы
# гарантировать, что SQL Server не освободит память ниже установленного минимума
# после достижения этого порога. Этот параметр можно установить на конкретное значение
# в зависимости от размера и активности вашего SQL Server. Если вы решите установить это значение,
# установите его на какое-то разумное значение, чтобы гарантировать, что операционная система не запрашивает слишком
# много памяти у SQL Server, что может повлиять на производительность SQL Server.
mssql_min_server_memory: 0
Пример плейбука
- name: SQL Server
hosts: sql_server
tags: mssql
roles:
- { role: kkolk.mssql }
Лицензия
BSD / MIT
Информация об авторе
Кевин Колк - http://www.frostbyte.us
Ansible role will install a SQL Server Developer Edition 2017 instance on supported Windows platforms.
ansible-galaxy install kkolk/mssql