Powershell invoke-sqlcmd from query in a txt file



>我在一个文件夹的多个文本文件中有 TSQL 插入语句。我需要在 sql 服务器上使用 powershell 中的 foreach 循环运行。它应该转到文件夹中的每个文件 读取查询 执行该查询并再次终止连接 读取下一个文件并执行相同的操作

invoke-sqlcmd -ServerInstance KUMSUSHI7 -Query (Get-Content | For-each "C:DrillTaskSAMS AutomationQuery.txt")

请帮我这个

Invoke-Sqlcmd可以将脚本文件作为参数,因此不需要-Query。MSDN上有一个例子:

Invoke-Sqlcmd -InputFile "C:TestSQLCmd.sql" | Out-File -filePath "C:TestSQLCmd.rpt"

因此,获取sql文件的列表并将文件名传递给Invoke-Sqlcmd,如下所示,

gci "c:somepath*" -include *.sql | % {
    Invoke-Sqlcmd -InputFile $_.FullName
}

最新更新