我可以在针对不同SQL服务器的同一PowerShell脚本中使用多个Invoke-Sqlcmd命令吗?

时间:2013-10-08 23:21:44

标签: sql-server powershell

这就是我所拥有的:

Add-PSSnapin sqlservercmdletsnapin100
Add-PSSnapin sqlserverprovidersnapin100

Invoke-Sqlcmd -inputfile "somefile0.sql" -Server "server0" -Username user0 -Password password0
Invoke-Sqlcmd -inputfile "somefile1.sql" -Server "server1" -Username user1 -Password password1

每个运行的Invoke-Sqlcmd运行正常。当放在如上所述的脚本中时,最后一个Invoke-Sqlcmd不会向屏幕返回任何结果。

1 个答案:

答案 0 :(得分:1)

我想出来了。事实证明,当我将每个Invoke-Sqlcmd的结果返回给变量然后输出变量时,它运行良好。像这样:

Add-PSSnapin sqlservercmdletsnapin100
Add-PSSnapin sqlserverprovidersnapin100

$result0 = Invoke-Sqlcmd -inputfile "somefile0.sql" -Server "server0" -Username user0 -Password password0
$result1 = Invoke-Sqlcmd -inputfile "somefile1.sql" -Server "server1" -Username user1 -Password password1

Write-Host $result0.ItemArray
Write-Host $result1.ItemArray

现在可以看到屏幕输出,但格式不正确。接下来就会理顺了。