Я пытаюсь выполнить запрос на удаленном экземпляре SQL-сервера, используя ansible для вызова invok-sqlcmd.Не удается выполнить один из экземпляров и вернуть результаты.На всех остальных работает без ошибок.
Не знаю, если это проблема с Ansible или powershell или SQL Server, чтобы разрешить ANSIBLE запрос через win-shell.
- hosts: localhost
gather_facts: false
tasks:
- name: kerberos ticket for individual svc account
include_tasks: dbserveraudit_kerbinit.yml
vars:
ansible_user: "{{ hostvars[item]['svc_user'] }}"
with_items: "{{ groups['current_sqlservers'] }}"
- hosts: management
gather_facts: false
tasks:
- name: Test sql Connection using svc account
include_tasks: **dbserveraudit_checksqlconnectivity**.yml
vars:
ansible_user: "{{ hostvars[item]['svc_user'] }}@{{admin_domain | upper }}"
sqlserver: "{{ hostvars[item]['svc_user'] | regex_replace('svc','') }}"
with_items: "{{ groups['current_sqlservers'] }}"
dbserveraudit_checksqlconnectivity.yml
- block:
- name: Connect and run query on current db server
win_shell: Invoke-Sqlcmd -Query "SELECT SERVERPROPERTY('ServerName')" -ServerInstance {{ sqlserver }} -Verbose -OutputSqlErrors 1 -AbortOnError -querytimeout 65335 -Debug
register: connectsql
ignore_errors: true
Ошибка Я получаю -
"Invoke-Sqlcmd: Windows PowerShell находится в неинтерактивном режиме. Чтение и подсказка \Функциональность r \ n недоступна. \ r \ nВ строке: 1 символ: 65 \ r \ n + [Console] :: InputEncoding = New-Object Text.UTF8Encoding $ false; \ r \ nInvoke-Sqlcmd -Q ... \ r\ n +
+ CategoryInfo : InvalidResult: (US02PRDSQL271B:PSObject) [Invoke \r\n -Sqlcmd], PSInvalidOperationException\r\n +
FullyQualifiedErrorId :
ExecutionFailed,Microsoft.SqlServer.Management.P \r\n
owerShell.GetScriptCommand",