728x90

안녕하세요.

주현애비 입니다.

오늘은 Lync SErver 전체 사용자 버디리스트 및 그룹을 조회 하는 쿼리를 알아보도록 하겠습니다.

각 사용자는 ResourceID라는 것이 있습니다. 대부분의 이 ResourceID와 연결 고리 관계를 가지고 있다라고 볼수 있습니다.

1. ResourceID를 알기 위해서는 Resource Table에 본인의 'Sip Address'를 조건에 넣어 주시면 알수 있습니다.(F/E RCT DB)

===================================================

select * from Resource
 where UserAtHost = 'testh001@mani4u.com'

ResourceId  UserAtHost
3680            testh001@mani4u.com

===================================================

제 ResourceID는 "3680"이네요.

 

2.  사용자의 버디리스트를 확인 방법

Contact Table : 모든 사용자의 버디리스트가 있는 테이블입니다.

OwnerID는 본인의 ResourceID와 동일 합니다.

BuddyID는 사용자가 추가한 ResourceID입니다.

자 그럼 제가 추가한 사용자를 쿼리 해볼까요. 1번에서 봤듯이 제 ResourceID는 "3680"이었습니다.

select * from Contact

where OwnerId= '3680'

OwnerId BuddyId
3680       35
3680       36
3680       41
3680       42
3680       44
3680       45

제 버디리스트에는 6명이 존재하는 것을 알수 있네요.

거꾸로 생각해보면 상대방ID를 누가 추가 했는지도 알수 있겠네요.ㅋ

 

3. 버디 그룹 확인 방법

ContactGroup Table : 모든 사용자의 그룹이 있는 테이블입니다.

ContactGroup도 마찬가지로 OwnerId가 존재합니다. 즉 본인의 ReourceID와 동일하다는 것이고요.

각 OwnerID는 GroupNumber 필드의 값들은 1부터 그룹갯수만큼의 Sequence Number가 들어 있습니다.

기본적으로 GroupNumber 필드는 모든 사용자가 1과 2 값은 들어가 있습니다.

1값은 틸드(~)그룹으로 추가 되는 모든 사용자가 포함 되는 그룹입니다.

2값은 "다른 연락처(Pinned Contacts)"그룹입니다.

자 그럼 제 그룹이 몇개나 존재하는지 조회를 해보겠습니다.

select OwnerId , GroupNumber, cast(DisplayName as xml) as 그룹 from ContactGroup
where OwnerId =3680

OwnerId GroupNumber 그룹
3680       2                   Pinned Contacts
3680       1                    ~
3680       3                   그룹1
3680       4                   그룹2
3680       5                   그룹3

 

총 5개의 그룹이 존재 합니다.

요점 정리를 하자면 전체 버디 및 그룹을 잘 백업 하면 복원도 가능 합니다.

또한, 전체 사용자 백업을 위한 검증도 할 수 있겠죠.^^

끝.

 

 

 

 

 

728x90

+ Recent posts