sp_dropmessage (Transact-SQL)
Gilt für: SQL Server
Legt eine angegebene benutzerdefinierte Fehlermeldung aus einer Instanz des SQL Server-Datenbank-Engine ab. Benutzerdefinierte Nachrichten können mithilfe der sys.messages
Katalogansicht angezeigt werden.
Transact-SQL-Syntaxkonventionen
Syntax
sp_dropmessage
[ [ @msgnum = ] msgnum ]
[ , [ @lang = ] N'lang' ]
[ ; ]
Argumente
[ @msgnum = ] msgnum
Die zu löschende Nachrichtennummer. @msgnum ist int mit einem Standardwert von NULL
. @msgnum muss eine benutzerdefinierte Nachricht sein, die eine Nachrichtennummer größer als 50000
(50.000) ist.
[ @lang = ] N'lang'
Die Sprache der nachricht, die abzulegen ist. @lang ist "sysname" mit dem Standardwert "NULL
. Wenn all
angegeben, werden alle Sprachversionen von @msgnum gelöscht.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Resultset
Keine.
Berechtigungen
Erfordert die Mitgliedschaft in den festen Serverrollen sysadmin und serveradmin .
Hinweise
Sofern all
nicht für @lang angegeben, müssen alle lokalisierten Versionen einer Nachricht gelöscht werden, bevor die englische US-Version der Nachricht gelöscht werden kann.
Beispiele
A. Ablegen einer benutzerdefinierten Nachricht
Im folgenden Beispiel wird eine benutzerdefinierte Nachricht, Eine Nummer 50001
, von sys.messages
.
USE master;
GO
EXEC sp_dropmessage 50001;
B. Ablegen einer benutzerdefinierten Nachricht, die eine lokalisierte Version enthält
Im folgenden Beispiel wird eine benutzerdefinierte Nachricht, Nummer 60000
, die eine lokalisierte Version enthält, hinzugefügt und dann beide Variationen der Nachricht fallen.
USE master;
GO
-- Create a user-defined message in U.S. English
EXEC sp_addmessage
@msgnum = 60000,
@severity = 16,
@msgtext = N'The item named %s already exists in %s.',
@lang = 'us_english';
-- Create a localized version of the same message.
EXEC sp_addmessage
@msgnum = 60000,
@severity = 16,
@msgtext = N'L''élément nommé %1! existe déjà dans %2!',
@lang = 'French';
GO
-- This statement will fail as long as the localized version
-- of the message exists.
EXEC sp_dropmessage 60000;
GO
-- This statement will drop the message.
EXEC sp_dropmessage @msgnum = 60000,
@lang = 'all';
GO
C. Ablegen einer lokalisierten Version einer benutzerdefinierten Nachricht
Im folgenden Beispiel wird eine lokalisierte Version der benutzerdefinierten Meldung (Nummer 60000
) gelöscht, ohne dass die gesamte Meldung gelöscht wird.
USE master;
GO
-- Create a user-defined message in U.S. English
EXEC sp_addmessage
@msgnum = 60000,
@severity = 16,
@msgtext = N'The item named %s already exists in %s.',
@lang = 'us_english';
-- Create a localized version of the same message.
EXEC sp_addmessage
@msgnum = 60000,
@severity = 16,
@msgtext = N'L''élément nommé %1! existe déjà dans %2!',
@lang = 'French';
GO
-- This statement will remove only the localized version of the
-- message.
EXEC sp_dropmessage
@msgnum = 60000,
@lang = 'French';
GO