다음을 통해 공유


xp_logevent(Transact-SQL)

사용자 정의 메시지를 SQL Server 로그 파일과 Windows 이벤트 뷰어에 기록합니다. xp_logevent는 클라이언트에게 메시지를 보내지 않고 경고를 보내는 데 사용할 수 있습니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

xp_logevent { error_number , 'message' } [ , 'severity' ]

인수

  • error_number
    50,000을 초과하는 사용자 정의 오류 번호입니다. 최대값은 2147483647(2^31 - 1)입니다.

  • ' message '
    최대 2048자의 문자열입니다.

  • ' severity '
    세 문자열( INFORMATIONAL, WARNING 또는 ERROR) 중 하나입니다. severity는 선택 사항이며 기본값은 INFORMATIONAL입니다.

반환 코드 값

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

결과 집합

xp_logevent는 포함된 코드 예에 대해 다음과 같은 오류 메시지를 반환합니다.

The command(s) completed successfully.

주의

Transact-SQL 프로시저, 트리거, 일괄 처리 등에서 메시지를 보낼 때는 xp_logevent 대신 RAISERROR 문을 사용합니다. xp_logevent는 클라이언트의 메시지 처리기를 호출하거나 @@ERROR를 설정하지 않습니다. Windows 이벤트 뷰어와 SQL Server 인스턴스 내의 SQL Server 오류 로그 파일에 메시지를 기록하려면 RAISERROR 문을 실행하십시오.

사용 권한

master 데이터베이스에서 db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격이 필요합니다.

다음 예는 메시지로 전달된 변수와 함께 메시지를 Windows 이벤트 뷰어에 로깅합니다.

DECLARE @@TABNAME varchar(30)
DECLARE @@USERNAME varchar(30)
DECLARE @@MESSAGE varchar(255)
SET @@TABNAME = 'customers'
SET @@USERNAME = USER_NAME()
SELECT @@MESSAGE = 'The table ' + @@TABNAME + ' is not owned by the user 
   ' + @@USERNAME + '.'

USE master
EXEC xp_logevent 60000, @@MESSAGE, informational

참고 항목

참조

PRINT(Transact-SQL)

RAISERROR(Transact-SQL)

시스템 저장 프로시저(Transact-SQL)

일반 확장 저장 프로시저(Transact-SQL)