Tag: SQL Server 2012

How Many SQL Servers Do You Need to Run Lync?

Front End, Mediation, Monitoring, Archiving, Edge, Chat…with all these servers running, Lync Server 2013 must need a lot of database storage.

But how much is required? How many SQL Servers should a Lync administrator deploy?

Some of Lync requires a SQL Server database; some does not. But you’ll need to decide how many beforehand, because each SQL Server instance must be installed and available PRIOR to setting up their databases (via Topology Builder or PowerShell).

So let’s go through, server by server, and figure it out.


Standard Edition Front End Server

We start off easy. Standard Edition Server comes with its own database – SQL Server 2012 Express. It’s even auto-configured when you install Standard Edition Server.

SQL Server Instances Required (Minimum): 0


Enterprise Edition Front End Server

Of course, Front End requires a SQL Server instance. It needs a place to store the back-end database. Next!

Mediation Server

A critical server, many admins debate whether to collocate Mediation Server on a Front End Pool, or place it standalone. However, you don’t need a separate SQL Server instance for it.

Monitoring & Archiving

Since both the Monitoring and Archiving Servers can be collocated on Front End in Lync Server 2013, they can use the same SQL Server as Front End. They will each have a database to themselves (and you should install SQL Server Reporting Services too, for Monitoring).
–Placing these databases on their own SQL server instead would provide an extra security layer, if properly configured. But for most small or mid-size deployments, it’s not necessary.


Our friend the Director, standing guard against the tide of harmful access attempts. Since it has no users homed on it, it doesn’t really need its own database.

Persistent Chat

Persistent Chat stores your chat history, configuration and user provisions in a SQL database. You can install a second database to store compliance data, if you like. Both of these databases can reside in the same SQL Server instance as the Front End Server’s.

Edge Server

Remote access, enabling mobility…Edge Server must require a separate SQL Server for itself, right? To protect all that important connection data?

Well…Yes and No. Edge Server runs SQL Express Edition for a local CMS. Another instance of SQL Server is not required.

SQL Server Instances Required (Minimum): 1

(Reference: Server Collocation in an Enterprise Edition Front End Pool Deployment – TechNet Library)

Of course you can create multi-system SQL Server pools if you like.  Or use mirroring, or clustering for higher availability. I’ll cover those later on.

Oh, one last thing! Remember that Lync Server 2013 requires you use Microsoft SQL Server 2008 R2 SP1, or Microsoft SQL Server 2012. Don’t forget!

How many SQL Server databases are you running in your Lync pools?


Moving to Lync Server 2013: Creating a Lync Server Topology (Part 3)

Last time I took you through our initial steps on preparing servers and Active Directory for Lync Server 2013. We stopped at the Topology Builder.

Anyone who’s worked with Lync Server 2010 knows Topology Builder. In 2013 not much is different; we’ll use it to determine which server roles we want to run, and the IP information necessary to run them.

I’m adding all the Topology Builder steps into one post; makes sense this way. So pour some coffee, and let’s keep moving to Lync Server 2013!

Bouncing Off Existing Environment – Good for Migration

Because we have an existing Lync Server 2010 setup running in our domain, we chose “Download Topology from existing environment” on loading. This loaded two Lync Servers: one 2010, one 2013 (empty).

We’re adding all the bells and whistles we can to this version, since our datacenter is expanded and we have a hosted PSTN Gateway from Cohere ready to go.
(NOTE: Having IP information on hand for such hosted elements is critical!)

Expand the Lync Server 2013 folder. Right-click on “Standard Edition Front End Server” and click “New Front End Pool…”.
(If you plan to use Enterprise Edition, right-click the “Enterprise Edition Front End Server” and click “New Front End Pool…” instead.)Define 2013 Front End Pool

A new window will open, asking for details to define the new Front End pool. First, enter your Fully Qualified Domain Name (FQDN). For example, mslync03.domainname.com.

Next up is the Feature Select window. Select which Lync Server features you want to run.
Select Lync Server 2013 Features

We selected all options (as seen above), EXCEPT Archiving and Monitoring. Why no Archiving or Monitoring? We didn’t have SQL databases prepared for them yet. Once those are ready, we’ll re-enter Topology Builder and add them.

(This is also a recommended step in Matt Landis’ post series on installing Lync Server 2013. You’ll find it here:
Step by Step Installing Lync Server 2013 Standard Edition Front End on Windows 2012 – Part 1: Matt Landis Windows PBX & UC Report)

Down through the Feature Options

At the next screenshot you’ll define your Mediation Server. Necessary component for voice communications. We followed Ondrej’s example and chose “Collocate Mediation Server”.
Set Collocated Mediation Server

Next, you’ll see a screen asking to associate Server Roles with this Front End pool. We selected Edge.

Define SQL Server Store: We had a SQL 2012 database prepared for this; selected “New” and entered it.
Define Lync 2013 SQL Store

Define File Store: At this point we left the Topology Builder running, & switched directly to the Windows Server we were installing on. Why? To create a folder called “LyncShare”, which will be our file store.

This folder must be accessible to ALL users on this server, so Lync has no trouble storing/using files. Be sure to right-click the folder and share it with everyone.

Then we can go back to Topology Builder, and define a new file store using our server’s FQDN and the new shared folder.
Define Lync Server File Store Folder

