Topic Last Modified: 2011-01-28
The Group Chat database schema consists of the following tables.
Active Directory Sync
Table | Description |
---|---|
Contains the current Lightweight Directory Access Protocol (LDAP) Sync cookies. Each row corresponds to an Active Directory Domain Services (AD DS) domain that Microsoft Lync Server 2010, Group Chat is actively monitoring for changes. (Only the Active Directory domains that are relevant for Lync Server 2010, Group Chat are represented in this table.) |
|
Contains group membership changes (both added and removed members) that have not yet been processed by the later Active Directory Sync steps and is one of the temporary tables (along with ADUpdates table) used by first step Active Directory Sync. Membership changes are stored, processed, or both, only for groups that are listed in the Principal table or that already have members listed there. |
|
Contains changes to AD DS that have not yet been processed by the later Active Directory Sync steps and is one of the temporary tables (along with the PrincipalMemberDifference table) used by first step Active Directory Sync. Changes to AD DS are stored, processed, or both only for principals that are already listed in the Principal table. |
|
Contains principal memberships. |
|
Contains the principals that have to be refreshed from AD DS. |
|
Contains affiliations that could not be refreshed for some reason, usually due to Active Directory access errors. This table is for informational purposes only. Its content is not used. The principals with affiliations that could not be refreshed properly are kept in the PrincipalMeta table and given another chance to be refreshed. |
Principals, Affiliations, Nodes, Scopes, and Roles
Table | Description |
---|---|
Contains principal types to categorize what is in tblPrincipal. This table is static. It is set up during database creation and does not change. |
|
Contains all principals (users, folders, groups, and so on). Group Chat Server handles this as a flat heterogeneous list. Various columns are based on the type of each principal. Most of these principals are cached copies of objects stored in AD DS. Creating the cached copy in the Principal table of these Active Directory objects is referred as provisioning. Some principals are created with more intention than others, and some Active Directory objects are ignored altogether. |
|
Contains principal affiliations that describe memberships in Active Directory security groups, Active Directory containers, federated groups, and so on. |
|
Contains the console tree (with category and chat room nodes), as managed in Microsoft Lync Server 2010, Group Chat Admin Tool. |
|
Contains redundant information that can be computed from the Node table. This information helps optimize various types of searches through the console tree. |
|
Contains role types and their associated permission sets. This lookup table is static. |
|
Contains scopes assigned to nodes. Each node either inherits attributes from one of its parents (which can be quickly looked up by using the Node.scopeDefinerId table), or has a set of principals defined in the ScopedPrincipal table that together define a scope. |
|
Contains explicit roles assigned to nodes. Determining effective roles requires more steps for the following reasons:
|
|
Contains the registered Add-ins that can be associated with nodes. |
|
Contains roles that have been deleted (purged) from the PrincipalRole table. |
|
Contains scopes that have been deleted (purged) from the ScopedPrincipal table. |
|
Contains only the hardcoded “Visibility” and “Behavior” attributes used in the Node table. |
|
Contains the values of the hardcoded “Visibility” and “Behavior” attributes used in the Node table. |
Invites, Chats, and other Client Support
Table | Description |
---|---|
Contains invites for all provisioned users in the system for all nodes with Auto Invite enabled. |
|
Contains all chat messages. |
|
Contains the last invite ID generated (and used in the PrincipalInvites table) for each user. |
|
Contains the last chat ID generated (and used in the Chat table) for each user. |
|
Contains user client preferences. |
|
Contains temporary tokens for file transfer purposes. Each time a file is uploaded or downloaded, the Channel service generates a token that the client uses to access the Web service file store. |
Server Support
Table | Description |
---|---|
Contains the active servers in the Group Chat Server pool. |
|
Contains the administrator lock to run some administrator commands. The system revision entry in the SystemRevision table is incremented after each release of the lock. |
|
Contains the revision number entry used (along with the AdminLock table) for achieving consistency across multiple clients. |
|
Contains current peer-to-peer connections between Channel Servers. |
|
Contains the non-compliance part of the Group Chat database version. |
|
Contains the Group Chat Server configuration. |
|
Table not used at present. |
Compliance
Table | Description |
---|---|
Contains the compliance events that have not yet been processed by all the registered translators. This table includes chat-related events, such as chat messages and file downloads. (Participant events are tracked by the ComplianceParticipant table.) (The servers that processed the events in this table are listed in the ComplianceFanout table.) |
|
Contains the servers that processed a compliance event. This is tightly coupled with the ComplianceData table. |
|
Contains current participants per channel and per server. It is maintained based on join and part compliance events received from the Channel service. |
|
Contains registered translators. |
|
Contains the times of the latest processed compliance event for each translator. |
|
Contains the compliance part of the Group Chat database version. |