sp_dropmessage (Transact-SQL)
Elimina un messaggio di errore definito dall'utente specificato da un'istanza di Motore di database di SQL Server. Per visualizzare i messaggi definiti dall'utente, è possibile utilizzare la vista del catalogo sys.messages.
Sintassi
sp_dropmessage [ @msgnum = ] message_number
[ , [ @lang = ] 'language' ]
Argomenti
[ @msgnum = ] message_number
Numero del messaggio da eliminare. message_number deve essere un messaggio definito dall'utente con numero maggiore di 50000. message_number è di tipo int e il valore predefinito è NULL.[ @lang = ] 'language'
Lingua del messaggio da eliminare. Se si specifica all, vengono eliminate le versioni di message_number in tutte le lingue. language è di tipo sysname e il valore predefinito è NULL.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Set di risultati
Nessuno.
Autorizzazioni
È richiesta l'appartenenza ai ruoli predefiniti del server sysadmin e serveradmin.
Osservazioni
A meno che non si specifichi all per l'argomento language, è necessario eliminare tutte le versioni localizzate di un messaggio prima di poter eliminare la versione inglese (USA).
Esempi
A. Eliminazione di un messaggio definito dall'utente
Nell'esempio seguente viene eliminato un messaggio definito dall'utente, con numero 50001, da sys.messages.
USE master;
GO
EXEC sp_dropmessage 50001;
B. Eliminazione di un messaggio definito dall'utente che include una versione localizzata
Nell'esempio seguente viene eliminato un messaggio definito dall'utente, con numero 60000, in cui è inclusa una versione localizzata 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. Eliminazione di 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