Try/Catch에 백업 데이터베이스 명령을 캡슐화했으며 오류 메시지가 어딘지에서 손실 된 것으로 보입니다.SQL Server 2005 - Error_Message()가 전체 메시지를 표시하지 않습니다.
BACKUP DATABASE NonExistantDB TO DISK = 'C:\TEMP\NonExistantDB.bak'
..gives 오류 : 예를 들어
데이터베이스 'NonExistantDB'에 대한 SYSDATABASES에서 항목을 찾을 수 없습니다. 해당 이름의 항목을 찾을 수 없습니다. 이름이 올바르게 입력되었는지 확인하십시오. BACKUP DATABASE가 비정상적으로 종료되었습니다.
는 반면 :
BEGIN TRY
BACKUP DATABASE NonExistantDB TO DISK = 'C:\TEMP\NonExistantDB.bak'
END TRY
BEGIN CATCH
PRINT ERROR_MESSAGE()
END CATCH
...에만 오류 준다 : DATABASE BACKUP의 비정상적으로 종료된다.
전체 오류 메시지를 표시하는 방법이 있습니까? 아니면 try/catch의 제한 사항입니까?
것 같습니다의 경우, 나는 단지 나 자신으로 실행되었는지, SQL 2005에서 try/catch 블록의 내가 제한 모르는있다 당신의 권리와 같지만, try/catch의 한계가 아닙니다. 방금 @@ ERROR를 사용하여 실행했으며 마지막 오류 만 반환합니다. msg 911이 아닙니다. 그러면 우리가 어떻게 첫 번째 오류 또는 모든 오류가 발생했는지 알 수 있습니다. – HAdes