sql server - transaction - ¿Qué significan los diferentes niveles de severidad de RAISERROR?
throw error sql server (1)
Mi mejor resultado en google fue this :
- debajo de 11 hay advertencias, no errores
- 11-16 están disponibles para su uso
- por encima de 16 son errores del sistema
- no hay diferencia de comportamiento entre 11-16
Pero, desde BOL, "los niveles de gravedad de 0 a 18 pueden ser especificados por cualquier usuario".
En mi procedimiento almacenado particular, quiero que se devuelva el error a una aplicación de cliente .Net, por lo que parece que cualquier nivel de gravedad entre 11 y 18 haría el truco. ¿Alguien tiene alguna información autorizada sobre lo que significa cada uno de los niveles y cómo deberían usarse?
Niveles de gravedad de motor de base de datos
Debería devolver 16. Es el nivel de error predeterminado y más utilizado:
Indica errores generales que pueden ser corregidos por el usuario.
No devuelva 17-18, esos indican errores más graves, como problemas de recursos:
Indique los errores de software que no pueden ser corregidos por el usuario. Informe al administrador del sistema del problema.
Además, no devuelva 11-15 porque tienen un significado especial asociado a cada nivel (14 - acceso de seguridad, 15 - error de sintaxis, 13 - punto muerto, etc.).
El nivel 16 no finaliza la ejecución.
Cuando su intención es registrar una advertencia pero continuar la ejecución, utilice un nivel de gravedad inferior a 10 en su lugar.