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。如果要進行下一步,那是因爲該聲明已完成執行。 –