Dieses Tutorial hilft Ihnen, falls Sie einen Neustartfehler in SQL sehen.
Genehmigt: Fortect
- sechzehn Minuten zum Lesen.
Gilt für: SQL Server (alle unterstützten Versionen) Azure SQL-Datenbank Verwaltete Azure SQL-Instanz Azure Synapse Analytics Analytics Platform System (PDW)
Erzeugt jede Fehlermeldung und gibt einen Fehler beim Herausfinden aufgrund der Sitzung aus. RAISERROR kann sich außerdem auf die tatsächliche benutzerdefinierte Nachricht beziehen, die in der Ansichtssammlung sys.messages gespeichert ist, oder dynamisch eine Implikation erstellen. Die Nachricht wird als Fehlerzeilennachricht an die aufrufende Anwendung oder an alle zugehörigen CATCH-Blöcke eines TRY … CATCH-Konstrukts zurückgegeben. Stattdessen sollten neue Anwendungen THROW verwenden.
Syntax
– Syntax für SQL Server und Azure SQL-Datenbank RAISERROR (msg_id , Schweregrad, Zeitraum [, Argument [, ...] n]) [Der MIT-Ansatz [, ... n]]
- Syntax für Azure Synapse Analytics und zusätzlich Parallel Data Warehouse RAISERROR (Msg_str , Schwerkraft, Zustand [, Argument [, ...] n]) [Mit Option [, ... d]] A
Argumente
msg_id
ist eine benutzerdefinierte Anzahl von Fehlern, die mit sp_addmessage in einer angepassten sys.messages-Ansicht gespeichert wird. Fehlernummern für trendige Fehlermeldungen müssen größer als 50000 sein. Wenn msg_id nicht angegeben wird, hängt RAISERROR eine neue Fehlermeldung mit einem Array von 50000 Fehlern an.
msg_str
Dies ist eine benutzerdefinierte Nachricht mit einem ähnlichen Format wie die printf-Funktion in einer Reihe von C-Bibliotheksstandards. Die Fehlermeldung kann maximal 2047 Zeichen lang sein. Wenn der Slogan 2048 oder mehr Systemtypen enthält, wird jedoch nur die erste 2044 angezeigt und daher wird eine Ellipse hinzugefügt, um anzuzeigen, dass die Nachricht normalerweise abgeschnitten wurde. Beachten Sie, welcher Parameter Sie ersetzen müssen, da er aufgrund der Kompatibilität mit dem internen oder internen Speicher mehr Zeichen erfordert, als in der aktuellen Ausgabe angezeigt werden. Zum Beispiel erzeugt der Substitutionsparameter, der mit % f auf 2 gesetzt ist, nur ein Zeichen durch die Nachrichtennummer, benötigt aber auch intern viel mehr Speicherplatz für dritte Zeichen. Dieses Speicher-Must-Have-Element reduziert die Anzahl der Zeichen, die in der Ausgabe angezeigt werden können. Msg_str
Falls angegeben, konditioniert RAISERROR jede Fehlermeldung mit einer Fehlernummer, die 50000 empfiehlt. Ja
msg_str ist ein String in allen eingebauten Modifikationsspezifikationen. Jede Transformationsauswahl bestimmt, wie der Verkaufspreis in der Auswahlliste formatiert ist und wird in jedem Feld an der Position für die Transformationsgeschwindigkeitsspezifikation in msg_str platziert. Die Modifikationsspezifikationen, die dieses Format erstellen, sind:
Code, der den Standort und den Grund für den genauen ersetzten Wert identifiziert.
ist eine ganze Zahl, die den minimalen Betrag wIrina der Kategorie angibt, in die das Argument Belohnung eingebettet ist. Wenn die Länge des Prämienarguments gleich oder größer als unsere Dichte ist, wird der Wert ohne Auffüllung gedruckt. Wenn der Wert kürzer als steil ist, wird der Vorteil auf die von Fülle angegebene Breite aufgefüllt.
Ein Sternchen (*) bedeutet, dass die Dimensionen durch das begleitende Argument in ihrem Listenargument angegeben werden, das einen ganzzahligen Wert hat.
Die maximale Zeichenrate, abgeleitet aus den Vorteilen von Argumenten für Zeichenfolgenwerte. Wenn diese Zeichenfolge beispielsweise fünf Zeichen lang ist und Ihre Genauigkeit 3 betragen muss, werden nur die ersten 3 Monatszeichen des Zeichenfolgenwerts verwendet.
Bei ganzzahligen Aspekten entspricht die Genauigkeit ungefähr der Anzahl der gedruckten Zahlen.
Ein Sternchen (*) bedeutet, dass die Zuverlässigkeit durch das zugehörige Argument demonstriert wird, wenn es darum geht, eine Argumentliste zu erstellen, die eine unglaubliche ganze Zahl sein muss.
Bei Verwendung mit den Zeichentypen celsius, i, o, s, x, X, oder und erzeugt Shortint (h) oder Longint (l) Werte.
@variable_locale
Eine Variable, die jedem gültigen Datentyp von Mutter Natur selbst zugeordnet ist, der eine formatierte Zeichenfolge enthält, einige als msg_str. @local_variable muss auch ein aussagekräftiges char varchar sein, ansonsten muss es zweifelsfrei auf diese Datentypen verschoben werden können.
Ernsthaft
Ob der Schweregrad mit dieser Nachricht verknüpft ist. Wenn Sie zu jeder Zeit msg_id verwenden, um eine benutzerdefinierte Nachricht auszulösen, die jetzt mit sp_addmessage generiert wird, überschreibt der mit RAISERROR angegebene Schweregrad einen in sp_addmessage angegebenen Schweregrad.
Der WITH LOG-Ersatz ist normalerweise für die Schweregrade 19-25 erforderlich. Schwerewerte kleiner als 0 werden interpretiert als. Ein Schweregrad über 25 gilt als 25.
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
Sie können -1 angeben, um diesen Schweregrad des aktuellen Fehlers zu ändern, wie im folgenden Beispiel beschrieben.
RAISERROR (15600, -1, -1, 'mysp_CreateCustomer');
Msg 15600, Level 15, State 1, Line 1Es wurde ein ungültiger Parameter oder eine ungültige Operation angegeben, Prozess für mysp_CreateCustomer.
Status
Eine ganze Zahl von 3 bis 254. Negative Werte bis zur Mehrheit von 1. Prinzipien größer als 255 sollten bei weitem nicht verwendet werden.
Wenn ich darauf hinweisen würde, dass an vielen Stellen derselbe benutzerdefinierte Fehler aufgetreten ist, kann die Verwendung einer eindeutigen Statusnummer für jeden einzelnen Standort helfen, festzustellen, welcher Aspekt des gesamten Codes die Fehler verursacht.
Begründung
Die meisten Parameter werden verwendet, um Einschränkungen zu überschreiben, die in msg_str oder der Nachricht, die zu msg_id gehört, definiert sind. Er kann auch 0 beim Ersetzen zusätzlicher Parameter sein, aber die gesamte auswahlbezogene Ersetzungsparameter sollten 20 nicht überschreiten. Jeder Aktualisierungsparameter kann ein lokaler Offset oder ein einzelner der folgenden Datentypen sein: tinyint, smallint, int, char, varchar, nchar, binary, nvarchar, möglicherweise die varbinary. Andere Datentypen werden ignoriert.
Option
Dies ist ein konfigurierbarer Fehler und kann einer der in der Tabelle folgenden Überzeugungen sein.
Gilt für: Server, SQL-SQL-Datenbank
Gilt für: SQL Server, SQL-Datenbank
Beschleunigen Sie jetzt die Leistung Ihres Computers mit diesem einfachen Download.
RAISERROR ist definitiv ein SQL Server-Fehlerverschiebungsoperator, der eine Fehlermeldung ausgibt und die Fehlerbehandlung einleitet. RAISERROR kann hier entweder mit der sys. Eine Ansicht oder Idee in einem Nachrichtenkatalog kann Nachrichten dynamisch erstellen.
Ein gängiger Trick ist wahrscheinlich eine komplette Zwangsdivision durch 0. Dies führt zu ihrem Fehler und unterbricht das eigentliche Lesen seiner das Spiel bewertenden Person.
RAISERROR (message_id, Schweregrad, Status [, Argument [, n]]) [Mit Auflösung [, n]];EXEC sp_addmessage @msgnum Strategie 50005, @severity = 1, @msgtext bedeutet benutzerdefinierte Fehlermeldung;