50000: Error personalizado generado con RAISERROR
SQL Server¿Qué significa?
Es el número predeterminado (50000) para errores personalizados (definidos por el usuario) generados con RAISERROR sin indicar un ID de mensaje. La lógica de la aplicación/procedimiento generó un error de forma deliberada.
¿Por qué ocurre?
Un error personalizado generado con RAISERROR o THROW en un procedimiento almacenado o script ante una violación de regla de negocio, un fallo de validación, control de flujo deliberado o mensajes de excepción personalizados.
Cómo solucionarlo
Lea el texto del mensaje de RAISERROR/THROW para entender la violación real de la regla de negocio. Capture este error en el lado de la aplicación con TRY...CATCH y obtenga los detalles con ERROR_MESSAGE()/ERROR_NUMBER(). Defina mensajes con sp_addmessage para dar números significativos a sus errores personalizados. Corrija en la lógica de negocio la condición que lo provoca.
Más entradas de este motor
- 4104The multi-part identifier could not be bound (no se pudo vincular el identificador de varias partes)
- 2714There is already an object named in the database (ya existe un objeto con ese nombre en la base de datos)
- 601Could not continue scan with NOLOCK due to data movement (no se pudo continuar el recorrido con NOLOCK por movimiento de datos)
- 3902The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION (COMMIT TRANSACTION sin BEGIN TRANSACTION correspondiente)
- 1101Could not allocate a new page because of insufficient disk space in filegroup (no se pudo asignar una nueva página por falta de espacio en disco en el filegroup)
- 3729Cannot DROP because it is being referenced by object (no se puede eliminar porque otro objeto lo referencia)
- 3961Snapshot isolation transaction failed because the object was modified by a DDL statement (falló la transacción snapshot porque una sentencia DDL modificó el objeto)