Tag Archives: SQL

SQL Server Configuration for Skype for Business Server 2015 with SQL Mirror

SQL Server Configuration is a crucial part of the Skype for Business Server deployment. For SQL Server installation you can follow my preceding post Step by step SQL Server Installation for Skype for Business Server 2015. The below configuration mainly focus on settings which are necessary for mirror configuration.

First of all make sure network discovery, file and printer sharing is turned on.

If you are using default instance name then there is no need to setup the TCP Port. As we generally use named instance and by default SQL Server uses “TCP Dynamic Ports” for named instance. We need to specify static port which will be used by the Skype for Business Server to connect.

Open Sql Server Configuration Manager

Go to the SQL Server Network Configuration

Select “Protocols for ‘Instance Name'”

Go to the TCP/IP properties and click in “IP Addresses” tab

Scroll down and select TCP Port.

Assign “1433” and apply the settings.

Go to the SQL Server Services

Restart the SQL server instance service.


Now, open Windows Firewall and go the Advanced Settings.

Create inbound rules as shown below. 7022

If this server is witness server then create one more rule to open port number 7022 which is necessary for witness configuration.

Enable Inbound Firewall rules which are highlighted below in the screenshot.


Now you are done with the configuration part. I hope it worked for you J



Step by step SQL Server Installation for Skype for Business Server 2015

SQL server installation is simple and many IT folks know about it. Still, I am writing this blog post for those people who are not much comfortable with SQL Server. As you know SQL is an important and key server role in Lync & Skype for Business Server. It maintains Skype for Business Back End databases, Archiving and Monitoring databases, and Persistent Chat and Persistent Chat Compliance databases. Installation steps are common across the versions. In this article, I am going to capture installation steps for SQL Server 2014 which will be part of the SQL mirror. This mirror will be used for Skype for Business Back End and Archiving & Monitoring Server databases. As per your requirements and design, you can follow the same steps to create two different mirrors one for Back End databases and another for Archiving & Monitoring databases.

First of all install .Net Framework 3.5 either from GUI or you can use below PowerShell command to install the same. Make sure Windows Server media is connected to sql server, in my case that is connect as H:


Run SQL Server setup from installation media.


Select Installation and click on “New SQL Server stand-alone or add features to an existing installation”


Enter the product key and click on Next.


Accept the license terms and click on Next.


Click on Next.


Ignore this error if you are getting and click on Next.


Click on Next.


Ignore the warning and click on Next.


Select “SQL Server Feature Installation” and click on Next.


For Back End, Archiving, Persistent Chat and Persistent Chat Compliance databases, select the below instance features.

Change the installation path if you want to keep SQL binaries on different location otherwise click on Next.


For Monitoring Server databases, select “Reporting Services – Native” also.


Write the instance name and click on Next.


It is best to use specific service account instead of default.


In Server Configuration tab under “Database Engine Configuration” add users who will have SQL administrative rights.


In Data Directories tab, change the location for databases, log and temp directories as per your design and click on Next.


Use default option and click on Next.


Click on Install.



Once your SQL Server installation is completed. Open SQL Server Studio Manager to cross verify the installation and connectivity.

Use the same installation step for second server. While for witness server either you can install SQL Server express edition or can use any other existing SQL instance.

Lync 2013 Enterprise Edition Users and Servers Model

Lync designing & planning is intricate part and right decision can help organization to get better ROI. This article may help Solution Architects, Consultants and System Administrator to choose best Lync server/pool model. Number of Lync servers in a pool, collocated or distributed model of Lync roles typically depends on No. of Lync users, their activities and different geo locations.

Lync 2013 Server Pools Number of Servers Supported No. of End users Remarks
Lync 2013 Front End pool (Collocated with A/V conferencing, Mediation Server, A/M server) 12 80,000 Max. Conferences size is limited to 250 users, Media Bypass is required to support all users with condition of 60 % users are enable for EV and only 40% calls are UC-PSTN calls.
Lync 2013 Front End Pool (A/V only) 2 Large conferences b/w 250 – 1000 users
Lync 2013 Mediation Pool 12 80,000 100% users are enabled for EV and 80% calls are UC-PSTN calls. 12 servers are required if Media by pass in not enable/supported for deployed EV connectivity. No. of servers will reduce based on Media bypass configuration according to the %.
Lync 2013 Persistent Chat 8 (4 active & 4 Passive) 80,000 1, 50,000 users can be enabled for pChat and 80,000 users can use concurrent. Only pChat pool can be stretched b/w sites to achieve DR. For more details check Lync 2013 HA
Lync 2013 Edge Server 4 – 8 80,000 Depends on how many users will access Lync services simultaneously, 3-4 servers for 30-40% & 7-8 servers for 100%
Lync Director (optional) 3 – 8 80,000 Depends on remote users, 3 servers for 30% remote users and 8 servers for 100% remote users.
SQL Server 2* 80,000 *2 for each backend databases


