Devops/Ansible

MSSQL 별칭 관리

BabyTT 2022. 8. 30. 20:55

SQLServer Alias 등록/삭제를 위한 Ansible Role

SQL Server alias는 접속을 위해 도메인 정보, 포트 정보등을 생략하고 별칭으로 접속하고자 할 때 생성하여 사용

Ansible 사용 모듈

defaults/main.yml

sql_version: "{% if (mssql2014_configure==true) %}2014{% elif (mssql2016_configure==true) %}2016{% elif (mssql2017_configure==true) %}2017{% elif (mssql2019_configure==true) %}2019{% else %}''{% endif %}"

sql_serverlist:
"Alias명1" : "IP1"
"Alias명2" : "IP2"
"Alias명3" : "127.0.0.3"

# sqlserver Reg Path needs "sql_version" variable
sql_reg_path : "HKLM:\\SOFTWARE\\Microsoft\\MSSQLServer\\Client\\ConnectTo"
sql_reg_path64 : "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\MSSQLServer\\Client\\ConnectTo"



tasks/main.yml

- name: "Add Sqlserver Alias"
  win_regedit:
    path: "{{ sql_reg_path }}"
    name: "{{ item.key }}"
    data: "DBMSSOCN,{{ item.value }},포트정보"
    type: string
    state: present  #삭제 시 absent 
  with_dict: "{{ sql_serverlist }}"
#  when: Create_Reg_variables is defined

- name: "Add Sqlserver Alias"
  win_regedit:
    path: "{{ sql_reg_path64 }}"
    name: "{{ item.key }}"
    data: "DBMSSOCN,{{ item.value }},포트정보"
    type: string
  with_dict: "{{ sql_serverlist }}"
#  when: Create_Reg_variables is defined