kkolk.mssql
kkolk.mssql
説明
このAnsibleロールは、対応するWindowsプラットフォームにSQL Server Developer Edition 2017インスタンスをインストールします。このロールは、サポートされている任意のSQLサーバーインストールを行うように調整できます。私はこれを使ってSQL Server 2012/2014をインストールしました。
このロールは、必要に応じてローカルファイアウォールの変更も行い、SQLインスタンスの設定調整方法を示します。
デフォルト値を使用することで、私がhttp://frostbyte.us/configure-an-ansible-testing-system-on-windows-part-1/ に投稿した一連の投稿を通じて設定したWindowsテスト環境のメンバーサーバーに追加できるロールとして設計されています。
要件
ターゲットホストにはPowershell 5.0 / WMF 5.1がインストールされている必要があります。
以下の2ステップで行うことができます:
# 最新の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に再起動のための時間を1時間与えます。
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
# OSに予約するメモリ
mssql_os_memory_reservation: 512
# システム全体のメモリ
mssql_total_system_memory: "{{ mssql_max_server_memory + mssql_os_memory_reservation }}"
# SQLセットアップタスク中に発生する可能性のある再起動を抑制
# センシティブなシステムで作業している場合はTrueに設定してください:
mssql_suppress_reboot: False
### サービスアカウント ###
# SQLサービスアカウント
# regexはCONTOSO\形式を期待します
# SQLインストールは失敗するため、これらのアカウントに@CONTOSO.comを使用しないでください
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 Installs R Services、データベースエンジンを必要とします。無人インストールは/IACCEPTROPENLICENSETERMSパラメータが必要です。
mssql_features: SQLENGINE,FULLTEXT,CONN
# 照合順序
mssql_collation: SQL_Latin1_General_CP1_CI_AS
# ブラウザーサービスの起動モード
# SQL Server Browserサービスの起動モードを指定します。 { 自動 | 無効 | '手動' }
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から過剰なメモリを要求しないように
# 妥当な値に設定してください。それが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