sp_dropmessage (Transact-SQL)

適用於:SQL Server

從 SQL Server 實例卸除指定的使用者定義錯誤訊息 資料庫引擎。 您可以使用目錄檢視來檢視 sys.messages 使用者定義的訊息。

Transact-SQL 語法慣例

語法

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