https://github.com/andif888/ansible-role-win-sqlserver
Ansible Role to install SQL Server on Windows
https://github.com/andif888/ansible-role-win-sqlserver
ansible-role sql windows
Last synced: about 1 year ago
JSON representation
Ansible Role to install SQL Server on Windows
- Host: GitHub
- URL: https://github.com/andif888/ansible-role-win-sqlserver
- Owner: andif888
- Created: 2019-03-27T17:19:02.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-05-04T21:08:30.000Z (almost 3 years ago)
- Last Synced: 2025-01-10T16:47:26.010Z (about 1 year ago)
- Topics: ansible-role, sql, windows
- Language: Jinja
- Homepage:
- Size: 21.5 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ansible-role-win-sqlserver
Ansible Role to install SQL Server on Windows
## Table of content
- [Default Variables](#default-variables)
- [ps_tools_download_url](#ps_tools_download_url)
- [ps_tools_filename_zip](#ps_tools_filename_zip)
- [sql_server_already_installed_path](#sql_server_already_installed_path)
- [sql_server_change_sysadmin_role_file_sql_script_file_path](#sql_server_change_sysadmin_role_file_sql_script_file_path)
- [sql_server_change_sysadmin_role_file_sql_template](#sql_server_change_sysadmin_role_file_sql_template)
- [sql_server_collation](#sql_server_collation)
- [sql_server_dir_backup](#sql_server_dir_backup)
- [sql_server_dir_install_data](#sql_server_dir_install_data)
- [sql_server_dir_temp_db](#sql_server_dir_temp_db)
- [sql_server_dir_temp_db_on_emphemeral_disk](#sql_server_dir_temp_db_on_emphemeral_disk)
- [sql_server_dir_user_db](#sql_server_dir_user_db)
- [sql_server_dir_user_log](#sql_server_dir_user_log)
- [sql_server_enable_clr](#sql_server_enable_clr)
- [sql_server_enable_smo_dmo_xps](#sql_server_enable_smo_dmo_xps)
- [sql_server_enable_xp_cmdshell](#sql_server_enable_xp_cmdshell)
- [sql_server_extract_dir](#sql_server_extract_dir)
- [sql_server_install_configuration_file_path](#sql_server_install_configuration_file_path)
- [sql_server_install_configuration_template](#sql_server_install_configuration_template)
- [sql_server_install_features](#sql_server_install_features)
- [sql_server_instance_name](#sql_server_instance_name)
- [sql_server_iso_file_path](#sql_server_iso_file_path)
- [sql_server_iso_url](#sql_server_iso_url)
- [sql_server_iso_url_validate_certs](#sql_server_iso_url_validate_certs)
- [sql_server_max_degree_of_parallelism](#sql_server_max_degree_of_parallelism)
- [sql_server_max_memory](#sql_server_max_memory)
- [sql_server_min_memory](#sql_server_min_memory)
- [sql_server_sa_password](#sql_server_sa_password)
- [sql_server_sp_configure_settings_enabled](#sql_server_sp_configure_settings_enabled)
- [sql_server_sp_configure_settings_file_sql_script_file_path](#sql_server_sp_configure_settings_file_sql_script_file_path)
- [sql_server_sp_configure_settings_file_sql_template](#sql_server_sp_configure_settings_file_sql_template)
- [sql_server_sysadmin_sql_accounts](#sql_server_sysadmin_sql_accounts)
- [sql_server_sysadmin_windows_accounts](#sql_server_sysadmin_windows_accounts)
- [sql_server_sysadminaccounts](#sql_server_sysadminaccounts)
- [sql_server_tempdb_file_count](#sql_server_tempdb_file_count)
- [sql_server_update_enabled](#sql_server_update_enabled)
- [sql_server_use_microsoft_update](#sql_server_use_microsoft_update)
- [sql_server_version_major_path_prefix](#sql_server_version_major_path_prefix)
- [sql_server_windows_firewall_port](#sql_server_windows_firewall_port)
- [sql_server_windows_firewall_rule_name](#sql_server_windows_firewall_rule_name)
- [Discovered Tags](#discovered-tags)
- [Dependencies](#dependencies)
- [License](#license)
- [Author](#author)
---
## Default Variables
### ps_tools_download_url
Download URL for PSTools.
PSEXEC needs to be used to execute the SQL Server Installer
#### Default value
```YAML
ps_tools_download_url: https://download.sysinternals.com/files/PSTools.zip
```
### ps_tools_filename_zip
PSTools Package file name
#### Default value
```YAML
ps_tools_filename_zip: PSTools.zip
```
### sql_server_already_installed_path
Path to check if SQL Server is already installed
#### Default value
```YAML
sql_server_already_installed_path: '{{ sql_server_dir_install_data }}\{{ sql_server_version_major_path_prefix
}}.{{ sql_server_instance_name }}\MSSQL\DATA'
```
### sql_server_change_sysadmin_role_file_sql_script_file_path
Local path to save template file to add accounts to sysadmin group. Get automatically removed afterwards
#### Default value
```YAML
sql_server_change_sysadmin_role_file_sql_script_file_path: '{{ ansible_env.SystemRoot
}}\sqlcmd_add_adaccount_to_sysadmin.sql'
```
### sql_server_change_sysadmin_role_file_sql_template
Template file to add accounts to sysadmin group
#### Default value
```YAML
sql_server_change_sysadmin_role_file_sql_template: '{{ role_path }}/templates/sqlcmd_add_account_to_sysadmin.sql.j2'
```
### sql_server_collation
SQL Server Collation
#### Default value
```YAML
sql_server_collation: SQL_Latin1_General_CP1_CI_AS
```
### sql_server_dir_backup
Directory for SQL Server Backups
Note: To use this variable you need to uncomment them in templates/sql_server_configuration_file_std...
#### Default value
```YAML
sql_server_dir_backup: '{{ sql_server_dir_install_data }}\{{ sql_server_version_major_path_prefix
}}.{{ sql_server_instance_name }}\MSSQL\Backup'
```
### sql_server_dir_install_data
Installation directory
#### Default value
```YAML
sql_server_dir_install_data: C:\Program Files\Microsoft SQL Server
```
### sql_server_dir_temp_db
Directory for SQL Server TempDB
Note: To use this variable you need to uncomment them in templates/sql_server_configuration_file_std...
#### Default value
```YAML
sql_server_dir_temp_db: '{{ sql_server_dir_install_data }}\{{ sql_server_version_major_path_prefix
}}.{{ sql_server_instance_name }}\MSSQL\DATA'
```
### sql_server_dir_temp_db_on_emphemeral_disk
Set this to true if using azure temporary disk for TempDB
#### Default value
```YAML
sql_server_dir_temp_db_on_emphemeral_disk: false
```
### sql_server_dir_user_db
Directory for SQL Server User DBs
Note: To use this variable you need to uncomment them in templates/sql_server_configuration_file_std...
#### Default value
```YAML
sql_server_dir_user_db: '{{ sql_server_dir_install_data }}\{{ sql_server_version_major_path_prefix
}}.{{ sql_server_instance_name }}\MSSQL\DATA'
```
### sql_server_dir_user_log
Directory for SQL Server Database Logfiles
Note: To use this variable you need to uncomment them in templates/sql_server_configuration_file_std...
#### Default value
```YAML
sql_server_dir_user_log: '{{ sql_server_dir_install_data }}\{{ sql_server_version_major_path_prefix
}}.{{ sql_server_instance_name }}\MSSQL\DATA'
```
### sql_server_enable_clr
Advanced setting - clr enabled
#### Default value
```YAML
sql_server_enable_clr: false
```
### sql_server_enable_smo_dmo_xps
Advanced setting - SMO and DMO XPs
#### Default value
```YAML
sql_server_enable_smo_dmo_xps: true
```
### sql_server_enable_xp_cmdshell
Advanced setting - xp_cmdshell
#### Default value
```YAML
sql_server_enable_xp_cmdshell: false
```
### sql_server_extract_dir
Extract directory for installation files
#### Default value
```YAML
sql_server_extract_dir: C:\windows\temp\sqlextract
```
### sql_server_install_configuration_file_path
Resulting path for sql_server_configuration_file.ini
#### Default value
```YAML
sql_server_install_configuration_file_path: '{{ sql_server_extract_dir }}\sql_server_configuration_file.ini'
```
### sql_server_install_configuration_template
Path to template for sql_server_configuration_file
#### Default value
```YAML
sql_server_install_configuration_template: templates/sql_server_configuration_file_{{
sql_server_version_major_path_prefix }}_ini.j2
```
### sql_server_install_features
SQL Server Features to be installed
#### Default value
```YAML
sql_server_install_features: SQLENGINE,REPLICATION,FULLTEXT
```
### sql_server_instance_name
SQL Server Instance Name
#### Default value
```YAML
sql_server_instance_name: MSSQLSERVER
```
### sql_server_iso_file_path
Resulting file path after SQL Server ISO is downloaded
#### Default value
```YAML
sql_server_iso_file_path: '{{ sql_server_extract_dir }}\sql_server.iso'
```
### sql_server_iso_url
SQL Server ISO Download URL
#### Default value
```YAML
sql_server_iso_url: http://localhost:9000/en_sql_server_2019_standard_x64_dvd_814b57aa.iso
```
### sql_server_iso_url_validate_certs
Validate SSL certs when downloading files
#### Default value
```YAML
sql_server_iso_url_validate_certs: yes
```
### sql_server_max_degree_of_parallelism
Advanced setting - max degree of parallelism
#### Default value
```YAML
sql_server_max_degree_of_parallelism: "{{ '8' if (ansible_processor_vcpus >= 8) else\
\ '2' if (ansible_processor_vcpus <= 2) else '4' }}"
```
### sql_server_max_memory
Advanced setting - maximum memory
#### Default value
```YAML
sql_server_max_memory: '{{ (ansible_memtotal_mb|int) - (((ansible_memtotal_mb|int)
* 0.1)|int) }}'
```
### sql_server_min_memory
Advanced setting - minimum memory
#### Default value
```YAML
sql_server_min_memory: '{{ (ansible_memtotal_mb|int) - (((ansible_memtotal_mb|int)
* 0.1)|int) }}'
```
### sql_server_sa_password
SQL Server sa password
#### Default value
```YAML
sql_server_sa_password: SomePassw0rd!
```
### sql_server_sp_configure_settings_enabled
Enable feature to set advanced configuration settings
#### Default value
```YAML
sql_server_sp_configure_settings_enabled: false
```
### sql_server_sp_configure_settings_file_sql_script_file_path
Local path to save template file for setting advanced configuration settings.
#### Default value
```YAML
sql_server_sp_configure_settings_file_sql_script_file_path: '{{ ansible_env.SystemRoot
}}\sqlcmd_sp_configure_settings.sql'
```
### sql_server_sp_configure_settings_file_sql_template
Template file to use for setting advanced configuration settings
#### Default value
```YAML
sql_server_sp_configure_settings_file_sql_template: '{{ role_path }}/templates/sqlcmd_sp_configure_settings.sql.j2'
```
### sql_server_sysadmin_sql_accounts
List of sql accounts to add to sysadmin role
#### Default value
```YAML
sql_server_sysadmin_sql_accounts: []
```
#### Example usage
```YAML
sql_server_sysadmin_sql_accounts:
- { name: "someadmin", password: "somepassword" }
- { name: "otheradmin", password: "otherpassword" }
```
### sql_server_sysadmin_windows_accounts
List of windows accounts to add to sysadmin role
#### Default value
```YAML
sql_server_sysadmin_windows_accounts: []
```
#### Example usage
```YAML
sql_server_sysadmin_windows_accounts:
- DOMAIN\user1
- DOMAIN\group1
```
### sql_server_sysadminaccounts
SQL Server Sysadmin account
#### Default value
```YAML
sql_server_sysadminaccounts: BUILTIN\Administrators
```
### sql_server_tempdb_file_count
Specifies the number of tempdb data files to be added by setup. This value can be increased up to the number of cores.
#### Default value
```YAML
sql_server_tempdb_file_count: 1
```
### sql_server_update_enabled
Enable Updates
#### Default value
```YAML
sql_server_update_enabled: false
```
### sql_server_use_microsoft_update
Use Microsoft Updates
#### Default value
```YAML
sql_server_use_microsoft_update: false
```
### sql_server_version_major_path_prefix
Path prefix dependent on SQL Server version.
MSSQL11=SQL Server 2012
MSSQL12=SQL Server 2014
MSSQL15=SQL Server 2019
#### Default value
```YAML
sql_server_version_major_path_prefix: MSSQL15
```
### sql_server_windows_firewall_port
SQL Server Firewall port
#### Default value
```YAML
sql_server_windows_firewall_port: 1433
```
### sql_server_windows_firewall_rule_name
SQL Server Firewall Rule name
#### Default value
```YAML
sql_server_windows_firewall_rule_name: '{{ sql_server_instance_name }}'
```
## Discovered Tags
**_firewall_**
**_sql-server-sp-configure-settings_**
**_sql-server-sysadmin-role_**
## Dependencies
None.
## License
license (GPLv2, CC-BY, etc)
## Author
andif888