【发布时间】:2014-06-02 10:06:23
【问题描述】:
Microsoft SQL Server 2005+
执行数据库备份时,我可能会在 SSMS 中收到此错误:
消息 3202,第 16 级,状态 2,第 5 行
写入“c:\dbbackup\dummy.bak”失败:112(磁盘空间不足。)
这里,112是操作系统错误代码,括号中的文字是操作系统错误文本。
我的问题是:如何以编程方式获取此信息?
如果我将 BACKUP 命令放在 TRY-CATCH 块中,那么我可以使用 ERROR_*() 函数,但它们都不包含此信息。
提到的 ERROR_*() 函数是:
- ERROR_NUMBER(),
- ERROR_MESSAGE()
- ERROR_严重性()
- ERROR_状态()
- ERROR_过程()
- ERROR_LINE()
我只能捕捉到错误消息(Msg 3202...等)第一行中显示的信息以及 SQL 错误文本:“BACKUP DATABASE is terminating exceptionly”(这是由 ERROR_MESSAGE 返回的() 函数)。
【问题讨论】: