繁体   English   中英

调用异步以在多个服务器上部署SQL脚本。

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM