我在“尝试/捕获”中封装了一个备份数据库命令,看来错误消息在某处丢失了。例如:
BACKUP DATABASE NonExistantDB TO DISK = 'C:\TEMP\NonExistantDB.bak'
..给出错误:
无法在数据库“NonExistantDB”的sysdatabases中找到条目。找不到使用该名称的条目。确保正确输入名称。 BACKUP DATABASE异常终止。
鉴于:
BEGIN TRY
BACKUP DATABASE NonExistantDB TO DISK = 'C:\TEMP\NonExistantDB.bak'
END TRY
BEGIN CATCH
PRINT ERROR_MESSAGE()
END CATCH
...仅给出错误: BACKUP DATABASE异常终止。
有没有办法获取完整的错误消息,或者这是try/catch的限制?
最佳答案
这是尝试/捕获的限制。
如果您仔细查看执行过程中产生的错误
BACKUP DATABASE NonExistantDB TO DISK = 'C:\TEMP\NonExistantDB.bak'
您会发现抛出了两个错误。第一个是味精911,其中指出
第二个是您正在显示3013消息。基本上,SQL只返回最后一个错误。
关于sql-server - SQL Server 2005-Error_Message()未显示完整消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/222119/