需要脚本来查找 sqlcmd 脚本中的错误

需要脚本来查找 sqlcmd 脚本中的错误

我有以下命令在 Windows 中备份 SQL 数据库,现在我们需要在其中设置异常处理代码,以便在出现任何错误时触发电子邮件警报

"sqlcmd -S $serverip -U $dbuser -P $dbpasswd -d $db -Q "BACKU DATABASE [$db] TO DISK='C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\$db.$date.bak'" -b  >> output_test.log"

请在这方面帮助我。

答案1

当您指定该-b选项时,您应该得到返回值为 1 的 ERRORLEVEL,尽管您可能也想为“-V”指定一个值。

您需要做的就是查询 ERRORLEVEL 并确定它是否大于 0。如果是,则表示发生了错误。

我已经很久没有对 ERRORLEVEL 做过任何操作了,但我记得

错误级别数

仅当 Cmd.exe 运行的前一个程序返回等于或大于 Number 的退出代码时,才指定为真条件。

因此你需要检查它是否为 1 (或更大)

IF ERRORLEVEL 1 GOTO errorHandling
REMerrolevel == 0
:errorHandling
REM errorlevel is 1 or greater 

相关内容