현재 사용자에 대해 여러 가지 생각할 수 있습니다. Advantage 사용 방법에 따라 다릅니다. - 컴퓨터 이름
사전 사용자 - IP, IPX 또는 IPC 주소
OSUserLoginName - - 광고 사전에
주소를 로그인하는 데 사용되는 사용자 클라이언트 OS 로그인 이름
사용자 이름 :
sp_mgGetConnectedUsers 출력은 다음을 제공합니다 TS 주소 - 클라이언트 주소
작은 애플리케이션의 최종 사용자의 IP 주소 - 고유 setable ID 기본 = EXE 이름
당신이 Dictiona를 사용하는 경우 각 사용자가 사전을 고유 이름으로 연결하면 사전 사용자가 갈 수 있습니다 ("select user() from system.iota"(또는) SQL 스크립트 등으로도 얻을 수 있습니다). 주소 및 사용자 이름은 사용자의 IP 주소 및 사용자의 컴퓨터 이름입니다. 이렇게하면 사용자를 고유하게 식별하는 데 도움이됩니다. 사용자가 터미널 서버를 통해 들어오는 경우 TS 주소를 사용하여 OSUserLoginName과 함께 사용자를 식별 할 수 있습니다. 이 솔루션에 신경 쓰지 않는다고 특별히 명시 했으므로 ApplicationID에 대해서는 자세히 설명하지 않겠습니다. 하지만 ... 원하는 항목으로 설정할 수 있지만 기본값은 응용 프로그램 (예 : ARC.exe)의 이름입니다.
질문의 B 부분은 검색어를 연결하는 방법입니다. sp_getsqlstatements 프로시 저는 현재 활성 쿼리를 반환하거나 ARC에서 원격 서버 정보를 사용할 수 있습니다. 이렇게하면 sp_mgGetConnectedUsers의 UserName과 동일한 연결 이름이 반환됩니다. 이 조합을 사용하여 컴퓨터 이름, IP 주소 (또는 터미널 추가 도구), 사전 사용자 이름, 클라이언트 OS 로그인 이름 및 응용 프로그램 이름을 알 수 있습니다.
sp_GetSQLStatements는 일반 출력의 일부로 사용자 이름 (SQL 문과 함께)을 반환합니다. 그것은 당신이 찾고있는 것입니까? 그것은 당신이 sp_mgGetConnectedUsers()에서 UserName에 상관 관계가있을 것 같습니다. –
이것이 JD가 제안한 바입니다. 나는 장님이다. –