kkolk.mssql

kkolk.mssql

Description

Ce rôle Ansible va installer une instance SQL Server Developer Edition 2017 sur des plateformes Windows supportées. Ce rôle peut être ajusté pour installer n'importe quelle version de SQL Server supportée. J'ai utilisé des variantes de celui-ci pour installer SQL Server 2012/2014.

Ce rôle gère également les modifications nécessaires du pare-feu local et montre comment effectuer des ajustements de configuration sur l'instance SQL.

Avec des valeurs par défaut, il est conçu pour fonctionner comme un rôle qui peut être ajouté au serveur membre dans l'environnement de test Windows que j'ai décrit à travers une série de publications sur http://frostbyte.us/configure-an-ansible-testing-system-on-windows-part-1/

Requirements

Powershell 5.0 / WMF 5.1 doit être installé sur l'hôte cible.

Vous pouvez faire cela en deux étapes avec :

# La dernière version de PowerShell nous donne plus de flexibilité pour utiliser les éléments DSC de Windows
- name: Windows | Installer 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 nécessite un redémarrage, donc faisons-le si c'est nécessaire.
- name: Windows | Redémarrer pour compléter l'installation de PowerShell 5.0
  win_reboot:
    # Nous donnerons à Windows une heure complète pour redémarrer.
    reboot_timeout: 3600
    post_reboot_delay: 60
  when: check_powershell5.changed

Role Variables

# source des fichiers d'installation 
mssql_installation_source: https://go.microsoft.com/fwlink/?linkid=853016

# Chemin pour télécharger les médias d'installation
mssql_installation_path: C:\SQLInstall

# Chemin temporaire pour stocker le téléchargeur
mssql_temp_download_path: C:\tmp

# détails de l'instance
mssql_instance_name: Test
mssql_drive: C
mssql_userdbvol_name: Userdbvol01
mssql_port: 1433

### Configuration de la mémoire ###
# mémoire en Mo
# les valeurs doivent être divisibles par 512

# Mémoire maximale à allouer à cette instance
mssql_max_server_memory: 1024

# Mémoire à réserver pour le système d'exploitation
mssql_os_memory_reservation: 512

# Mémoire totale du système 
mssql_total_system_memory: "{{ mssql_max_server_memory + mssql_os_memory_reservation }}"

# Supprimer les redémarrages qui peuvent se produire pendant les tâches d'installation de SQL
# vous voudrez définir cela sur True si vous travaillez sur un système sensible :
mssql_suppress_reboot: False

### Comptes de service ###

# Compte de service SQL
# les déclarations regex utilisées dans certaines étapes attendent le format CONTOSO\
# n'utilisez pas @CONTOSO.com pour ces comptes car l'installation de SQL échouera
mssql_sqlsvc_account: CONTOSO\sql_svc
mssql_sqlsvc_account_pass: MyPlainTextPassWord01

# Compte de service de l'agent SQL
mssql_agentsvc_account: CONTOSO\sql_agt
mssql_agentsvc_account_pass: MyPlainTextPassWord01

# Compte du service d'analyse SQL
mssql_assvc_account: "{{ mssql_sqlsvc_account }}"
mssql_assvc_account_pass: "{{ mssql_sqlsvc_account_pass }}"

### Chemins des fichiers et dossiers ###

# chemins de volume
mssql_userdbvol_path: "{{ mssql_drive }}:\\{{ mssql_userdbvol_name }}"
mssql_db_accesspath: "{{ mssql_userdbvol_path }}\\DatabaseFiles"
mssql_logs_accesspath: "{{ mssql_userdbvol_path }}\\DatabaseLogs"

# chemins des fichiers partagés
mssql_installshared_path: C:\Program Files\Microsoft SQL Server
mssql_installsharedwow_path: C:\Program Files (x86)\Microsoft SQL Server

# chemin de l'instance
mssql_instance_path: "C:\\Program Files\\Microsoft SQL Server\\{{ mssql_instance_name }}"

# Chemins de la base de données SQL et des journaux
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 }}"

# mode de sécurité - SQL indique une authentification de type mixte, tandis que Windows indique une authentification Windows.
mssql_security_mode: sql

# mot de passe de l'utilisateur SA, si le mode de sécurité est défini sur 'SQL'
# par défaut pour les tests, nous allons être paresseux et utiliser le mot de passe du compte de service,
# mais dans les systèmes en production, vous devriez en utiliser un autre :
mssql_sa_password: "{{ mssql_sqlsvc_account_pass }}"

