Powershell
如何將多個invoke-sqlcmd詳細輸出記錄到單個日誌文件中,同時通過標誌顯示/不顯示它們到prowershell提示符中
假設我們有多個 invoke-sqlcmd 語句,如下所示:
invoke-sqlcmd -Query "PRINT 'Hello World 1'" -ServerInstance Server\SQL2017 -Database abc -Verbose invoke-sqlcmd -Query "PRINT 'Hello World 2'" -ServerInstance Server\SQL2017 -Database abc -Verbose invoke-sqlcmd -Query "PRINT 'Hello World 3'" -ServerInstance Server\SQL2017 -Database abc -Verbose
我想做以下事情:
- 我想將多個 invoke-sqlcmd 命令的詳細輸出語句記錄到單個日誌文件中
- 除了登錄日誌文件,我們還可以在 powershell 視窗中顯示詳細輸出嗎?另外,我們可以通過任何標誌來管理它以在 powershell 視窗中顯示輸出嗎?
請建議是否可能。
對於第一個問題,我同意@Kin Shah 的上述文章。對於第二個問題,這意味著如果我們想將詳細消息記錄到日誌文件和 PowerShell 視窗中,那麼我們可以使用 tee-object 如下所示:
invoke-sqlcmd -Query "PRINT 'Hello World'" -ServerInstance WL357044\SQL2017 -Database abc -Verbose *>&1| tee-object -FilePath test.log -Append
對於 1,您可以使用PowerShell 重定向運算符。根據Redirectable output streams,steam 4 是您想要的 Verbose Stream。
呼叫-sqlcmd ….-verbose 4>>“D:\temp\yourlogfile.log”
以上會將您所有的 invoke-sqlcmd 附加到一個日誌文件中
"D:\temp\yourlogfile.log"
我不清楚你的問題第 2 部分。