kkolk.mssql
kkolk.mssql
说明
这个 Ansible 角色将在支持的 Windows 平台上安装 SQL Server Developer Edition 2017 实例。这个角色可以调整为安装任何支持的 SQL Server。 我已经用它的变体安装了 SQL Server 2012/2014。
这个角色还处理所需的本地防火墙更改,并演示如何对 SQL 实例进行配置调整。
使用默认值时,它被设计为可以加入我在 http://frostbyte.us/configure-an-ansible-testing-system-on-windows-part-1/ 中一系列帖子中介绍的 Windows 测试环境中的成员服务器的角色。
要求
目标主机上应安装 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
### 内存配置 ###
# 内存以 MB 为单位
# 值必须是 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 数据库和日志路径
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 Server 数据工具 = BIDS
# 客户端工具连接 = CONN
# 集成服务 = IS
# 客户端工具向后兼容性 = BC
# 客户端工具 SDK = SDK
# 文档组件 = BOL
# 管理工具 - 基本 = SSMS
# 管理工具 - 高级 = ADV_SSMS
# 分布式重放控制器 = DREPLAY_CTLR
# 分布式重放客户端 = DREPLAY_CLT
# SQL 客户端连接 SDK = SNAC_SDK
# 主数据服务 = MDS
# ADVANCEDANALYTICS 安装 R 服务,需要数据库引擎。无人值守安装需要 /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 实例运行在具有多个微处理器或 CPU 的计算机上时,
# 它会检测最佳并行度,即在每个并行计划执行中用于运行单个语句的处理器数量。
# 您可以使用最大并行度选项来限制在并行计划执行中使用的处理器数量。
#
# 如果将亲和力掩码选项设置为默认值,则可能会限制可用的处理器数量
# 在对称多处理(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 性能。
mssql_min_server_memory: 0
示例剧本
- name: SQL Server
hosts: sql_server
tags: mssql
roles:
- { role: kkolk.mssql }
许可证
BSD / MIT
作者信息
Kevin Kolk - http://www.frostbyte.us