[英]Invoke-Async to deploy SQL script on multiple servers.
我正在尝试使用invoke-Async将SQL脚本部署到多个sql服务器。
异步调用代码在这里 。 该脚本使用invoke-sqlcmd2,其代码在此处 。
以下非sql服务器代码的作品。
$sb = [scriptblock] {param($system) gwmi win32_operatingsystem -ComputerName $system | select csname,caption}
$servers = 'Server1', 'Server2', 'Server3', 'Server4'
$rtn = Invoke-Async -Set $servers -SetParam system -ScriptBlock $sb
$rtn
我对代码进行了一些调整(如下所示),以用于SQL Server。 不起作用 显然,我缺少了一些东西。 非常感谢任何帮助。 谢谢。
$sb = [scriptblock] {param($system) Invoke-SQLCmd2 -ServerInstance $system -ServerInstance 'select name from sys.databases' }
$servers = 'Server1', 'Server2', 'Server3', 'Server4'
$rtn = Invoke-Async -Set $servers -SetParam system -ScriptBlock $sb
$rtn
这很简单。 由于您正在返回行。 只需使用invoke-sqlcmd。。不确定使用invoke-sqlcmd2 -As DataTable时invoke-Async是否会返回表。
$sb = [scriptblock] {param($system) Invoke-Sqlcmd -ServerInstance $system -query 'select name from sys.databases' }
$servers = 'Server1', 'Server2', 'Server3'
$rtn = Invoke-Async -Set $servers -SetParam system -ScriptBlock $sb -Verbose
$rtn
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.