invoke-sqlcmd 到文件语法的详细输出是什么?
What is the invoke-sqlcmd verbose output to file syntax?
我目前有:
(invoke-sqlcmd -inputfile (Join-Path $FileDirectory $FileName) -ServerInstance $ServerName -verbose) > $OutFileName
我得到的输出:
VERBOSE: Changed database context to 'BLUELABEL'
我正在尝试使用详细输出写入由 Join-Path 函数指定的文件。
我做错了什么?
(使用 PowerShell V3)
我确实找到了这个问题的答案,但它似乎有所不同,我似乎无法应用相同的想法:Powershell Invoke-Sqlcmd capture verbose output
详细输出与常规输出写入不同的流。 >
运算符仅重定向成功输出流。要重定向您需要的详细输出流
(...) 4> $OutFileName
或
(...) 4>&1 > $OutFileName
如果您想合并成功和详细输出流。
有关详细信息,请参阅 about_Redirection。
我最终得到了
sqlps -Command "&{invoke-sqlcmd -inputfile (Join-Path $PSScriptRoot $file) -ServerInstance $server -verbose}" *> "$PSScriptRoot\SqlLog_$file`_$(get-date -f yyyy-MM-dd-hh-mm-ss).txt"
上班。
最初我调用了另一个脚本并将 3 个变量传递给它,然后 运行 invoke-sqlcmd 调用。出于某种原因导致我无法使用“*>”或任何与“>”组合的字符。
也许其他人可以详细说明为什么会这样。
我目前有:
(invoke-sqlcmd -inputfile (Join-Path $FileDirectory $FileName) -ServerInstance $ServerName -verbose) > $OutFileName
我得到的输出:
VERBOSE: Changed database context to 'BLUELABEL'
我正在尝试使用详细输出写入由 Join-Path 函数指定的文件。
我做错了什么?
(使用 PowerShell V3)
我确实找到了这个问题的答案,但它似乎有所不同,我似乎无法应用相同的想法:Powershell Invoke-Sqlcmd capture verbose output
详细输出与常规输出写入不同的流。 >
运算符仅重定向成功输出流。要重定向您需要的详细输出流
(...) 4> $OutFileName
或
(...) 4>&1 > $OutFileName
如果您想合并成功和详细输出流。
有关详细信息,请参阅 about_Redirection。
我最终得到了
sqlps -Command "&{invoke-sqlcmd -inputfile (Join-Path $PSScriptRoot $file) -ServerInstance $server -verbose}" *> "$PSScriptRoot\SqlLog_$file`_$(get-date -f yyyy-MM-dd-hh-mm-ss).txt"
上班。
最初我调用了另一个脚本并将 3 个变量传递给它,然后 运行 invoke-sqlcmd 调用。出于某种原因导致我无法使用“*>”或任何与“>”组合的字符。
也许其他人可以详细说明为什么会这样。