sys.conversation_endpoints(Transact-SQL)

적용 대상:SQL Server

Service Broker 대화의 각 측면은 대화 엔드포인트로 표시됩니다. 이 카탈로그 뷰에는 데이터베이스에 있는 각 대화 엔드포인트에 대한 행이 포함되어 있습니다.

열 이름 데이터 형식 설명
conversation_handle uniqueidentifier 이 대화 엔드포인트의 식별자입니다. NULLABLE이 아닙니다.
conversation_id uniqueidentifier 대화의 식별자입니다. 이 식별자는 대화의 두 참가자가 공유합니다. 이것은 is_initiator 열과 함께 데이터베이스 내에서 고유합니다. NULLABLE이 아닙니다.
is_initiator tinyint 이 엔드포인트가 시작자인지 대화의 대상인지 여부입니다. NULLABLE이 아닙니다.

1 = 초기자

0 = 대상
service_contract_id int 이 대화에 대한 계약의 식별자입니다. NULLABLE이 아닙니다.
conversation_group_id uniqueidentifier 이 대화가 속하는 대화 그룹의 식별자입니다. NULLABLE이 아닙니다.
service_id int 대화의 이 쪽에 대한 서비스의 식별자입니다. NULLABLE이 아닙니다.
수명(lifetime) 날짜/시간 이 대화의 만료 날짜/시간입니다. NULLABLE이 아닙니다.
state char(2) 대화의 현재 상태입니다. NULLABLE이 아닙니다. 다음 중 하나입니다.

그래서 아웃바운드를 시작했습니다. SQL Server는 이 대화에 대해 BEGIN CONVERSATION을 처리했지만 아직 메시지가 전송되지 않았습니다.

SI가 인바운드를 시작했습니다. 다른 인스턴스가 SQL Server와 새 대화를 시작했지만 SQL Server가 아직 첫 번째 메시지를 완전히 받지 못했습니다. 첫 번째 메시지가 조각화되거나 SQL Server가 메시지를 순서대로 수신하는 경우 SQL Server에서 이 상태로 대화를 만들 수 있습니다. 그러나 대화에 대해 수신된 첫 번째 전송에 전체 첫 번째 메시지가 포함된 경우 SQL Server는 CO(대화) 상태로 대화를 만들 수 있습니다.

CO 대화. 대화가 설정되고 대화의 양쪽에서 메시지를 보낼 수 있습니다. 일반적인 서비스에 대한 대부분의 통신은 대화가 이 상태일 때 발생합니다.

DI 연결이 끊긴 인바운드입니다. 대화의 원격 쪽에서 END CONVERSATION을 실행했습니다. 대화의 로컬 쪽에서 END CONVERSATION을 발급할 때까지 대화가 이 상태로 다시 기본. 애플리케이션은 여전히 대화에 대한 메시지를 받을 수 있습니다. 대화의 원격 쪽이 대화를 종료했기 때문에 애플리케이션은 이 대화에서 메시지를 보낼 수 없습니다. 애플리케이션에서 END CONVERSATION을 실행하면 대화가 CD(닫힘) 상태로 이동합니다.

연결이 끊긴 아웃바운드를 수행합니다. 대화의 로컬 쪽에서 END CONVERSATION을 실행했습니다. 원격 대화 상대가 END CONVERSATION을 승인할 때까지 대화는 이 상태로 유지됩니다. 애플리케이션은 대화에 대한 메시지를 보내거나 받을 수 없습니다. 대화의 원격 쪽에서 END CONVERSATION을 승인하면 대화가 CD(닫힘) 상태로 이동합니다.

ER 오류입니다. 이 엔드포인트에서 오류가 발생했습니다. 오류 메시지는 애플리케이션 큐에 배치됩니다. 애플리케이션 큐가 비어 있으면 애플리케이션에서 이미 오류 메시지를 사용했음을 나타냅니다.

CD를 닫습니다. 대화 엔드포인트가 더 이상 사용되지 않습니다.
state_desc nvarchar(60) 엔드포인트 대화 상태에 대한 설명입니다. 이 열은 NULL을 허용합니다. 다음 중 하나입니다.

STARTED_OUTBOUND

STARTED_INBOUND

대화

DISCONNECTED_INBOUND

DISCONNECTED_OUTBOUND

CLOSED

오류
far_service nvarchar(256) 대화의 원격 쪽에 있는 서비스의 이름입니다. NULLABLE이 아닙니다.
far_broker_instance nvarchar(128) 대화의 원격 쪽에 대한 broker 인스턴스입니다. Nullable.
principal_id int 대화 상자의 로컬 쪽에서 인증서를 사용하는 보안 주체의 식별자입니다. NULLABLE이 아닙니다.
far_principal_id int 대화 상자의 원격 쪽에서 인증서를 사용하는 사용자의 식별자입니다. NULLABLE이 아닙니다.
outbound_session_key_identifier uniqueidentifier 이 대화에 대한 아웃바운드 암호화 키의 식별자입니다. NULLABLE이 아닙니다.
inbound_session_key_identifier uniqueidentifier 이 대화에 대한 인바운드 암호화 키의 식별자입니다. NULLABLE이 아닙니다.
security_timestamp 날짜/시간 로컬 세션 키가 만들어진 시간입니다. NULLABLE이 아닙니다.
dialog_timer 날짜/시간 이 대화 상자의 대화 타이머가 DialogTimer 메시지를 보내는 시간입니다. NULLABLE이 아닙니다.
send_sequence bigint 전송 시퀀스의 다음 메시지 번호입니다. NULLABLE이 아닙니다.
last_send_tran_id binary(6) 메시지를 보내는 마지막 트랜잭션의 내부 트랜잭션 ID입니다. NULLABLE이 아닙니다.
end_dialog_sequence bigint 종료 대화 상자 메시지의 시퀀스 번호입니다. NULLABLE이 아닙니다.
receive_sequence bigint 메시지 수신 시퀀스에서 예상되는 다음 메시지 번호입니다. NULLABLE이 아닙니다.
receive_sequence_frag int 메시지 수신 시퀀스에 필요한 다음 메시지 조각 번호입니다. NULLABLE이 아닙니다.
system_sequence bigint 이 대화 상자에 대한 마지막 시스템 메시지의 시퀀스 번호입니다. NULLABLE이 아닙니다.
first_out_of_order_sequence bigint 이 대화 상자에 대한 순서가 지난 메시지의 첫 번째 메시지 시퀀스 번호입니다. NULLABLE이 아닙니다.
last_out_of_order_sequence bigint 이 대화 상자의 순서가 지난 메시지의 시퀀스 번호입니다. NULLABLE이 아닙니다.
last_out_of_order_frag int 이 대화에 대한 순서가 잘못된 조각에서 마지막 메시지의 시퀀스 번호입니다. NULLABLE이 아닙니다.
is_system bit 시스템 대화 상자인 경우 1입니다. NULLABLE이 아닙니다.
priority tinyint 이 대화 엔드포인트에 할당된 대화 우선 순위입니다. NULLABLE이 아닙니다.

사용 권한

카탈로그 뷰에서 메타데이터의 표시 유형은 사용자가 소유하거나 사용자에게 일부 권한이 부여된 보안 개체로 제한됩니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.