컴퓨터 지식 네트워크 - 컴퓨터 백과사전 - SqlServer에서 프런트 엔드 연결의 IP 주소, 컴퓨터 이름 및 기타 정보를 얻는 방법

SqlServer에서 프런트 엔드 연결의 IP 주소, 컴퓨터 이름 및 기타 정보를 얻는 방법

일부 요구 사항에서는 연결 요청을 시작할 때 프런트 엔드 연결의 컴퓨터 이름 및 IP 주소와 같은 SqlServer에 연결된 프런트 엔드 프로그램의 일부 시스템 정보를 알아야 할 수도 있습니다. , 연결 종료 시기 및 기타 정보. SqlServer의 시스템 기능이나 뷰에 대해 잘 모르는 경우 이 기능이 복잡해 보일 수 있습니다. 실제로 SqlServer의 동적 관리 뷰는 이미 이 정보를 제공했습니다. 두 가지 동적 관리 뷰를 살펴보겠습니다. 1. Sys.dm_exec_Sessions 이 보기는 sqlserver에 연결된 모든 클라이언트에 대한 일부 정보를 제공합니다. 다음은 Sys.dm_exec_Sessions에서 반환되는 열입니다. 열 이름 데이터 형식 설명 Session_idsmallint는 각 활성 기본 연결과 연결된 세션을 식별합니다. login_timedatetime 세션이 설정된 시간입니다. host_namenvarchar(128) 세션과 연결된 호스트입니다. program_namenvarchar(128) 세션과 연결된 프로그램입니다. host_process_idint 세션과 연결된 프로세스 ID입니다. client_versionint클라이언트가 서버에 연결하는 데 사용하는 인터페이스 버전입니다. client_interface_namenvarchar(32) 클라이언트가 서버에 연결하는 데 사용하는 인터페이스 이름입니다. security_idvarbinary(85)로그인과 연결된 Microsoft Windows 보안 ID입니다. login_namenvarchar(128)세션과 연결된 SQL 로그인 이름입니다. nt_domainnvarchar(128) 세션 연결이 설정된 도메인입니다. nt_user_namenvarchar(128) 세션과 연결된 사용자 이름입니다. statusnvarchar(30) 세션 상태입니다. 가능한 값: 1,Run - 하나 이상의 요청이 현재 실행 중입니다.

2,Sleep - 현재 실행 중인 요청이 없습니다.

3,Hibernate - 세션이 로그인 전 상태입니다.

p>

context_infovarbinary(128) 세션의 CONTEXT_INFO 값입니다. cpu_timeint 이 세션이 차지하는 CPU 시간(밀리초)입니다. memory_usageint이 세션이 차지하는 8KB 메모리 페이지 수입니다. total_scheduled_timeint요청을 포함하도록 예약된 세션을 실행하는 데 소요된 총 시간(밀리초)입니다. total_elapsed_timeint 세션이 설정된 이후 경과된 시간(밀리초)입니다. 끝점_idint세션과 연결된 끝점의 ID입니다. last_request_start_timedatetime 가장 최근 세션 요청의 시작 시간입니다. 여기에는 현재 실행 중인 요청이 포함됩니다. last_request_end_timedatetime 가장 최근 세션 요청의 완료 시간입니다. readsbigint 이 세션 동안 이 세션의 요청에 의해 수행된 읽기 수입니다. Writesbigint 이 세션 동안 이 세션의 요청에 의해 수행된 쓰기 수입니다. logic_readsbigint이 세션에서 수행된 논리적 읽기 수입니다. is_user_processbit는 세션이 시스템 세션인 경우 0입니다. 그렇지 않으면 1. text_sizeint 세션의 TEXTSIZE 설정. Languagenvarchar(128) 세션의 LANGUAGE 설정입니다. date_formatnvarchar(3) 세션에 대한 DATEFORMAT 설정입니다. date_firstsmallint 세션에 대한 DATEFIRST 설정입니다. quoted_identifierbit 세션의 QUOTED_IDENTIFIER 설정입니다. arithabortbit 세션에 대한 ARITHABORT 설정입니다. ansi_null_dflt_onbit 세션에 대한 ANSI_NULL_DFLT_ON 설정입니다. ansi_defaultsbit 세션에 대한 ANSI_DEFAULTS 설정입니다. ansi_warningsbit 세션에 대한 ANSI_WARNINGS 설정입니다. ansi_paddingbit 세션에 대한 ANSI_PADDING 설정입니다. ansi_nullsbit 세션에 대한 ANSI_NULLS 설정입니다. concat_null_yields_nullbit 세션의 CONCAT_NULL_YIELDS_NULL 설정. transaction_isolation_levelsmallint 세션의 트랜잭션 격리 수준입니다.

