首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell捕获SQL错误并重定向到日志文件

问Powershell捕获SQL错误并重定向到日志文件
EN

Stack Overflow用户
提问于 2016-01-10 04:55:57
回答 1查看 2.7K关注 0票数 0

我尝试过在我的powershell中使用catch语句来处理错误异常,但是下面的语句没有将sql消息输出到.log文件中。

代码语言:javascript
复制
Try{

Invoke-SqlCmd -InputFile "D:\DropBoxFolder\Dropbox\Public\WIKI_POWERSHELL\AdminTask\ExecutePowerShell_From_BAT\Map_AU.sql"
   }

Catch{
$ErrorMessage = $_.Exception.Message
$Time=Get-Date
"This script failed at $Time and error message was $ErrorMessage" | out-file D:\DropBoxFolder\Dropbox\Public\WIKI_POWERSHELL\AdminTask\ExecutePowerShell_From_BAT\Inovke_SQLScript.log -append
   }

Finally{

$Time=Get-Date
"This script made a read attempt at $Time" | out-file D:\DropBoxFolder\Dropbox\Public\WIKI_POWERSHELL\AdminTask\ExecutePowerShell_From_BAT\Inovke_SQLScript.log -append

$con.Close()
   }

在这里,从powershell返回的错误,我想将错误重定向到.log

Invoke-Sqlcmd :数据库中已经有一个名为“Map_AU234”的对象。在D:\DropBoxFolder\Dropbox\Public\WIKI_POWERSHELL\AdminTask\ExecutePowerShell_ From_BAT\Inovke_SQLScript.ps1:49 char:14 + Invoke-SqlCmd <<<< -InputFile "D:\DropBoxFolder\Dropbox\Public\WIKI_POWERSHE LL\AdminTask\ExecutePowerShell_From_BAT\Map_AU.sql“+ CategoryInfo : InvalidOperation:(:) Invoke-Sqlcmd,SqlPowerS hellSqlExecutionException + FullyQualifiedErrorId : SqlError,Microsoft.SqlServer.Management.PowerShe ll.GetScriptCommand

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-10 08:42:28

在Invoke-SqlCmd的末尾添加-ErrorAction Stop之后,它就可以工作了。

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

https://stackoverflow.com/questions/34702221

复制
相关文章

相似问题

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