sp_dropmessage (Transact-SQL)

Si applica a:SQL Server

Elimina un messaggio di errore definito dall'utente specificato da un'istanza del motore di database di SQL Server. I messaggi definiti dall'utente possono essere visualizzati usando la vista del sys.messages catalogo.

Convenzioni di sintassi Transact-SQL

Sintassi

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

Argomenti

[ @msgnum = ] msgnum

Numero di messaggio da eliminare. @msgnum è int, con il valore predefinito .NULL @msgnum deve essere un messaggio definito dall'utente maggiore di 50000 (50.000).

[ @lang = ] N'lang'

Lingua del messaggio da eliminare. @lang è sysname, con un valore predefinito .NULL Se all viene specificato, tutte le versioni della lingua di @msgnum vengono eliminate.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nessuno.

Autorizzazioni

Richiede l'appartenenza ai ruoli predefiniti del server sysadmin e serveradmin.

Osservazioni:

A meno che non all venga specificato per @lang, è necessario eliminare tutte le versioni localizzate di un messaggio prima che sia possibile eliminare la versione inglese statunitense del messaggio.

Esempi

R. Eliminare un messaggio definito dall'utente

Nell'esempio seguente viene eliminato un messaggio definito dall'utente, il numero 50001, da sys.messages.

USE master;
GO
EXEC sp_dropmessage 50001;

B. Eliminare un messaggio definito dall'utente che include una versione localizzata

L'esempio seguente aggiunge un messaggio definito dall'utente, numero 60000, che include una versione localizzata, quindi elimina entrambe le varianti del messaggio.

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. Eliminare una versione localizzata di un messaggio definito dall'utente

Nell'esempio seguente viene eliminata una versione localizzata di un messaggio definito dall'utente, con numero 60000, senza eliminare l'intero messaggio.

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