2022-11-09 10:23:00 +00:00
|
|
|
- hosts: sqlserver
|
|
|
|
gather_facts: no
|
|
|
|
vars:
|
2023-11-13 10:09:09 +00:00
|
|
|
ansible_python_interpreter: /opt/py3/bin/python
|
2022-11-09 10:23:00 +00:00
|
|
|
|
|
|
|
tasks:
|
|
|
|
- name: Test SQLServer connection
|
|
|
|
community.general.mssql_script:
|
|
|
|
login_user: "{{ jms_account.username }}"
|
|
|
|
login_password: "{{ jms_account.secret }}"
|
|
|
|
login_host: "{{ jms_asset.address }}"
|
|
|
|
login_port: "{{ jms_asset.port }}"
|
2023-01-31 09:57:06 +00:00
|
|
|
name: '{{ jms_asset.spec_info.db_name }}'
|
2022-11-09 10:23:00 +00:00
|
|
|
script: |
|
|
|
|
SELECT @@version
|
|
|
|
register: db_info
|
|
|
|
|
2023-01-31 09:57:06 +00:00
|
|
|
- name: SQLServer version
|
|
|
|
set_fact:
|
|
|
|
info:
|
|
|
|
version: "{{ db_info.query_results[0][0][0][0].splitlines()[0] }}"
|
|
|
|
- debug:
|
|
|
|
var: info
|
2022-11-09 10:23:00 +00:00
|
|
|
|
2023-02-16 08:53:46 +00:00
|
|
|
- name: Check whether SQLServer User exist
|
|
|
|
community.general.mssql_script:
|
|
|
|
login_user: "{{ jms_account.username }}"
|
|
|
|
login_password: "{{ jms_account.secret }}"
|
|
|
|
login_host: "{{ jms_asset.address }}"
|
|
|
|
login_port: "{{ jms_asset.port }}"
|
|
|
|
name: '{{ jms_asset.spec_info.db_name }}'
|
|
|
|
script: "SELECT 1 from sys.sql_logins WHERE name='{{ account.username }}';"
|
|
|
|
when: db_info is succeeded
|
|
|
|
register: user_exist
|
|
|
|
|
2023-02-15 07:13:45 +00:00
|
|
|
- name: Change SQLServer password
|
|
|
|
community.general.mssql_script:
|
|
|
|
login_user: "{{ jms_account.username }}"
|
|
|
|
login_password: "{{ jms_account.secret }}"
|
|
|
|
login_host: "{{ jms_asset.address }}"
|
|
|
|
login_port: "{{ jms_asset.port }}"
|
|
|
|
name: '{{ jms_asset.spec_info.db_name }}'
|
2023-09-20 13:45:21 +00:00
|
|
|
script: "ALTER LOGIN {{ account.username }} WITH PASSWORD = '{{ account.secret }}', DEFAULT_DATABASE = {{ jms_asset.spec_info.db_name }}; select @@version"
|
2023-06-09 08:52:54 +00:00
|
|
|
ignore_errors: true
|
2023-02-16 08:53:46 +00:00
|
|
|
when: user_exist.query_results[0] | length != 0
|
|
|
|
|
|
|
|
- name: Add SQLServer user
|
|
|
|
community.general.mssql_script:
|
|
|
|
login_user: "{{ jms_account.username }}"
|
|
|
|
login_password: "{{ jms_account.secret }}"
|
|
|
|
login_host: "{{ jms_asset.address }}"
|
|
|
|
login_port: "{{ jms_asset.port }}"
|
|
|
|
name: '{{ jms_asset.spec_info.db_name }}'
|
2023-09-20 13:45:21 +00:00
|
|
|
script: "CREATE LOGIN {{ account.username }} WITH PASSWORD = '{{ account.secret }}', DEFAULT_DATABASE = {{ jms_asset.spec_info.db_name }}; CREATE USER {{ account.username }} FOR LOGIN {{ account.username }}; select @@version"
|
2023-06-09 08:52:54 +00:00
|
|
|
ignore_errors: true
|
2023-02-16 08:53:46 +00:00
|
|
|
when: user_exist.query_results[0] | length == 0
|
2022-11-09 10:23:00 +00:00
|
|
|
|
2023-02-15 07:13:45 +00:00
|
|
|
- name: Verify password
|
|
|
|
community.general.mssql_script:
|
|
|
|
login_user: "{{ account.username }}"
|
|
|
|
login_password: "{{ account.secret }}"
|
|
|
|
login_host: "{{ jms_asset.address }}"
|
|
|
|
login_port: "{{ jms_asset.port }}"
|
|
|
|
name: '{{ jms_asset.spec_info.db_name }}'
|
|
|
|
script: |
|
|
|
|
SELECT @@version
|