Next up, Specify Web Services URL. Enter an external FQDN (for example, lyncexternal.domainname.com). It can be anything really, but make sure it’s NOT the same FQDN you use for your Edge Server later. We used a brand new FQDN to avoid any association issues with our 2010 system, as well.

We skipped the option of setting up an Office Web Apps Server – again, something to add later.

Next you’ll see options for specifying an Archiving SQL Store and a Monitoring SQL Store. Since ours weren’t enabled yet, we turned these off for now.

After that, it’s time to define an Edge Server pool.
Extra information is required to set up Edge Servers: their own IP, FQDN, multiple Edge servers vs. a single server, etc. Lucky for all of us, Topology Builder gives you reminders for all of it.
Define the New Edge Pool - Reminders

So if you don’t have something, just leave it up and go find what you need.

We entered our Edge FQDN, and selected “Single computer pool”. Right now, we don’t need load balancing in place.

Edge Features Selected: Use single FQDN and IP address, Enable federation, Enable XMPP Federation. We selected all of them.

IP Options: You can define IPs by IPv4 OR IPv6! Very useful in the coming year. We stuck with IPv4 for now.
Set IPv4 or IPv6 for Lync

External FQDNs: Lync will ask for 3 FQDNs – one for Access Edge, one for Web Conferencing Edge and one for A/V Edge. We used the same FQDN for all three.

(Again, DON’T use the same FQDN as the one you input for external Web services! We had a lot of grief to deal with when we did that.)

Edge Setup will then ask for internal and external IP addresses. External IP is a private IP used for Edge services alone. We added in a new external IP for NAT, which figures into the Public IP.

Define Public IP: This is for the A/V Edge service. We used the same IP as the External IP.

Next Hop: The last step in Edge Setup. You must select a Front End or Director pool to serve as the Edge’s next hop. If you had a Director, this would give you the option of selecting it. Since we’re on Standard Edition, Next Hop is automatically filled in with the Front End pool’s FQDN. Just click Next, and Edge Setup is done!

One more step. Topology Builder should have finished its wizard. But before you publish, make sure to define an administrative URL for future work. We had one prepared – something similar to http://admin.lyncpm.com.

Right-click the new topology, and select Edit Properties. Scroll until you see the “Administrative access URL” field.
Enter your administrative URL. It must correspond with the Front End pool FQDN you set earlier.
Below this field, in the “Front End Server to install Central Management Store to” menu, select your Front End server. Click OK to save changes.

All set (for now)! Right-click the new Lync 2013 Server and click Publish Topology. Click “Next” twice to complete the publication.
Publish Topology - Warnings

Uh oh…error! Error! What’s happened?

It appears we have an Access Permissions error.
(( ACL Error: Failed Adding “Access Write” permission for “RTCHS Universal Services” on “LyncShare”. ))

The file store? Yep. Turns out this is a relatively common error that occurs with sharing of the file store folder. Engineers at FortressITX located a fix, and posted it on Quora:
How Can I fix the Microsoft Lync 2013 Installation Topology Error? – Quora

It essentially requires you to go overboard on sharing the file store with admin groups. We followed the steps and wound up with this:
Everyone Read-Write for Lync 2013 File Store Folder

And what do you know, the topology published after that!

You now have an active Lync Server 2013 topology. The next step will be to install the Lync Server software on its appropriate servers, and define roles such as Edge and Archiving.

Again, please note that a Lync Server topology is not set in stone. Today’s build establishes the functionality baseline for our Lync Server system. We’ll add to it as we go along. Just as any administrator can add to/change their Lync Server.

Check back next time for Part 4!


Will we need to upgrade SQL Server for Lync Server 2013?

Welcome back everyone! It’s a new year, and time for new Lync Insider posts.

We’ll start today with a short one on Lync Server 2013 (because I have many, many emails to catch up on!)

Last month I asked a quick question – is SQL Server 2012 required to run Lync Server 2013?

If you’re wondering too, the answer is…No. But a 64-bit edition of SQL Server IS required.

Step Right Up and Pick Your Database Version, All Accepted

Lync Server 2013 (Enterprise Edition) can use the following versions of SQL Server:

  • SQL Server 2008 R2 Enterprise Edition
  • SQL Server 2008 R2 Standard Edition
  • SQL Server 2012 Enterprise Edition
  • SQL Server 2012 Standard Edition

But no matter which version you choose, it must be 64-bit. Like the rest of Lync Server.

(There’s also SQL Server Express, but it comes with Standard Edition so you don’t need to worry about it.)

And make sure you stay consistent! Don’t try to use a SQL Server 2008 database for the backend, and then install SQL Server 2012 for Monitoring. You’ll end up with DB issues aplenty (and I don’t even think mirroring will work!).

Can You Upgrade? Then Go For It! If Not, Wait a While

In our Lync Server installations, we’ve been moving toward SQL Server 2012 most of the time. Even on servers running Windows Server 2008. The performance is just smoother.

So if you can work a SQL upgrade in, by all means! It’ll do nothing but help. But if it’s too early in the year and you need to wait, that’s okay too.

Here is some reference documentation for you, on configuring SQL Server for use with Lync Server 2013.
Configure SQL Server for Lync Server 2013 – Microsoft TechNet

Which database server are you using (or planning to use) for Lync Server 2013?