50000: Erreur personnalisée levée avec RAISERROR
SQL ServerQue signifie cette erreur ?
Il s'agit du numéro par défaut (50000) des erreurs personnalisées (définies par l'utilisateur) levées avec RAISERROR sans indiquer d'ID de message. La logique de l'application/de la procédure a volontairement levé une erreur.
Cause
Erreur personnalisée levée avec RAISERROR ou THROW dans une procédure stockée ou un script lors d'une violation de règle métier, d'un échec de validation, d'un contrôle de flux volontaire, ou de messages d'exception personnalisés.
Comment la corriger
Lisez le texte du message RAISERROR/THROW pour comprendre la violation réelle de la règle métier. Interceptez cette erreur côté application avec TRY...CATCH et obtenez les détails avec ERROR_MESSAGE()/ERROR_NUMBER(). Définissez des messages avec sp_addmessage pour donner des numéros explicites à vos erreurs personnalisées. Corrigez la condition déclenchante dans la logique métier.
Autres entrées pour ce moteur
- 4104The multi-part identifier could not be bound (l'identificateur en plusieurs parties n'a pas pu être lié)
- 2714There is already an object named in the database (un objet portant ce nom existe déjà dans la base)
- 601Could not continue scan with NOLOCK due to data movement (poursuite du parcours NOLOCK impossible en raison d'un déplacement de données)
- 3902The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION (COMMIT TRANSACTION sans BEGIN TRANSACTION correspondant)
- 1101Could not allocate a new page because of insufficient disk space in filegroup (impossible d'allouer une nouvelle page : espace disque insuffisant dans le filegroup)
- 3729Cannot DROP because it is being referenced by object (DROP impossible : l'objet est référencé par un autre objet)
- 3961Snapshot isolation transaction failed because the object was modified by a DDL statement (échec de la transaction en snapshot isolation : objet modifié par une instruction DDL)