kkolk.mssql
kkolk.mssql
Beschreibung
Diese Ansible-Rolle installiert eine SQL Server Developer Edition 2017-Instanz auf unterstützten Windows-Plattformen. Diese Rolle kann angepasst werden, um jede unterstützte SQL Server-Installation zu installieren. Ich habe Varianten davon verwendet, um SQL Server 2012/2014 zu installieren.
Diese Rolle kümmert sich auch um Änderungen der lokalen Firewall nach Bedarf und zeigt, wie man Konfigurationseinstellungen für die SQL-Instanz anpasst.
Mit den Standardwerten ist sie so konzipiert, dass sie als Rolle funktioniert, die zum Mitgliedsserver in der von mir über eine Reihe von Beiträgen auf http://frostbyte.us/configure-an-ansible-testing-system-on-windows-part-1/ dargestellten Windows-Testumgebung hinzugefügt werden kann.
Anforderungen
Powershell 5.0 / WMF 5.1 sollte auf dem Zielhost installiert sein.
Dies kann in zwei Schritten durchgeführt werden mit:
# Die neueste Powershell gibt uns mehr Flexibilität bei der Verwendung von Windows DSC-Elementen
- name: Windows | Powershell 5.0 installieren
win_chocolatey:
name: "powershell"
register: check_powershell5
become: yes
become_user: Administrator
become_method: runas
retries: 3
delay: 10
# Powershell 5.0 erfordert einen Neustart, also lassen Sie uns das erledigen, wenn es notwendig ist.
- name: Windows | Neustart, um die Installation von Powershell 5.0 abzuschließen
win_reboot:
# Wir geben Windows eine volle Stunde zum Neustarten.
reboot_timeout: 3600
post_reboot_delay: 60
when: check_powershell5.changed
Rollenvariablen
# Quelle der Installationsdateien
mssql_installation_source: https://go.microsoft.com/fwlink/?linkid=853016
# Pfad zum Herunterladen des Installationsmediums
mssql_installation_path: C:\SQLInstall
# Temporärer Pfad zum Speichern des Downloads
mssql_temp_download_path: C:\tmp
# Instanzdetails
mssql_instance_name: Test
mssql_drive: C
mssql_userdbvol_name: Userdbvol01
mssql_port: 1433
### Speicherkonfiguration ###
# Speicher in MB
# Werte müssen durch 512 teilbar sein
# Maximaler Speicher, der dieser Instanz zugewiesen werden soll
mssql_max_server_memory: 1024
# Speicher, der für das Betriebssystem reserviert werden soll
mssql_os_memory_reservation: 512
# Gesamter Systemspeicher
mssql_total_system_memory: "{{ mssql_max_server_memory + mssql_os_memory_reservation }}"
# Unterdrücken von Neustarts, die während der SQL-Setup-Aufgaben auftreten können
# Sie sollten dies auf True setzen, wenn Sie an einem sensiblen System arbeiten:
mssql_suppress_reboot: False
### Dienstkonten ###
# SQL-Dienstkonto
# Regex-Aussagen, die in einigen Schritten verwendet werden, erwarten das Format CONTOSO\
# Verwenden Sie kein @CONTOSO.com für diese Konten, da die SQL-Installation fehlschlägt
mssql_sqlsvc_account: CONTOSO\sql_svc
mssql_sqlsvc_account_pass: MyPlainTextPassWord01
# SQL-Agent-Dienstkonto
mssql_agentsvc_account: CONTOSO\sql_agt
mssql_agentsvc_account_pass: MyPlainTextPassWord01
# SQL-Analysetools-Konto
mssql_assvc_account: "{{ mssql_sqlsvc_account }}"
mssql_assvc_account_pass: "{{ mssql_sqlsvc_account_pass }}"
### Datei- und Ordnerpfade ###
# Volumenpfade
mssql_userdbvol_path: "{{ mssql_drive }}:\\{{ mssql_userdbvol_name }}"
mssql_db_accesspath: "{{ mssql_userdbvol_path }}\\DatabaseFiles"
mssql_logs_accesspath: "{{ mssql_userdbvol_path }}\\DatabaseLogs"
# Gemeinsame Dateipfade
mssql_installshared_path: C:\Program Files\Microsoft SQL Server
mssql_installsharedwow_path: C:\Program Files (x86)\Microsoft SQL Server
# Instanzpfad
mssql_instance_path: "C:\\Program Files\\Microsoft SQL Server\\{{ mssql_instance_name }}"
# SQL DB- und Protokollpfade
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 }}"
# Sicherheitsmodus - SQL steht für gemischte Authentifizierung, während Windows Windows-Authentifizierung bedeutet.
mssql_security_mode: sql
# SA-Benutzerpasswort, wenn der Sicherheitsmodus auf 'SQL' gesetzt ist
# Standardmäßig für Tests verwenden wir faul das Passwort des Dienstkontos,
# aber in produktiven Systemen sollten Sie etwas anderes verwenden:
mssql_sa_password: "{{ mssql_sqlsvc_account_pass }}"
# Funktionen - Komma-getrennte Liste der zu installierenden Funktionen
#
# Beispiel:
# mssql_features: SQLENGINE,AS
#
# Die folgende Liste von Funktionen wurde nicht getestet, einige funktionieren möglicherweise nicht mit DSC
#
# Funktionenliste:
#
# Datenbank-Engine = SQLENGINE
# Replikation = REPLICATION
# Volltext- und semantische Extraktionen für die Suche = FULLTEXT
# Datenqualitätsdienste = DQ
# Analysedienste = AS
# Berichterstattungsdienste - nativ = RS
# Berichterstattungsdienste – SharePoint = RS_SHP
# Berichterstattungsdienste-Add-In für SharePoint-Produkte = RS_SHPWFE
# Datenqualitäts-Client = DQC
# SQL Server-Datenwerkzeuge = BIDS
# Clientwerkzeuge-Konnektivität = CONN
# Integrationsdienste = IS
# Clientwerkzeuge-Rückwärtskompatibilität = BC
# Clientwerkzeuge-SDK = SDK
# Dokumentationskomponenten = BOL
# Verwaltungswerkzeuge – Basis = SSMS
# Verwaltungswerkzeuge – Erweitert = ADV_SSMS
# Verteilte Wiedergabe-Controller = DREPLAY_CTLR
# Verteilte Wiedergabe-Client = DREPLAY_CLT
# SQL-Client-Konnektivität-SDK = SNAC_SDK
# Master-Daten-Dienste = MDS
# ADVANCEDANALYTICS Installiert R-Dienste, benötigt die Datenbank-Engine. Unattended-Installationen erfordern den Parameter /IACCEPTROPENLICENSETERMS.
mssql_features: SQLENGINE,FULLTEXT,CONN
# Sortierung
mssql_collation: SQL_Latin1_General_CP1_CI_AS
# Startmodus des Browserservices
# Gibt den Startmodus für den SQL Server Browserservice an. { Automatisch | Deaktiviert | 'Manuell' }
mssql_browsersvc_mode: Automatisch
# Zugriff auf Standardkonten
# Ansible_Admin muss enthalten sein, damit das Playbook nach der Installation Konfigurationsänderungen vornehmen kann
mssql_sysadmin_accounts:
- CONTOSO\Domain Admins
- CONTOSO\Administrator
# Verwaltungsdienste (wenn installiert)
mssql_asadmin_accounts: "{{ mssql_sysadmin_accounts }}"
# Optimierungsoptionen
# Wenn eine Instanz von SQL Server auf einem Computer mit mehr als einem Mikroprozessor oder CPU läuft,
# erkennt sie den besten Grad der Parallelität, das heißt, die Anzahl der Prozessoren, die zum Ausführen einer einzelnen Anweisung verwendet werden,
# für jede parallele Plan-Ausführung. Sie können die maximale Grad-der-Parallelitätsoption verwenden, um die Anzahl der Prozessoren
# zu begrenzen, die in der parallelen Plan-Ausführung verwendet werden.
#
# Wenn die Affinitätsmaske nicht auf den Standardwert gesetzt ist, kann dies die Anzahl der Prozessoren einschränken, die
# SQL Server auf symmetrischen Multiprocessing (SMP)-Systemen zur Verfügung hat.
#
# Um dem Server zu ermöglichen, den maximalen Grad der Parallelität zu bestimmen, setzen Sie diese Option auf 0, den Standardwert.
#
# Siehe: 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
# Minimaler Speicher, der SQL zugewiesen werden soll
#
# Sollte in den meisten Fällen 0 bleiben.
#
# siehe: Optimierung der Serverleistung mit Speicheroptionen
# https://technet.microsoft.com/en-us/library/ms177455(v=sql.105).aspx
#
# Die minimale Serverspeicherkonfigurationsoption kann verwendet werden, um sicherzustellen, dass
# SQL Server keinen Speicher unterhalb des konfigurierten minimalen Serverspeichers freigibt,
# sobald dieser Schwellenwert erreicht ist. Diese Konfigurationsoption kann auf einen bestimmten Wert gesetzt werden
# basierend auf der Größe und Aktivität Ihres SQL Servers. Wenn Sie entscheiden, diesen Wert festzulegen,
# setzen Sie ihn auf einen angemessenen Wert, um sicherzustellen, dass das Betriebssystem SQL Server nicht zu viel
# Speicher anfordert, was die Leistung von SQL Server beeinträchtigen kann.
mssql_min_server_memory: 0
Beispiel-Playbook
- name: SQL Server
hosts: sql_server
tags: mssql
roles:
- { role: kkolk.mssql }
Lizenz
BSD / MIT
Autoreninformation
Kevin Kolk - http://www.frostbyte.us
Ansible role will install a SQL Server Developer Edition 2017 instance on supported Windows platforms.
ansible-galaxy install kkolk.mssql