| title | sp_dropmessage (Transact-SQL) | ||
|---|---|---|---|
| description | Drops a specified user-defined error message from an instance of the Database Engine. | ||
| author | markingmyname | ||
| ms.author | maghan | ||
| ms.reviewer | randolphwest | ||
| ms.date | 06/23/2025 | ||
| ms.service | sql | ||
| ms.subservice | system-objects | ||
| ms.topic | reference | ||
| f1_keywords |
|
||
| helpviewer_keywords |
|
||
| dev_langs |
|
[!INCLUDE SQL Server]
Drops a specified user-defined error message from an instance of the [!INCLUDE ssDEnoversion]. User-defined messages can be viewed using the sys.messages catalog view.
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: Transact-SQL syntax conventions
sp_dropmessage
[ [ @msgnum = ] msgnum ]
[ , [ @lang = ] N'lang' ]
[ ; ]
The message number to drop. @msgnum is int, with a default of NULL. @msgnum must be a user-defined message that's a message number greater than 50000 (50,000).
The language of the message to drop. @lang is sysname, with a default of NULL. If all is specified, all language versions of @msgnum are dropped.
0 (success) or 1 (failure).
None.
Requires membership in the sysadmin and serveradmin fixed server roles.
Unless all is specified for @lang, all localized versions of a message must be dropped before the U.S. English version of the message can be dropped.
The following example drops a user-defined message, number 50001, from sys.messages.
USE master;
GO
EXECUTE sp_dropmessage 50001;The following example adds a user-defined message, number 60000, which includes a localized version, then drops both variations of the message.
USE master;
GO
-- Create a user-defined message in U.S. English
EXECUTE 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.
EXECUTE 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.
EXECUTE sp_dropmessage 60000;
GO
-- This statement will drop the message.
EXECUTE sp_dropmessage
@msgnum = 60000,
@lang = 'all';
GOThe following example drops a localized version of a user-defined message, number 60000, without dropping the whole message.
USE master;
GO
-- Create a user-defined message in U.S. English
EXECUTE 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.
EXECUTE 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.
EXECUTE sp_dropmessage
@msgnum = 60000,
@lang = 'French';
GO