sp_dropmessage (Transact-SQL)
適用於:SQL Server
從 SQL Server 實例卸除指定的使用者定義錯誤訊息 資料庫引擎。 您可以使用目錄檢視來檢視 sys.messages
使用者定義的訊息。
語法
sp_dropmessage
[ [ @msgnum = ] msgnum ]
[ , [ @lang = ] N'lang' ]
[ ; ]
引數
[ @msgnum = ] msgnum
要卸除的訊息編號。 @msgnum 為 int,預設值為 NULL
。 @msgnum必須是使用者定義訊息,其訊息編號大於 50000
(50,000)。
[ @lang = ] N'lang'
要卸除之訊息的語言。 @lang為 sysname,預設值為 NULL
。 如果 all
已指定,則會卸除所有語言版本的 @msgnum 。
傳回碼值
0
(成功) 或 1
(失敗)。
結果集
無。
權限
需要系統管理員和 serveradmin 固定伺服器角色中的成員資格。
備註
除非 all
已針對 @lang 指定,否則必須先卸除所有當地語系化版本的訊息,才能卸除美國英文版的訊息。
範例
A. 卸除使用者定義的訊息
下列範例會從 sys.messages
卸除使用者定義的訊息數位 50001
。
USE master;
GO
EXEC sp_dropmessage 50001;
B. 卸除包含當地語系化版本的使用者定義訊息
下列範例會新增使用者定義的訊息數位 60000
,其中包含本地化的版本,然後卸除訊息的這兩個變化。
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. 卸除使用者定義訊息的當地語系化版本
下列範例會卸除使用者定義訊息的當地語系化版本,數位 60000
,而不會卸除整個訊息。
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