Freigeben über


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 Fehlermeldungsnummer. message_number muss eine benutzerdefinierte Fehlermeldung mit einer Meldungsnummer größer als 50000 sein. message_number ist vom Datentyp int und hat den Standardwert NULL.

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

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin und serveradmin.

Hinweise

Alle lokalisierten Versionen einer Meldung müssen gelöscht werden, bevor die Meldung auf US-Englisch gelöscht werden kann, es sei denn, all ist für language angegeben.

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, die eine lokalisierte Version enthält

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 einer 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