[英]Ansible invoke-sqlcmd fails with Invoke-Sqlcmd : Windows PowerShell is in NonInteractive mode. Read and Prompt \r\nfunctionality is not available
我正在尝试使用ansible调用-sqlcmd在远程SQL Server实例上运行查询。 它无法在实例之一上执行并返回结果。 在所有其他运行上没有错误。
不知道这是否是Ansible或powershell或SQL Server的问题,无法通过win-shell进行ansible查询。
- 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'] }}"
- 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行:1个字符:65 \\ r \\ n + [控制台] :: InputEncoding =新对象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",
详细度使用交互式输出。 将输出通过管道传输到日志文件或NUL:提示:无限查询超时为:0;)尝试:
$Log: "c:\temp\test.txt"
(Invoke-SqlCmd -query "Select 1" -Verbose -OutputSqlErrors 1 -AbortOnError -querytimeout 0 -Debug) *>> $Log
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.