sp_dropmessage (Transact-SQL)

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 do catálogo sys.messages.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_dropmessage [ @msgnum = ] message_number
        [ , [ @lang = ] 'language' ]

Argumentos

  • [ @msgnum = ] message_number
    É o número da mensagem a ser descartada. message_number deve ser uma mensagem definida pelo usuário que tenha um número maior que 50000. message_number é int, com um padrão NULL.

  • [ @lang = ] 'language'
    É o idioma da mensagem a ser descartada. Se all for especificado, serão descartadas todas as versões de idioma de message_number. language é sysname, com um padrão NULL.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

Nenhum.

Permissões

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

Comentários

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

Exemplos

A. Descartando uma mensagem definida pelo usuário

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

USE master;
GO
EXEC sp_dropmessage 50001;

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

O exemplo a seguir descarta uma mensagem definida pelo usuário, número 60000, que inclui uma versão localizada 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. Descartando 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