sp_dropmessage(Transact-SQL)
적용 대상: SQL Server
SQL Server 데이터베이스 엔진 인스턴스에서 지정된 사용자 정의 오류 메시지를 삭제합니다. 카탈로그 뷰를 사용하여 sys.messages
사용자 정의 메시지를 볼 수 있습니다.
구문
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