50000: Mit RAISERROR ausgelöster benutzerdefinierter Fehler
SQL ServerWas bedeutet das?
Das ist die Standardnummer (50000) für benutzerdefinierte Fehler, die mit RAISERROR ohne Angabe einer Message-ID ausgelöst werden. Die Logik der Anwendung/Prozedur hat bewusst einen Fehler ausgelöst.
Ursache
Ein mit RAISERROR oder THROW in einer Stored Procedure oder einem Skript ausgelöster benutzerdefinierter Fehler bei Verletzung einer Geschäftsregel, einer fehlgeschlagenen Validierung, bewusster Ablaufsteuerung oder benutzerdefinierten Exception-Meldungen.
Lösung
Lies den Meldungstext von RAISERROR/THROW, um die tatsächliche Verletzung der Geschäftsregel zu verstehen. Fange diesen Fehler in der Anwendung mit TRY...CATCH ab und hole Details mit ERROR_MESSAGE()/ERROR_NUMBER(). Definiere Meldungen mit sp_addmessage, um deinen benutzerdefinierten Fehlern aussagekräftige Nummern zu geben. Behebe die auslösende Bedingung in der Geschäftslogik.
Weitere Einträge zu dieser Datenbank
- 4104The multi-part identifier could not be bound (mehrteiliger Identifier nicht bindbar)
- 2714There is already an object named in the database (Objekt mit diesem Namen existiert bereits)
- 601Could not continue scan with NOLOCK due to data movement (Scan mit NOLOCK wegen Datenbewegung abgebrochen)
- 3902The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION (COMMIT ohne zugehöriges BEGIN TRANSACTION)
- 1101Could not allocate a new page because of insufficient disk space in filegroup
- 3729Cannot DROP because it is being referenced by object
- 3961Snapshot isolation transaction failed because the object was modified by a DDL statement