sp_dropmessage (Transact-SQL)

Aplica-se a:SQL Server

Descarta uma mensagem de erro definida pelo usuário especificada de uma instância do Mecanismo de Banco de Dados do SQL Server. As mensagens definidas pelo usuário podem ser exibidas usando a exibição de 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 que seja um número de mensagem maior que 50000 (50.000).

@lang [ = ] N'lang'

O idioma da mensagem a ser solta. @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 às funções de servidor fixas sysadmin e serveradmin.

Comentários

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

Exemplos

R. Soltar 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. Soltar 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 ambas as 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. Soltar 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