xp_logevent(Transact-SQL)
사용자 정의 메시지를 SQL Server 로그 파일과 Windows 이벤트 뷰어에 기록합니다. xp_logevent는 클라이언트에게 메시지를 보내지 않고 경고를 보내는 데 사용할 수 있습니다.
구문
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