0 = 지정되지 않음 1 = 커밋되지 않은 읽기 2 = 읽기 커밋됨 3 = 반복 가능 4 = 직렬화 가능 5 = Snapshot lock_timeoutint 세션의 LOCK_TIMEOUT 설정. 값은 밀리초 단위입니다. deadlock_priorityint 세션의 DEADLOCK_PRIORITY 설정입니다. row_countbigint 지금까지 세션에서 반환된 행 수입니다. prev_errorint 세션에서 반환된 가장 최근 오류의 ID입니다. 예를 들어, 어떤 호스트가 sqlserver 서버에 연결되어 있는지 확인하려면 다음 sql 문을 사용할 수 있습니다.

sys.dm_exec_Sessions에서 고유한 호스트 이름을 선택하여 sqlserver 서버에 연결된 사용자를 확인하세요.

sys.dm_exec_Sessions에서 고유한 login_name 선택 물론 위 열을 사용하면 원하는 더 많은 클라이언트 정보를 얻을 수 있습니다. 2. Sys.dm_exec_connections 이 뷰는 sqlserver 서버에 대한 각 연결의 세부 정보를 반환합니다. 다음은 Sys.dm_exec_connections에서 반환된 열입니다. 열 이름 데이터 형식 설명 Session_idint 이 연결과 연결된 세션을 식별합니다. Most_recent_Session_idint는 이 연결과 관련된 가장 최근 요청의 세션 ID를 표시합니다. connect_timedatetime 연결이 설정된 타임스탬프입니다. net_transportnvarchar(40)은 이 연결에 사용되는 물리적 전송 프로토콜을 지정합니다. protocol_typenvarchar(40)은 페이로드의 프로토콜 유형을 지정합니다. 이 매개변수는 현재 TDS(TSQL)와 SOAP를 구별합니다. 프로토콜_버전int이 연결과 관련된 데이터 액세스 프로토콜의 버전입니다. 끝점_idint 이 연결과 연결된 끝점의 고유 식별자입니다. 이 엔드포인트_id는 sys.endpoints 뷰를 쿼리하는 데 사용될 수 있습니다. encrypt_optionnvarchar(40) 이 연결에 대해 암호화가 활성화되었는지 여부를 나타내는 부울입니다. auth_schemenvarchar(40)은 이 연결에 사용할 SQL Server/NT 인증을 지정합니다. node_affinitysmallint는 이 연결과 관련된 SOS 노드를 표시합니다. num_readsint이 연결에서 발생한 패킷 읽기 수입니다. num_writesint 이 연결에서 발생한 쓰기 패킷 수입니다. last_readdatetime 이 연결에서 발생한 마지막 읽기 작업의 타임스탬프입니다. last_writedatetime 이 연결에서 발생한 마지막 쓰기 작업의 타임스탬프입니다. net_packet_sizeint 메시지 및 데이터에 사용되는 네트워크 패킷의 크기입니다. client_net_addressvarchar(40) 이 서버에 연결된 클라이언트의 호스트 주소입니다. client_tcp_portint 이 연결과 연결된 클라이언트의 포트 번호입니다. local_net_addressvarchar(40)은 이 연결에 대한 대상 서버의 IP 주소를 표시합니다. TCP 전송 공급자를 사용하는 연결에만 사용할 수 있습니다. local_tcp_portint 이 연결이 TCP 전송을 사용하는 경우 연결 대상 서버의 TCP 포트를 표시합니다. Connection_iduniqueidentifier는 각 연결을 고유하게 식별합니다. parent_connection_iduniqueidentifier는 MARS 세션에서 사용되는 기본 연결을 식별합니다. Most_recent_sql_handlevarbinary(64) 이 연결에서 실행된 마지막 요청의 SQL 핸들입니다. Most_recent_sql_handle 열은 항상 Most_recent_Session_id 열과 동기화됩니다. 예를 들어 현재 연결된 클라이언트 IP와 sqlserver가 위치한 서버의 IP를 확인하고 싶다면 다음 SQL 쿼리를 사용하면 됩니다.

select client_net_address '클라이언트 IP', local_net_address '서버 IP ' sys.dm_exec_connections에서 Session_id=@@spid@@spid는 현재 프로세스의 세션 ID를 반환하는 데 사용됩니다.

上篇: 해외 클릭 돈벌 사이트 下篇: FM18 이상의 주파수를 어떻게 들을 수 있습니까?
관련 내용