我的目標是讓PowerShell腳本針對特定的SQL服務器運行多個Sqlquery.sql文件,然後將輸出記錄到日誌文件中。運行多個* .sql查詢文件登錄到文件
我無法使日誌記錄工作,我不知道我錯過了什麼。我的日誌文件總是空的,我不知所措。
內容的C:\ TEMP:
Build1.SQL Build2.SQL Build3.sql Build4.sql Build5.SQL Build6.SQL
$PatchPostConvSQLScripts = Get-ChildItem -Path C::\Temp -Filter *.sql -Name
$Queries = $PatchPostConvSQLScripts
foreach ($query in $Queries){
Write-Host "Starting: $query"
Invoke-Sqlcmd -ServerInstance $DBServer -InputFile $query |
Out-File "C:\TEMP\scriptResults.log"
Write-Host "Completed: $query"
}
一旦我得到它記錄到文件,我需要每次都得到一個新行與`n`r
,但寶寶現在幾步之遙。
有沒有更好的方法來做到這一點,我只是不知道?
愚蠢的問題,但做你的腳本* *生成任何輸出?也就是說,如果你在不將'invoke-sqlcmd'調用管道輸出到'out-file'的情況下運行它們,屏幕上是否會輸出? –
你是否錯過了Out-File的-append標誌? –