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을 참조하세요.