Important: Above data has provided for physical servers, minor change can happen if you use virtualization as per MS guidelines. It does not take any accountability of DR plan/scenarios. If you are planning for DR also, please account overhead of DR users if available.

Lync Server 2013 Databases

Lync Server 2013 use SQL Server 2012 Express Edition (64 bit) for servers where Lync server role require local configuration database and SQL Server 2008 R2/2012 (64 bit) for Lync Back End, Archiving, Monitoring, and Persistent Chat and Persistent Chat Compliance databases. You can configure SQL mirror to achieve High Availability for Lync Back End, Archiving, Monitoring, and Persistent Chat and Persistent Chat Compliance databases.

So, now we will have a look into the databases and their uses.

Lync Back End Server databases: Lync Back End (SQL) Server maintains Lync Central Management Store, users & applications databases. You can also use the same database server for archiving, monitoring, persistent chat and persistent chat compliance databases. For more information about the collocation of database please go through http://technet.microsoft.com/en-us/library/gg398102.aspx

SQL Back End server store Central Management Store, users & applications databases for Lync Enterprise Edition FE pool.

Below is the list of backend server databases:

xds: xds is the main database of Lync Server and part of central management store which maintain the topology information, polices, configuration etc. and replicate a read only copy to every subsequent lync server.

lis: lis stand for Location information service and maintains the location information service data.

rtcxds: rtcxds maintains the backup for user data

rtcshared: rtcshared hosts the conferencing directory

rtcab: rtcab stands for real time communication address book and maintain the address book service information

cpsdyn: cpsdyn maintains the dynamic information database for Call Park application.

rgsconfig: rgsconfig maintains the response group configuration service data file.

rgsdyn: rgsconfig maintains the runtime data for response group configuration service data file.

Lync Front End Server Local databases: Lync FE server uses SQL express edition to store databases under database instance name RTC Local. There are three databases (xds, rtc & rtcdyn) under RTC Local which created at the time of Lync Installation on each Front End server and maintain the replica from Lync Bank End Server. In lync 2013 Front End & Back End are loosely coupled and use lazy writes to update the databases. Therefore, Lync 2013 maintains presence information on Lync Front End Servers.

Below is the list of frontend server databases:

xds: xds on Lync frontend server maintain a read only copy of xds database which is part of central management store and resides in SQL backend database server.

rtc: rtc store persistent users data such as contact list, schedule conferences and ACL’s etc.

rtcdyn: rtcdyn maintains dynamic user data such as presence.

lyss: lyss stands for Lync Storage Service and used to maintain HA within a FE pool. It is a blob database and abstract writes to backend database. It maintains a copy of the data within Front End servers in the pool temporarily, and delete that data once it has been delivered to the final database server. It is a replacement for MSMQ which was used in previous version of Lync. Therefore, it is part of the Front End servers and it is located under LYNCLOCAL named instance. It is also used for Archiving integration and Unified Contact Center. Currently, it supports Exchange and SQL for archiving.

Lync Archiving database: Lync 2013 provides two options for archiving. You can use either SQL Server or Exchange Server for archiving purpose. If you use SQL server as an option for archiving it creates LcsLog database for the same.

lcslog: lcslog maintains data file for the retention of instant messaging and conferencing data on an Archiving Server.

Lync Monitoring databases: Lync 2013 maintain call detail recording and quality of service data if you deploy Lync Monitoring Server role in you deployment.

cdr: cdr stands for call detail recording and maintains the call detail recording data.

QoE: QoE stands for quality of Experience and maintains the QoE data to provide best experience to Lync users.

Lync Persistent Chat database: Lync 2013 has new server role called Persistent Chat which is replacement of Group chat server and to maintain user persistent chat data Lync uses mgc database.

Lync Persistent Chat Compliance database: In Lync 2013 as Persistent Chat is a part of Lync Servers role, so to maintain compliance data for this user service Lync uses mgccomp database.