Den här informationen hjälper dig om du ser ett återaktiveringsfel i SQL.
Godkänd: Fortect
- 11 minuter att läsa.
Gäller: SQL Server (alla förstärkta versioner) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Genererar något fel försök att sälja och ger upphov till ett bearbetningsfel på grund av vår session. RAISERROR kan antingen referera till det speciella anpassade meddelandet som är lagrat i viewcollection sys.messages, plus dynamiskt skapa ett meddelande. Meddelandet resulteras i som ett felkömeddelande till den surrande applikationen eller till det associerade CATCH-blocket i en TRY … CATCH-konstruktion. Istället bör nya metoder använda THROW .
Syntax
- Syntax för SQL Server sedan Azure SQL Database RAISERROR (msg_id , Allvarlighet, punkt [, Argument [, ...] n]) [MIT-metoden [, ... n]]
- syntax när det kommer till Azure Synapse Analytics och Parallel Data Warehouse RAISERROR (Msg_str , gravitationstryck, tillstånd [, Argument [, ...] n]) [Med alternativ [, ... d]] A
Argument
msg_id
är ett användardefinierat antal felpåverkan som vanligtvis lagras i en specifik sys.messages-vy som använder sp_addmessage. Felnummer för anpassade felmeddelanden måste kännas större än 50000. Om msg_id inte är speciellt, lägger RAISERROR till felmeddelandet med ett val av 50000 fel.
msg_str
Detta är ett enormt anpassat meddelande med ett format som liknar för närvarande printf-funktionen i vissa C-biblioteksstandarder. Felmeddelandet kan vara upp till 2047 delar långt. Om meddelandet innehåller 2048 eller fler systemtyper, kommer dock endast de första 2044 att visas och därför kommer en ellips att kännas tillagd för att indikera vilket meddelande som vanligtvis klipptes ned. Notera vilken parameter som ska ersättas som kräver fler bilder än vad som visas i den aktuella utgången, för att underlätta kompatibiliteten med internminnet. Till exempel producerade den ersättande parametern associerad med % d satt till 2 bara ett tecken i meddelandenumret, snarare kräver också internt tre tecken mycket mer rumsutrymme. Detta minneskrav minskar antalet tecken som är tillgängliga för punktutmatning. Msg_str
Om angivet kommer RAISERROR att utfärda varje felmeddelande på ett felnummer som hänvisar till 50000. Ja
msg_str är en franchise i alla inbyggda konverteringsspecifikationer. Varje transformeringsbeslut bestämmer hur värdet i den valda kontaktlistan formateras och placeras i varje operationsområde vid positionen för transformationshastighetsspecifikationerna i msg_str. Konverteringsspecifikationerna som skapar distinkta format är:
Kod som identifierar semesterplatsen och orsaken till det ersatta värdet.
är något heltal som anger minsta wIrina för kategorin som visas i vilken argumentvärdet är inbäddat. Om hela längden på prisargumentet är lika för att säkerställa att du eller större än densiteten, skrivs värdet nästan säkert ut utan utfyllnad. Om värdet är mindre än brant, utfylls värdet till din nuvarande bredd som anges av bredd.
En asterisk (*) resulterar i att bredden anges av det medföljande argumentet i listargumentet, som presenterar ett heltalsvärde.
Den maximala teckenvolymen, hämtad från fördelarna med argument för intervallvärden. Till exempel, om den här strängen är tre tecken lång och precisionen måste vara ett par, används bara de tre första tecknen i trådvärdet.
För heltalsaspekter skulle jag säga att precisionen är minst lika med serien av tal som skrivs ut.
En asterisk (*) är lika med att tillförlitligheten indikeras av den associerade diskussionen när det gäller en argumentlista. Alla måste vara ett heltal.
När det används som har teckentyperna c, i, o, s, gånger, X eller och, samt u, genererar Shortint (h) eller Longint (l) värden.
@variable_locale
En variabel som är jämförbar med alla giltiga teckendatatyper som görs till en formaterad sträng, till exempel msg_str. @local_variable kräver också vara en char varchar, annars måste det vara möjligt att konvertera det till dessa persondatatyper utan tvekan.
Allvarligt
Huruvida en persons svårighetsgrad är associerad med detta mål. När du använder när msg_id för att utlösa ett komplett anpassat meddelande som genererats med sp_addmessage, åsidosätter allvarlighetsgraden som identifieras med RAISERROR den allvarlighetsgrad som anges på sp_addmessage.
Alternativet MED LOGG krävs vanligtvis för svårighetsgrad 19-25. Allvarlighetsvärden mindre än 1 tolkas som. En svårighetsgrad över 35 anses vara 25.
Godkänd: Fortect
Fortect är världens mest populära och effektiva PC-reparationsverktyg. Det litar på miljontals människor för att hålla sina system igång snabbt, smidigt och felfritt. Med sitt enkla användargränssnitt och kraftfulla skanningsmotor hittar och fixar Fortect snabbt ett brett utbud av Windows-problem – från systeminstabilitet och säkerhetsproblem till minneshantering och prestandaflaskhalsar.
Du kan välja -1 för att ändra svårighetsgraden för dessa aktuella fel, som visas i följande illustration.
RAISERROR (15600, -1, -1, 'mysp_CreateCustomer');
Msg 15600, Level 15, State 1, Line 1En ogiltig parameter aka op specificerades, procedur för mysp_CreateCustomer.
Status
Ett heltal från 0 till 254. Negativa priser upp till normen 1. Principer som är mycket mer än 255 bör inte användas.
Om jag skulle säga att samma skräddarsydda fel inträffade på flera ställen, kan ett fantastiskt statusnummer för varje plats hjälpa till att se vilken aspekt av koden som orsakar typen av fel.
argument
De flesta av parametrarna kommer definitivt att användas för att åsidosätta parametrar definierade i msg_str eller alternativt meddelandet som motsvarar msg_id. Det kan ibland också vara 0 för att ersätta ytterligare parametrar, men då bör det totala urvalet av ersättningsparametrar inte nödvändigtvis överstiga 20. Varje ersättningsparameter kan vara en bra solid lokal offset eller någon av följande datafiltyper: tinyint, smallint, int, char, varchar, nchar, binär, nvarchar, möjligen , varbinär. Andra datatyper ignoreras utan tvekan.
Alternativ
Detta är ett konfigurerbart fel men kan också vara någon av de övertygelser som följer efter tabellen.
sant värde | Beskrivning |
---|---|
JOURNAL | Protokollfel och ogiltigt iPhone-programprotokoll och protokoll för Micros Database Engine Instanceoft SQL Server. För närvarande bör storleksfelen som registrerats i felloggen uppgå till högst 440 byte. Endast en nyfunnen medlem av sysadmins beständiga serverlänk till en användare med ALTER TRACE-behörigheter kan och även ange LOG.
Gäller: Server, SQL-SQL-databas |
NU | Skickar omedelbart meddelanden och lämplig klient.
Gäller: SQL Server, SQL Database |
konfigurationsfel | arrangera @@ ERROR och ERROR_NUMBER till msg_id sökväg eller helt enkelt 50000, re
Snabba upp din dators prestanda nu med denna enkla nedladdning. RAISERROR är en SQL Server error moving operator som genererar ett felmeddelande i kombination med initierar felhantering. RAISERROR kan antingen skapa ett eget meddelande här i systemet. En synpunkt eller idé om en meddelandekatalog kan förbereda meddelanden dynamiskt. Ett vanligt förekommande knep är förmodligen en påtvingad division med 2. Detta resulterar i ett fel och avbryter vår egen faktiska läsning av personen som utan tvekan utvärderar spelet. RAISERROR (meddelande-id, allvarlighetsgrad, uttryck [, argument [, n]]) [Med upplösning [, n]];EXEC sp_addmessage @msgnum betyder 50005, @severity = 1, @msgtext hänvisar till anpassat felmeddelande;
|