我在PS脚本下面创建了一个表格。我想捕获来自sql server的消息输出(命令成功完成。)。有办法实现吗?
我尝试了-详细切换,但没有帮助。
PS文件:
$CreateTableFile = "C:\DBScripts\CreateTable.sql"
Invoke-Sqlcmd -ServerInstance xyz -InputFile $CreateTableFile -Database "PSLearning" -Verbose
CreateTable.sql:
CREATE TABLE abc (
column_1 int,
)
答案 0 :(得分:0)
您没有说想要捕获的内容。一切或只是错误。
错误,您可以使用try / catch,可以使用Start-Transcript的所有内容,或编写自己的日志代码或诸如打印脚本之类的东西。
示例:
Invoke-Sqlcmd -Query "update your database set column_name ={expression} where <search_condition>; PRINT 'update successfully';" –Verbose
如内置帮助文件中所述……
# get function / cmdlet details
(Get-Command -Name Invoke-SqlCmd).Parameters
Get-help -Name Invoke-SqlCmd -Full
Get-help -Name Invoke-SqlCmd -Online
Get-help -Name Invoke-SqlCmd -Examples
Get-help -Name Invoke-SqlCmd -Examples
# -------------------------- EXAMPLE 5 --------------------------
C:\PS>Invoke-Sqlcmd -Query "PRINT N'abc'" -Verbose
VERBOSE: abc
# Description
# -----------
# This example uses the PowerShell -Verbose parameter to return the message output of the PRINT command.
...或在线的。
您可以显示SQL Server消息输出,例如结果 通过指定Verbose参数从SQL PRINT语句中删除
示例5:运行查询并显示详细输出
PSet-Location "SQLSERVER:\SQL\MyComputer\MainInstance"
Invoke-SqlCmd -Query "PRINT N'abc'" -Verbose
VERBOSE: abc