다음을 통해 공유


sp_dropmessage(Transact-SQL)

적용 대상: SQL Server

SQL Server 데이터베이스 엔진 인스턴스에서 지정된 사용자 정의 오류 메시지를 삭제합니다. 카탈로그 뷰를 사용하여 sys.messages 사용자 정의 메시지를 볼 수 있습니다.

Transact-SQL 구문 표기 규칙

구문

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

인수

[ @msgnum = ] msgnum

삭제할 메시지 번호입니다. @msgnum 기본값NULL인 int입니다. @msgnum 메시지 번호(50,000)보다 50000 큰 사용자 정의 메시지여야 합니다.

[ @lang = ] N'lang'

삭제할 메시지의 언어입니다. @lang sysname이며 기본값은 .입니다NULL. 지정된 경우 all 모든 언어 버전의 @msgnum 삭제됩니다.

반환 코드 값

0(성공) 또는 1(실패).

결과 집합

없음

사용 권한

sysadmin 및 serveradmin 고정 서버 역할의 멤버 자격이 필요합니다.

설명

@lang 지정하지 않는 한all, 메시지의 모든 지역화된 버전을 삭제해야 미국 영어 버전의 메시지를 삭제할 수 있습니다.

예제

A. 사용자 정의 메시지 삭제

다음 예제에서는 사용자 정의 메시지, 숫자 50001, 에서 sys.messages삭제합니다.

USE master;
GO
EXEC sp_dropmessage 50001;

B. 지역화된 버전을 포함하는 사용자 정의 메시지 삭제

다음 예제에서는 지역화된 버전을 포함하는 사용자 정의 메시지인 number 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