È una limitazione di try/catch.
Se osservi attentamente l'errore generato dall'esecuzione di
BACKUP DATABASE NonExistantDB TO DISK = 'C:\TEMP\NonExistantDB.bak'
scoprirai che ci sono due errori che vengono generati. Il primo è il msg 911, che afferma
Il secondo è il messaggio 3013 che stai visualizzando. Fondamentalmente, SQL restituisce solo l'ultimo errore.