Compartir a través de


sp_dropmessage (Transact-SQL)

Se aplica a: SQL Server

Quita un mensaje de error definido por el usuario especificado de una instancia del Motor de base de datos de SQL Server. Los mensajes definidos por el usuario se pueden ver mediante la vista de sys.messages catálogo.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_dropmessage
    [ [ @msgnum = ] msgnum ]
    [ , [ @lang = ] N'lang' ]
[ ; ]

Argumentos

[ @msgnum = ] msgnum

Número de mensaje que se va a quitar. @msgnum es int, con un valor predeterminado de NULL. @msgnum debe ser un mensaje definido por el usuario que sea un número de mensaje mayor que 50000 (50 000).

[ @lang = ] N'lang'

Idioma del mensaje que se va a quitar. @lang es sysname, con un valor predeterminado de NULL. Si all se especifica , se quitan todas las versiones de idioma de @msgnum .

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Conjunto de resultados

Ninguno.

Permisos

Requiere la pertenencia a los roles fijos de servidor sysadmin y serveradmin .

Comentarios

A menos que all se especifique para @lang, todas las versiones localizadas de un mensaje deben quitarse antes de que se pueda quitar la versión en inglés de EE. UU. del mensaje.

Ejemplos

A Quitar un mensaje definido por el usuario

En el ejemplo siguiente se quita un mensaje definido por el usuario, el número 50001, de sys.messages.

USE master;
GO
EXEC sp_dropmessage 50001;

B. Quitar un mensaje definido por el usuario que incluya una versión localizada

En el ejemplo siguiente se agrega un mensaje definido por el usuario, el número 60000, que incluye una versión localizada y, a continuación, quita ambas variaciones del mensaje.

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. Quitar una versión localizada de un mensaje definido por el usuario

En el ejemplo siguiente se quita una versión traducida de un mensaje definido por el usuario, el número 60000, sin quitar todo el mensaje.

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