Share via


sp_dropmessage (Transact-SQL)

Löscht eine angegebene benutzerdefinierte Fehlermeldung aus einer Instanz von SQL Server Database Engine (Datenbankmodul). Benutzerdefinierte Meldungen können mithilfe der sys.messages-Katalogsicht angezeigt werden.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sp_dropmessage [ @msgnum = ] message_number 
    [ , [ @lang = ] 'language' ]

Argumente

  • [ @msgnum = ] message_number
    Die zu löschende Nachrichtennummer. message_number muss eine benutzerdefinierte Nachricht mit einer Nachrichtennummer größer als 50000 sein. message_number ist vom Datentyp int. Der Standardwert ist NULL.

  • [ @lang = ] 'language'
    Die Sprache der zu löschenden Fehlermeldung. Wenn all angegeben wird, werden alle Sprachversionen von message_number gelöscht. language ist vom Datentyp sysname. Der Standardwert ist NULL.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin und serveradmin.

Hinweise

Solange nicht all für language angegeben wird, müssen alle lokalisierten Versionen der Nachricht gelöscht werden, bevor die englische Version (USA) der Nachricht gelöscht werden kann.

Beispiele

A.Löschen einer benutzerdefinierten Meldung

Im folgenden Beispiel wird eine benutzerdefinierte Meldung (Nummer 50001) aus sys.messages gelöscht.

USE master;
GO
EXEC sp_dropmessage 50001;

B.Löschen einer benutzerdefinierten Meldung mit einer lokalisierten Version

Im folgenden Beispiel wird eine benutzerdefinierte Meldung (Nummer 60000) gelöscht, die eine lokalisierte Version der Meldung enthält.

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.Löschen der lokalisierten Version einer benutzerdefinierten Meldung

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

Siehe auch

Verweis

RAISERROR (Transact-SQL)

sp_addmessage (Transact-SQL)

sp_altermessage (Transact-SQL)

FORMATMESSAGE (Transact-SQL)

sys.messages (Transact-SQL)

Gespeicherte Systemprozeduren (Transact-SQL)