sp_dropmessage (Transact-SQL)
SQL Server データベース エンジンのインスタンスから、指定したユーザー定義エラー メッセージを削除します。ユーザー定義メッセージは、sys.messages カタログ ビューを使用して表示できます。
構文
sp_dropmessage [ @msgnum = ] message_number
[ , [ @lang = ] 'language' ]
引数
[ @msgnum = ] message_number
削除するメッセージ番号を指定します。message_number は、メッセージ番号が 50001 以上のユーザー定義のメッセージである必要があります。message_number のデータ型は int で、既定値は NULL です。[ @lang = ] 'language'
メッセージを削除する言語です。all を指定した場合、message_number のすべての言語バージョンが削除されます。language のデータ型は sysname で、既定値は NULL です。
戻り値
成功した場合は 0 を、失敗した場合は 1 をそれぞれ返します。
結果セット
ありません。
権限
sysadmin および serveradmin 固定サーバー ロールのメンバシップである必要があります。
説明
language に all を指定しない限り、英語版のメッセージを削除するには、そのメッセージのすべてのローカライズ版を削除する必要があります。
例
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