in the journey of moving my old articles from Lyncdude.com to this blog I decided to include this one in the migration about let’s say Skype for Business databases anatomy, I’ll be talking about a simple SfB pool installation and databases included with it.
Overview of Skype for Business Database Architecture
First things first, in Skype for Business there are couple of places that databases are usually installed, depend on your Skype for Business pool design
- Enterprise Edition Front end Pool – Master databases (XDS) installed on SQL backend server and a read-only copy is installed locally on the front end servers, some of the databases are hosted primarily and only on the backend like Monitoring, Archiving, Persistent chat.
- Standard Edition Front end Pool – both master & copy databases are installed locally on the Front end server (SQL Express)
- 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 Skype for Business 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?
- Instance: think of a SQL Instance as a container that have Databases inside it.
- Database: well database is where the data is actually stored
- taking this definition and apply it to Skype for Business databases we get the following
- RTC Instance is used by Skype for Business to store all the backend databases, including the master CMS, Response Groups configuration, location database…etc.
- RTC Database is used by Skype for Business to store persistent user information like scheduled conferences, contact lists..etc.
- RTCLOCAL Instance is used by Skype for Business front end server to store a local copy of the master CMS database and other database used for some user information (presence, endpoints..etc.) explained later in this article.
- you can learn more about RTC & RTCLOCAL from my previous article Simple understanding of Skype for Business / Lync CMS
Skype For Business Databases
Now let’s talk about the type of each of those databases you see and what are they used for. In Skype for Business there are number of database types I used the way TechNet divided them with small different (full list can be found here)
- Archiving & Monitoring
- Central management
- Skype for Business Core
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 the name explains it well, 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 Skype for Business heart, it holds Skype for Business topology, configuration and polices (more details: Simple understanding of Skype for Business/ Lync CMS)
- Lis: store location information (network subnets, ports, Switches...etc.) that is used by Skype for Business Location services for E9-1-1 feature.
Skype for Business Core
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 Skype for Business address book information used by Skype for Business address book services
RTCXDS: store a back up of user data
that’s all, a small quick and to the point explanation of Skype for Business databases types and functionalities, hope you found it helpful.