Freigeben über


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