Partilhar via


sp_dropmessage (Transact-SQL)

Aplica-se: SQL Server

Descarta uma mensagem de erro especificada definida pelo usuário de uma instância do Mecanismo de Banco de Dados do SQL Server. As mensagens definidas pelo usuário podem ser visualizadas usando a visualização do sys.messages catálogo.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

@msgnum [ = ] msgnum

O número da mensagem a ser descartado. @msgnum é int, com um padrão de NULL. @msgnum deve ser uma mensagem definida pelo usuário com um número de mensagem maior que 50000 (50.000).

@lang [ = ] N'lang'

O idioma da mensagem a ser descartada. @lang é sysname, com um padrão de NULL. Se all for especificado, todas as versões de idioma do @msgnum serão descartadas.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Nenhum.

Permissões

Requer associação nas funções de servidor fixas sysadmin e serveradmin .

Comentários

A menos que all seja especificado para @lang, todas as versões localizadas de uma mensagem devem ser descartadas antes que a versão em inglês dos EUA da mensagem possa ser descartada.

Exemplos

R. Descartar uma mensagem definida pelo usuário

O exemplo a seguir descarta uma mensagem definida pelo usuário, number 50001, de sys.messages.

USE master;
GO
EXEC sp_dropmessage 50001;

B. Descartar uma mensagem definida pelo usuário que inclui uma versão localizada

O exemplo a seguir adiciona uma mensagem definida pelo usuário, number 60000, que inclui uma versão localizada e, em seguida, descarta as duas variações da mensagem.

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. Descartar uma versão localizada de uma mensagem definida pelo usuário

O exemplo a seguir descarta uma versão localizada de uma mensagem definida pelo usuário, número 60000, sem descartar a mensagem inteira.

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