# fonctionnalités - Liste séparée par des virgules des fonctionnalités à installer
#
# exemple:   
# mssql_features: SQLENGINE,AS
# 
# La liste des fonctionnalités ci-dessous n'est pas testée, certaines peuvent ne pas fonctionner avec DSC
#
# Liste des fonctionnalités : 
#
# Moteur de base de données = SQLENGINE
# Réplication = REPLICATION
# Extraction de texte intégral et sémantique pour la recherche = FULLTEXT
# Services de qualité des données = DQ
# Services d'analyse = AS
# Services de reporting – natifs = RS
# Services de reporting – SharePoint = RS_SHP
# Add-in de services de reporting pour les produits SharePoint = RS_SHPWFE
# Client de qualité des données = DQC
# Outils de données SQL Server = BIDS
# Connectivité des outils clients = CONN
# Services d'intégration = IS
# Compatibilité descendante des outils clients = BC
# SDK des outils clients = SDK
# Composants de documentation = BOL
# Outils de gestion – basiques = SSMS
# Outils de gestion – avancés = ADV_SSMS
# Contrôleur de lecture distribuée = DREPLAY_CTLR
# Client de lecture distribuée = DREPLAY_CLT
# SDK de connectivité client SQL = SNAC_SDK
# Services de données Master = MDS
# ADVANCEDANALYTICS	Installe R Services, nécessite le moteur de base de données. Les installations non surveillées nécessitent le paramètre /IACCEPTROPENLICENSETERMS.   

mssql_features: SQLENGINE,FULLTEXT,CONN

# Collation
mssql_collation: SQL_Latin1_General_CP1_CI_AS

# Mode de démarrage du service de navigateur
# Spécifie le mode de démarrage pour le service SQL Server Browser. { Automatique | Désactivé | 'Manuel' }
mssql_browsersvc_mode: Automatique

# Accès par défaut au compte
# Ansible_Admin doit être inclus pour que le playbook puisse apporter des modifications de configuration après l'installation
mssql_sysadmin_accounts: 
  - CONTOSO\Domain Admins
  - CONTOSO\Administrator

# Administrateurs des services d'analyse (si installés)
mssql_asadmin_accounts: "{{ mssql_sysadmin_accounts }}"

# Options de réglage

# Lorsqu'une instance de SQL Server fonctionne sur un ordinateur ayant plus d'un microprocesseur ou CPU, 
# elle détecte le meilleur degré de parallélisme, c'est-à-dire le nombre de processeurs utilisés pour exécuter une seule instruction, 
# pour chaque exécution de plan parallèle. Vous pouvez utiliser l'option de degré de parallélisme maximal pour limiter le nombre de processeurs 
# à utiliser dans l'exécution de plans parallèles. 
#
# Si l'option d'affinité n'est pas définie sur la valeur par défaut, elle peut restreindre le nombre de processeurs disponibles pour 
# SQL Server sur des systèmes de multiprocesseur symétrique (SMP). 
#
# Pour permettre au serveur de déterminer le degré maximal de parallélisme, définissez cette option sur 0, la valeur par défaut. 
#
# Voir : 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

# Mémoire minimale à allouer à SQL
#
# Doit rester à 0 dans la plupart des cas.
#
# voir : Optimiser les performances du serveur en utilisant les options de configuration de la mémoire
# https://technet.microsoft.com/en-us/library/ms177455(v=sql.105).aspx
#
# L'option de configuration de mémoire minimale du serveur peut être utilisée pour garantir que 
# SQL Server ne libère pas de mémoire en dessous de la mémoire minimale configurée une fois ce seuil atteint. 
# Cette option de configuration peut être définie sur une valeur spécifique 
# basée sur la taille et l'activité de votre SQL Server. Si vous choisissez de définir cette valeur, 
# définissez-la sur une valeur appropriée pour vous assurer que le système d'exploitation ne demande pas trop 
# de mémoire à SQL Server, ce qui pourrait affecter les performances de SQL Server.
mssql_min_server_memory: 0

Example Playbook

- name: SQL Server
  hosts: sql_server
  tags: mssql

  roles:
  - { role: kkolk.mssql }

License

BSD / MIT

Author Information

Kevin Kolk - http://www.frostbyte.us

À propos du projet

Ansible role will install a SQL Server Developer Edition 2017 instance on supported Windows platforms.

Installer
ansible-galaxy install kkolk.mssql
Licence
Unknown
Téléchargements
515
Propriétaire