0
因此,我正在尝试编写一个Powershell脚本来创建数据库的备份,压缩备份并将其上载到FTP站点。这里是我的脚本的一部分使Powershell等待SQL脚本/查询完成
示例脚本/代码:
Write-Host "Backup of Database " $databaseName " is starting"
push-location
Invoke-Sqlcmd -Query "--SQL Script that backs up database--" -ServerInstance "$serverName"
pop-location
Write-Host "Backup of Database " + $databaseName " is complete"
#Create a Zipfile of the database
Write-Host "Compressing Database and creating Zip file...."
sz a -t7z "$zipfile" "$file"
Write-Host "Completed Compressing Database and creating Zip file!"
我想阻止后的任何代码“援引-SQLCMD .......”,直至其执行部分备份数据库的SQL脚本已完成,因为压缩线无法找到数据库的备份,因为备份需要相当长的时间才能完成。
我对使用Powershell非常陌生,并不十分理解其他可能相关的问题,我发现它们提供了一个解决方案,因为我以不同的方式调用SQL语句。
可能的相关问题:
Get Powershell to wait for an SQL command to execute
Powershell run SQL job, delay, then run the next one
如果你把它们放入一个函数并等待返回,该怎么办?没有异步。 – johnny
你有什么想法可以在退货时检查吗?该脚本将替换现有的备份,因此我无法检查文件是否存在。 –
'Invoke-SqlCmd'已经是一个同步cmdlet。如果要进行下一步,那是因为该声明已完成执行。 –