다음을 통해 공유


감사 중개인 대화 행사 수업

적용 대상:SQL ServerAzure SQL 데이터베이스Azure SQL Managed Instance

SQL Server는 서비스 브로커 대화 메시지 보안과 관련된 감사 메시지를 보고하는 이벤트를 Audit Broker Conversation 생성합니다.

감사 브로커 대화 이벤트 클래스 데이터 컬럼

데이터 열 Type 설명 열 번호 필터 가능
ApplicationName nvarchar SQL Server 인스턴스에 대한 연결을 만든 클라이언트 애플리케이션의 이름입니다. 이 열은 표시된 프로그램 이름이 아닌 애플리케이션에서 전달되는 값으로 채워집니다. 10
BigintData1 bigint 메시지의 메시지 시퀀스 번호입니다. 52 아니요
ClientProcessID int 클라이언트 애플리케이션이 실행 중인 프로세스에 호스트 컴퓨터가 할당한 ID입니다. 클라이언트가 클라이언트 프로세스 ID를 제공하면 이 데이터 열이 채워집니다. 9
DatabaseID int 문장에 의해 USE <database> 지정된 데이터베이스의 ID, 또는 특정 인스턴스에 대해 문장이 발행되지 않은 USE <database> 경우 기본 데이터베이스의 ID. 데이터 열이 트레이스에 캡처되고 서버가 사용 가능할 경우 ServerName SQL Server 프로파일러는 데이터베이스 이름을 표시합니다. DB_ID 함수를 사용하여 데이터베이스의 값을 결정합니다. 3
Error int 이 이벤트가 오류를 보고하는 경우 SQL Server 오류 번호입니다. 31 아니요
EventClass int 캡처된 이벤트 클래스의 형식입니다. 항상 에 대해Audit Broker Conversation.158 27 아니요
EventSubClass int 각 이벤트 클래스에 대한 추가 정보를 제공하는 이벤트 하위 클래스의 유형입니다. 아래 표에서는 이 이벤트에 대한 이벤트 하위 클래스 값을 나열합니다. 21
FileName nvarchar 로그인 실패의 원인입니다. 로그인에 성공하면 이 열이 비어 있습니다. 36 아니요
GUID uniqueidentifier 대화 ID입니다. 이 식별자는 메시지의 일부로 전송되며 양쪽 대화 상대 간에 공유합니다. 54 아니요
HostName nvarchar 클라이언트를 실행 중인 컴퓨터의 이름입니다. 클라이언트가 호스트 이름을 제공할 경우 이 데이터 열이 채워집니다. 호스트 이름을 확인하려면 함수를 HOST_NAME 사용합니다. 8
IntegerData int 메시지의 조각 번호입니다. 25 아니요
NTDomainName nvarchar 사용자가 속한 Windows 도메인입니다. 7
NTUserName nvarchar 이 이벤트를 생성한 연결을 소유한 사용자의 이름입니다. 6
ObjectId int 대상 서비스의 사용자 ID입니다. 22 아니요
RoleName nvarchar 대화 핸들의 역할입니다. 이것은 또는 target중 하나입니다initiator. 38 아니요
ServerName nvarchar 추적 중인 SQL Server 인스턴스의 이름입니다. 26 아니요
Severity int 이 이벤트가 오류를 보고하는 경우 SQL Server 오류 심각도입니다. 29 아니요
SPID int SQL Server가 클라이언트와 연관된 프로세스에 할당한 세션 ID. 12
StartTime 날짜/시간 이벤트가 시작된 시점(가능한 경우)을 지정합니다. 14
State int 이벤트를 생성한 SQL Server 소스 코드 내의 위치를 나타냅니다. 이 사건을 일으킬 수 있는 각 지역은 서로 다른 주 코드를 가지고 있습니다. Microsoft 지원 엔지니어는 이 상태 코드를 사용하여 이벤트가 생성된 위치를 찾을 수 있습니다. 30 아니요
TextData ntext 오류에 대해 실패 원인을 설명하는 메시지가 들어 있습니다. 다음의 값 중 하나입니다.

인증서를 찾을 수 없습니다. 대화 프로토콜 보안에 지정된 사용자에게 인증서가 없습니다.

유효 기간이 아닙니다. 대화 프로토콜 보안을 위해 지정된 사용자에게 인증서가 있지만 인증서가 만료되었습니다.

메모리 할당을 위해 인증서가 너무 큽니다. 대화 프로토콜 보안을 위해 지정된 사용자에게 인증서가 있지만 인증서가 너무 큽습니다. Service Broker에서 지원하는 최대 인증서 크기는 32,768바이트입니다.

프라이빗 키를 찾을 수 없습니다. 대화 프로토콜 보안에 지정된 사용자는 인증서를 가지고 있지만, 그 인증서에 연결된 개인 키는 없습니다.

인증서의 프라이빗 키 크기는 암호화 공급자와 호환되지 않습니다. 인증서의 개인 키는 성공적으로 처리할 수 없는 키 크기를 가지고 있습니다. 프라이빗 키 크기는 64바이트의 배수여야 합니다.

인증서의 공개 키 크기는 암호화 공급자와 호환되지 않습니다. 인증서의 공개 키는 성공적으로 처리할 수 없는 키 크기를 가지고 있습니다. 공개 키 크기는 64바이트의 배수여야 합니다.

인증서의 프라이빗 키 크기는 암호화된 키 교환 키와 호환되지 않습니다. 키 교환 키에 명시된 키 크기는 인증서의 개인 키 크기와 일치하지 않습니다. 이는 일반적으로 원격 컴퓨터의 인증서가 데이터베이스의 인증서와 일치하지 않는다는 것을 의미합니다.

인증서의 공개 키 크기는 보안 헤더의 서명과 호환되지 않습니다. 보안 헤더에는 인증서의 공개키로는 검증할 수 없는 서명이 포함되어 있습니다. 이는 일반적으로 원격 컴퓨터의 인증서가 데이터베이스의 인증서와 일치하지 않는다는 것을 의미합니다.
1

다음 표는 이 이벤트 클래스의 서브클래스 값을 나열합니다.

ID Subclass 설명
1 보안 헤더 없음 보안 대화 중에 서비스 브로커는 세션 키가 없는 메시지를 받았습니다. 보안 대화가 설정되면 대화 프로토콜에 대화의 모든 메시지에 세션 키가 포함되어야 합니다.
2 증명서가 없어 서비스 브로커는 대화 참여자 중 한 명에게 사용 가능한 인증서를 찾지 못했습니다. 대화를 보호하려면 데이터베이스에 대화의 보낸 사람과 받는 사람 모두에 대한 인증서가 포함되어야 합니다.
3 잘못된 서명 브로커는 발신자의 인증서에 있는 공개키를 사용해 발신자가 제공한 메시지 서명을 검증할 수 없었습니다. 이는 메시지가 손상되었거나, 변조되었거나, 원격 서비스와 로컬 서비스가 동일한 사용자 인증서로 구성되어 있지 않거나, 인증서가 오래되었음을 나타낼 수 있습니다.
4 실행 대상 오류 목적지 사용자는 목적지 큐에 대한 수신 권한이 없습니다. 무단 사용자가 메시지를 받지 못하도록 하기 위해, 서비스 브로커는 대기열에서 받을 수 없는 목적지 사용자와 메시지를 인큐하지 않습니다. 이는 시작 사용자가 메시지를 인큐 권한 여부와 상관없이 진행합니다.