首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >取消Invoke-SQLCMD警告

取消Invoke-SQLCMD警告
EN

Stack Overflow用户
提问于 2017-06-08 00:19:21
回答 2查看 2.2K关注 0票数 1

我有以下代码:

代码语言:javascript
复制
invoke-sqlcmd -ServerInstance $server\$instance -InputFile "$Path\checkDBEncryption.sql" -ErrorAction Ignore -ErrorVariable var | Format-Table;

我需要在powershell输出中隐藏invoke-sqlcmd中的任何错误,因为我已经在一个单独的文件中记录了这些错误。问题是,-ErrorAction Ignore (或SilentlyContinue)不起作用,并且不能设置$ErrorActionPreference。

EN

回答 2

Stack Overflow用户

发布于 2017-06-08 00:28:02

如果您想像以前那样将数据发送到bit-bucket,请使用以下三种技术之一:

代码语言:javascript
复制
cmdlet | out-null

或者..。

代码语言:javascript
复制
[void]cmdlet

或者..。(与您的情况相关):

代码语言:javascript
复制
cmdlet -ErrorVariable $errorvar
cmdlet -WarningVariable $warningvar

所有现代shell中的"I/O“都是通过流完成的。最常见的是标准输出(STDOUT)、标准错误(STDERR)和标准输入(STDIN)。PowerShell有更多的功能(例如调试、详细等)。大多数情况下,正常输出会进入三个主流之一。但是,数据也可以从详细流或调试流中发出。大多数交互都是基于3个主要类型的,所以当尝试从cmdlet分配输出时,您实际上是在尝试从STDOUT分配一些东西,但数据来自STDERR……

以防您的问题涉及到实际处理错误,您需要捕获它,其语法如下:

代码语言:javascript
复制
try {
   cmdlet -ERRORACTION STOP
} catch {
   ## Do something with $_ or $error[0] or nothing at all
}

-erroraction停止是全部大写的,因为它是必需的。错误陷阱仅捕获终止错误。PowerShell缺省为非终止错误(使用上面提到的错误操作首选项变量),这就是为什么我们需要明确定义此cmdlet应在出错时终止。这允许我们的错误捕获逻辑在必要时处理不同的可能错误情况。

编辑--包括注释中的一个示例:

代码语言:javascript
复制
try {
   $sql = invoke-sqlcmd -ServerInstance $server\$instance -InputFile "$Path\checkDBEncryption.sql" -ErrorAction Stop 
} catch {
   ## do nothing, leave this blank or leave this comment
}
票数 1
EN

Stack Overflow用户

发布于 2017-06-08 00:20:58

我建议将其赋给一个变量:

代码语言:javascript
复制
$response = invoke-sqlcmd -ServerInstance $server\$instance -InputFile "$Path\checkDBEncryption.sql" -ErrorAction Ignore -ErrorVariable var | Format-Table;

如果不将操作分配给变量,则该cmdlet返回的任何内容基本上都将转储到控制台中。

在某些情况下,它还会导致变量赋值问题(取决于代码的编写方式)。

例如,如果有一个函数返回一个值,但没有与之关联的变量,则该变量将返回到调用该函数的实例。

此外,我建议您确保您试图使该问题保持沉默,这不会影响您的日志记录详细信息。我相信你的修复很简单,就像这个变量赋值一样。

希望这对这个问题有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44418020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档