I had free time in the holidays that I spent playing around with databases of Lync and took notes of what I found and learned and decided to put them in an article to be used as a…let’s say Lync databases anatomy, I’ll be talking about a simple Lync pool installation and databases included with it.
Overview of Lync database architecture
First things first, in Lync there are couple of places that databases are usually installed, depend on your Lync pool design
In My lab I have an Enterprise front end pool with a SQL backend server, so I’ll be talking about two locations where databases are installed on the SQL backend and the front end servers. In case of a standard edition front end pool those databases are installed in one location – the front end.
PowerShell command Get-CsConfigurationStoreLocation can help locating the server used as Lync Backend
RTC instance, RTC and RTCLOCAL… huh?
for some engineers with limited understanding of SQL (like me), they might get confused when talking about too many use of the word RTC in a conversation, and if you include RTCLOCAL to the conversation they just start fade away
so let’s clear things up shall we?
taking this definition and apply it to Lync databases we get the following
NOTE: RTC is the default name of the Lync instance, but it can be changed during deployments.
you can learn more about RTC & RTCLOCAL from my previous article Simple understanding for Lync CMS
Now let’s talk about the type of each of those databases you see and what are they used for. In Lync there are number of database types I used the way TechNet divided them with small different (full list can be found here)
following databases are considered “Application” databases
- CPsdyn: contain dynamic information used by Call Park application like “Orbits”
- RGSConfig: contain the configuration of the Response Groups, like Agents, Workflows, Queues, Holidays…etc.
RGSDyn: contain dynamic “live” information used by the Response Groups
Archiving & Monitoring
I think from the name it is obvious what are they used for, just pay attention that usually those databases are installed on a different SQL instance, not the default one.
- LCSLog: archive information about Instant messaging sessions, P2P calls and conferencing used by the archiving server.
- LCSCdr: store the call details records used by the monitoring server.
- QoEMetrics: store information about Quality of Experience used by the monitoring server.
- XDS: this is the Lync Central management Store (CMS) database, it holds Lync topology, configuration and polices (more details: Simple understanding for Lync CMS)
- Lis: store location information (network subnets, ports, Switches…etc.) that is used by Lync Location services for E9-1-1 feature.
Following databases are usually installed on both the RTC and RTCLOCAL instances
- RTC: as mentioned before, it store persistent user information (contact list, scheduled conferences…etc.)
- RTCDyn: Store dynamic “live” data about users (current presence, endpoints user logged in from…etc.)
RTCAB: store the Lync address book information used by Lync address book services
RTCXDS: store a back up of user data
that’s all, a small quick and to the point explanation of Lync Databases types and functionalities, hope you found it helpful.
Happy New year everyone