【问题标题】:How to get the SQL Server script error in a batch File如何在批处理文件中获取 SQL Server 脚本错误
【发布时间】:2015-01-19 18:16:09
【问题描述】:

我在批处理文件上调用 SQL Server 脚本,但我需要在批处理文件中得到错误(当脚本失败时),我该怎么办?

这是批处理文件:

sqlcmd -S HOST  -U User -P password -i test.sql
echo %errorlevel%

这是脚本文件(Test.sql):

USE TrainingSitecore_Web  
go

SELECT * FROM   items 
go

RAISERROR ('This is a test Error.',-- Message text.
           16,-- Severity.
           1 -- State.
); 

有意义吗?

【问题讨论】:

标签: sql-server batch-file error-handling sql-scripts


【解决方案1】:

可以使用-r参数来完成:

例子:

sqlcmd -Q "select 1 as a; select 1/0 as b" -E -r1 1> NUL

-r[ 0 | 1] 向标准错误发送消息

将错误消息输出重定向到屏幕 (stderr)。如果你这样做 不指定参数,或者如果指定 0,则只有错误消息 严重级别为 11 或更高的将被重定向。如果您指定 1,包括 PRINT 在内的所有错误消息输出都被重定向。没有 如果你使用 -o 效果。默认情况下,消息被发送到标准输出。

MSDN for more

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-07
  • 2011-11-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-08
  • 1970-01-01
相关资源
最近更新 更多