Lync for Mac 2011 crashes on OSX Lion 10.7.2

I observed this problem recently on my own Mac, where Lync would crash with the latest patch applied (10.7.2) and it had me stumped. I’d updated to take advantage of iCloud with iOS5 on my iPhone, and it killed Lync on me. 🙁

Fortunately, Apple man of wizardry Mark Coughlan has posted an awesome fix for this problem over on his tech blog, which turns out to be caused by some certificate keychain in OSX. Check it out here.

CUCI-Lync and why you should think twice

Update: I’ve sheathed my sword a bit and toned down parts of this post because I was a bit of a fire breathing dragon. 🙂

Chris Norman has written a fantastic post over on his blog titled Lync Native Features Versus Plugins: Where Does The Real Complexity Reside?. It’s squarely aimed at third-party Lync call control applications like Cisco’s CUCI-Lync (Cisco Unified Communications integration for Lync) and Avaya’s Microsoft add-in built on their ACE (Agile Communication Environment) development platform that take away out-of-the-box voice and video functions from Lync and cripple the product.

Having deployed CUCiMOC first hand and seen it and CUCI-Lync in action, I can say that this type of integration scenario causes infrastructure and client management problems not to mention user experience issues.
I’m going to focus on the Cisco integration in this post, I’m going to pull a few references out of my Cisco Integration Scenarios document I wrote earlier this year here to wax lyrical about this for a bit.

Why would I want to deploy CUCI-Lync?

I’ve done the due diligence and cost/benefit analysis before, and I do appreciate why you’d want to use a PBX vendor provided client side integration scenario. Here’s a few reasons:

  • Utilise your existing investment in Cisco Unified Communications Manager, not to mention the large estate of Cisco handsets you probably own.
  • CUCI-Lync provides remote call control of Cisco handsets without Cisco Unified Presence Server (CUPS) – a typically difficult piece of kit for even a seasoned Cisco Voice professional to deploy.
  • Utilises Instant Messaging and Presence functionality provided by Microsoft Lync Server 2010.
  • Doesn’t require Lync Plus CALs for voice functionality.
  • Gives the end user the option whether to use a soft phone (Cisco IP Communicator – part of CUCI-Lync) or their Cisco desk phone to make and receive calls.

Adding Unnecessary Complexity

Everything in that bulleted list looks like awesome, low hanging fruit doesn’t it? Get all the cheap benefits of Lync and still use Cisco for voice. Thumbs up right, game on?

No.

The reality here is that there are a bunch of sacrifices you need to make to achieve this. Like these:

  • No native remote user access capability – CUCi-Lync requires VPN connectivity to log in and cannot leverage the Lync 2010 Edge Server to allow for remote voice use.
  • Adds an additional application to your desktop image to maintain and contributes to the suite of applications your helpdesk team must support.
  • No central management methodology – settings for CUCI-Lync are configured client side manually via the Windows registry or using Group Policy.
  • Cannot federate media with external organisations. Federation is only available with IM/Presence via the Lync Edge Server.
  • If you want audio/video/web conferencing, you need Cisco Meeting Place for this (another licensing cost).
  • Finally, the user experience is confusing.

Luis Ramos has another good review here of CUCI-Lync from his lab. From what I’ve seen and from what you can tell from the screenshots, the plugin looks and feels buggy, and doesn’t respond as snappily as Lync does.

The User Experience is Paramount

Weighing up everything that the PBX vendors harp on about not having to pay for Lync Enterprise and Plus CALs, utilising your existing PBX investment etc.. at the end of the day the key to the success of your UC deployment is the satisfaction of your users.

You’re deploying Lync to receive the benefits of a robust, clean and functional UC solution. If you introduce an additional user experience layer on top of that that requires users to learn slightly different ways to achieve different things, written by different companies, you will encounter significant resistance.

And what do we know about user experience? If it’s terrible, users will throw your solution back in your face. Which means your project has been a failure. That money you saved not buying Lync Enterprise or Plus CALs doesn’t matter now.

Has anyone actually heard of this being deployed in production at a company? Let me know in the comments.

Microsoft UC User Group London – October 2011 Event

Time for us all to get together again in London for MUCUGL, talk about Lync Server and have a few beers after. Following up from a successful first event, this time we’ve got the Polycom guys onboard to talk video interoperability with Lync.

Taking place on the 20th October at the Polycom EBC and kicking off at 6pm sharp, the night will start off with Polycom Customer Experience Manager Mike Adams showing us a demo of the Lync and Polycom VC integration experience. After a break and some networking, Lync MVPs Jeff Schertz and Mike Stacey will follow up the tech content by talking about audio/video conferencing and Lync integration at a deeper level.

To finish up, Adam, Tom and I will be covering all the latest Lync news and updates to bring you up to speed with what’s happened in the last 3 months. Then, it’ll be time for beer.

Location:

Polycom Executive Briefing Centre
69 Old Broad St
Dashwood House (16th Floor), Broadgate
EC2 London

For more more info and the registration link, jump over to the MUCUGL blog here.

SQL Database Mirroring with Lync Server 2010 Series – Failover

In the first part of this series covering SQL Database Mirroring and Lync Server 2010, I covered a lot of the prerequisites required to establish this deployment scenario. I also ran through getting the Database Mirroring side of things setup.

In this next part, I’ll cover actually simulating a failure of our SQL Server. There are a few T-SQL queries we need to run first, followed by actually failing over the SQL database server node and verifying that the failover was successful.

Failing over to another SQL Server

The failover process was scoped so that it simulated a production data centre failure as close as possible. The process consisted of the following steps for each database mirroring scenario.

Prerequisites to Failover

  1. First, open a Command Prompt and navigate to C:\Program Files\Common Files\Microsoft Lync Server 2010\Support. Run the following command to backup all user data (e.g. contact lists, privacy relationships, conference directories) using dbimpexp.exe:dbimpexp.exe /export /hrxmlfile:location of backup file /sqlserver:name of SQL server /restype:all.
  2. Next, ensure the mirroring status is healthy and that the Principal server node (SQL01) reports each database as Principal, Synchronized:

     and that the mirror server node (SQL02) reports each database as Mirrored, Synchronizing:
  3. To track synchronous replication, timestamp tables should be created in each database using the following Transact SQL commands.

CREATE TABLE dbname1.dbo.tblDate (dtDate datetime)
CREATE TABLE dbname2.dbo.tblDate (dtDate datetime)
CREATE TABLE dbname3.dbo.tblDate (dtDate datetime)
CREATE TABLE dbname4.dbo.tblDate (dtDate datetime)
CREATE TABLE dbname5.dbo.tblDate (dtDate datetime)
CREATE TABLE dbname6.dbo.tblDate (dtDate datetime)

  1. Next, run the following command to insert timestamp data into the table every second so replication can be tracked:

SET NOCOUNT ON
WHILE 1 <> 2
BEGIN
INSERT INTO dbname1.dbo.tblDate (dtDate) (select GETDATE())
INSERT INTO dbname2.dbo.tblDate (dtDate) (select GETDATE())
INSERT INTO dbname3.dbo.tblDate (dtDate) (select GETDATE())
INSERT INTO dbname4.dbo.tblDate (dtDate) (select GETDATE())
INSERT INTO dbname5.dbo.tblDate (dtDate) (select GETDATE())
INSERT INTO dbname6.dbo.tblDate (dtDate) (select GETDATE())
WAITFOR DELAY00:00:01
END

In each T-SQL command, replace the field dbname1 with the name of the database you wish to run the command against. Now we’re ready to failover the databases.

Simulating a Server Failure and Failing Over the Databases

You can do this in two ways – either using the Failover button in the Database Mirroring GUI or use the following method to simulate a complete server failure:

  1. Force-power off the Lync Front End and back-end SQL servers, or verify that these servers have failed.
  2. After the decision has been made to activate the disaster recovery process, log onto the SQL Server mirror node (SQL02) and run the following SQL queries to force failover of databases.
    1. Check that the database is in synchronous mirroring mode:
      ALTER DATABASE dbname SET SAFETY FULL;
      GO
    2. Failover the database (this is an unplanned database failover, performed when the Principal is offline, which may result in data loss, hence the command name):
      ALTER DATABASE dbname SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS;
      GO

Replace the field dbname with the name of each database.

  1. After failing over the database, verify that the Lync databases are in “Principal, Synchronized” mode on the mirror node (SQL02).

At this point, we can check the Front End (FE) service on our Front End servers and test signing in with the Lync client.

How Lync Server Behaves

In the next instalment, I’ll talk more about what weird behaviour was observed and how I tried to get Lync to use the SQL mirror node. I encountered loads of problems, but eventually got the Lync Front End service to use the SQL server we’d failed the databases over to. Make sure you subscribe to get updated!

Interview with a UC Pro – Jeff Schertz

This time around, we’ve got one of the Microsoft UC community’s great pillars of technical excellence. He’s come up in the first two results in basically every OCS search term I’ve ever put into Google and helps countless techs in need on the TechNet forums.
He hails from Chicago, USA, love his beer and knows the score when it comes to Polycom. Please welcome to the Interview with a UC Pro series, Lync MVP Jeff Schertz.

  • What’s your technical background? How did you end up where you are today
    I had exposure to computers at a young age, back when very few people had any personal computers at home.  My father was a teacher and was able to bring home Apple computers over the long summer breaks, until we could afford to get one of the original Apple //e systems.  From there I grew up using the entire Apple platform through many generations of Macs, moving into the educational workforce operating both Macs and PCs.  I eventually moved into PCs full-time with Windows NT and advanced from helpdesk jobs into networking and systems administrations positions for Enterprise-level organizations.  After a 5 year stint as an enterprise consultant at PointBridge I decided to join a friend over at Polycom to work in the exciting growth area of video conferencing and its integration into the Microsoft Lync platform.
  • You’re our first interviewee from Polycom. Can you tell us what part of the company you work for what your position entails?
    I work in our sales organization although on a daily basis also interface with both support and engineering teams on current issues and future solutions.  As a Microsoft Solutions Architect I help customers, partners and even employees understand how our solutions integrate within Microsoft’s UC platform; from feature capabilities  and end-user experience to low-level architecture and design. I also assist engineering personnel with troubleshooting advanced integration scenarios, as well as maintain a Microsoft environment used to demonstrate product integration to customers and partners alike.  In short anytime anything from Polycom interacts with a Microsoft product then our group is typically involved in some way or another.
  • What first made you get into UC and specialising in Lync?
    After joining PointBridge and seeing the amazing level of talent among my peers I looked for ways to move away from being an overall solutions generalist and instead try to attain advanced knowledge in a specific Microsoft product.  By joining the UC team there was already a wide-range of expertise in AD and Exchange but OCS 2007 had just been released so I saw an opportunity there to start on the same page as most everyone else in the industry.
  • What’s your favourite thing about Lync?
    The way it simplifies business communication and allows me to work from home, a hotel, or just about anywhere else that is outside a traditional office with the same (and something even better) level of efficiency.
  • If you could think of one feature you’d like included in the next version of Lync, what would it be?
    A full-featured mobile client that supports video and content sharing 😉
  • What do you feel is your area of expertise, where you’d consider yourself a bit of a rockstar?
    Since moving to Polycom I’ve fine-tuned by skill set even more specifically within the Communications Server and Lync products into the audio, video, and content sharing modalities and moved away from the traditional telephony-only scenarios that were more popular with traditional consulting projects.  But regardless of the topic it seems that my value to the community stems from an inherent ability to clearly and thoroughly explain concepts in ways that readers easily understand them.
  • Your blog is known for being a great resource for address book and Phone Edition issues among other areas. When did you start it and what direction has it taken?
    I started blogging at PointBridge as way to meet quarterly goals and to provide another outlet for my documentation skills outside of customer-only content that was not always read very much (or sometimes at all!).  As the articles are a reflection of what I do in my day-to-day work the blog content has transitioned primarily over to the audio and video collaboration topics.  I still try to find topics not already addressed or things that may not be covered in much detail within the actual product documentation.
  • Whereabouts in the USA are you from and what do you think makes your hometown/city great?
    Born and raised in the Chicago suburbs and although I’ve travelled a lot I’ve never found anywhere I’d want to move to permanently (within the U.S.).  The Midwest offers a nice mix of everything from weather to activities, with Chicago itself a great destination city rooted in history.
  • When you’re not dishing out quality technical know-how, what do you do on weekends for fun?
    Since it depends on the seasons around here, lately it has been weekend trips with my fiancée to local farms and orchards to pick our own produce for home cooking or visiting local breweries and beer festivals in the Midwest.
Many thanks for taking the time to participate Jeff, it’s fantastic to have someone who’s contributed so much to the community on board. You can check out Jeff’s blog here, and make sure you follow him on Twitter.

Lync for Mac 2011 – A First Look

Two weeks ago I announced that the Lync for Mac 2011 client was coming and got super excited.  Today, Lync for Mac 2011 became available through Microsoft Volume Licensing and thus generally available to most.

I’ve downloaded and installed it on my MacBook Air running OSX Lion and can now provide a first look at the new Lync client experience for Mac.

What’s New

What isn’t new? This client looks almost completely different to the old Communicator for Mac second class citizen. It feels A LOT more like the Lync client on Windows.

Incoming call/IM notification

Firstly, the incoming call/IM toast looks totally different. We now have a much more “Lync” looking toast going on, with the user’s name and title listed, number they called on and a preview of the IM.

Lync for Mac 2011 - Incoming call toast

We can now also deflect incoming calls to voicemail, mobile, reply with IM or set to DND. Can I get a hell yeah?

Lync for Mac 2011 - Redirect call to mobile

Photos

We can see from the IM session below that photos are now visible in Lync. This is something I think that is a real perception changer for Lync. I know it was one of the first things I noticed about the new client back when I saw previews of Wave 14, so it’s great to see the same experience on Mac.

Lync for Mac 2011 - IM conversation

Unfortunately, we can’t specify an internet URL for our photo though. Only the default corporate photo from AD or no photo at all is configurable. And yes, I have checked the Photos option in my Client Policy on Lync. 😉

Lync for Mac 2011 - Photos in Preferences

Call Control

We now have call forwarding options available in Preferences. This experience is the same as that in the Lync client on Windows, and means Mac users have the same control over incoming calls as Windows users.

Lync for Mac 2011 - Call forwarding options

Online Meetings

This is where the big improvements have been made. The Lync for Mac 2011 client can now join and create online meetings created by Lync, no more Web Scheduler!

Meet Now

From the menu bar, I can now create a meeting on the fly and select Meet Now.

Scheduling an Online Meeting

Now directly from Outlook for Mac 2011, we can schedule online meetings. Be aware this requires the 14.1.3 update (Service Pack 1) for Office for Mac 2011.

From the New Meeting screen in Outlook, I click the Online Meeting button in the ribbon and select Create Online Meeting.

Outlook then populates the meeting request with the meeting details from Lync, ready to send to your participants:

Joining an Online Meeting

Once I click Join online meeting in the meeting invite, my default browser fires up and accesses the simple URL on the Lync Server:

After this, Lync for Mac 2011 opens and joins the online meeting. Yeah I know, I’m deep in thought in this screencap.

Lync for Mac 2011 - Group ConversationI can then do things like share my desktop, and I can see the stage that shows me what content is currently being shared. Click the image to see it at a larger size.

Lync for Mac 2011 - Stage

Pretty sweet huh?

What’s still missing

Even for all the improvements, there are still unfortunately a few things that aren’t in Lync for Mac 2011:

  • Can’t tag a contact for status change alerts.
  • No feeds tab or conversation history tab.
  • No ability to create a team-call group.
  • Can’t specify an internet URL for your photo, as mentioned above.
  • Can’t save conversations to Conversation History folder in Outlook.
  • Still no streamlined USB audio device support, however my belief is that this is a Mac OSX limitation.

Improved Experience

This is just a quick first look at the new Mac client, but as you can see Microsoft have made some huge improvements here over the old Communicator for Mac that was really just a skinned Mac Messenger. It looks and feels more like Lync, and the meeting join experience is dead on the same now. Great to see an on-par client experience across platforms now.

How does Lync 2010 use Exchange calendar information?

I’ve had a few questions come up lately around when Lync 2010 polls Exchange for free/busy information and how/when presence state is updated based on your calendar. I did a bit of digging into it and think I’ve worked a few things out that make the whole situation a bit clearer.

There are two things to consider here. We need to look at how often Lync polls Exchange for the free/busy information, and then how often your calendar state is published to your Lync presence i.e. you change from Available to In a Meeting based on the free/busy data that was retrieved from Exchange.

How is it controlled?

Everything we need to look at here is defined in a Lync Client Policy and there are two parameters that you need to specify interval durations for – either WebServicePollInterval (if you’re using Exchange Server 2007/2010) or MAPIPollInterval (if you’re using Exchange Server 2003) and CalendarStatePublicationInterval. I’ll go into more detail on each of these below.

Lync determines when to change your presence from for example, Available to In a Meeting with this data. This means that if you create an appointment in Outlook in-between when Lync polls Exchange and when Lync applies your calendar state to presence, this won’t be reflected in Lync until the polling interval lapses and Lync retrieve the Free/Busy info from Exchange again.

Retrieving Calendar Data from Exchange

So firstly, we need to look at how calendar data (free/busy information) is retrieved from Exchange Server by Lync.

Exchange Server 2003

If you’re (still) using Exchange Server 2003, Lync will poll the server via a MAPI RPC call for free/busy information. This is controlled in the Lync Client Policy using the parameter MAPIPollInterval.

The default is 30 minutes but this can be changed to anything from 5 minutes to 480 minutes (5 hours). So to set it to 5 minutes, the cmdlet would be Set-CsClientPolicy -MAPIPollInterval 00:05:00.

Exchange Server 2007/2010

Update 28th Jan 2013: Amended to explain that Lync connects to the Exchange Autodiscover service first before being directed to the EWS URL, thanks Marcin Swiatelski. 🙂

For those using Exchange Server 2007 or 2010, Lync will be connecting to your Exchange Autodiscover Service URL and then onto your Web Services URL for free/busy information rather than the local MAPI profile in Outlook.

It builds this Autodiscover URL based on your SIP address, and not by anything you configure in Exchange or from the AD Service Connection Point. So if my SIP address is me@justin-morris.net, the two URLs Lync will attempt to connect on will either be:

https://autodiscover.justin-morris.net/autodiscover/autodiscover.xml or
https://justin-morris.net/autodiscover/autodiscover.xml.

For Lync to connect to the Exchange Autodiscover service, you need one of these URLs to be accessible.

Typically the autodiscover.sipdomain.com option is the most commonly deployed, as this compliments what is already usually deployed for Outlook 2010 to work.

Once Lync has connected to the Exchange Autodiscover service, it will receive EWS URLs to connect to e.g. https://autodiscover.justin-morris.net/EWS/Exchange.asmx or https://justin-morris.net/EWS/Exchange.asmx

The interval in which Lync connects to EWS to poll for free/busy information is controlled in the Client Policy using the parameter WebServicePollInterval. The default is 30 minutes but this can be changed to anything from 5 minutes to 480 minutes (5 hours). So to set it to 5 minutes, the cmdlet would be Set-CsClientPolicy -WebServicePollInterval 00:05:00.

Publishing Calendar Data to Presence

So now once we’ve retrieved that calendar data from Exchange, Lync needs to actually apply it to your presence, and how often this occurs is controlled by the CalendarStatePublicationInterval parameter in the Lync Client Policy.

Unlike the MAPIPollInterval and WebServicePollInterval parameters, the CalendarStatePublicationInterval parameter must be set in number of seconds.
So to set it to 5 minutes, the cmdlet would be Set-CsClientPolicy -CalendarStatePublicationInterval 300. 

Polling and Publication

My understanding from perusing TechNet library articles is that there is a difference between Polling and Publication of calendar information in the Lync client.

I could have interpreted this incorrectly, but I’m pretty sure this is the way calendar information is handled by Lync. If anyone can shed additional light, please let me know in the comments.

TechNet Library References:

Set-CsClientPolicy
http://technet.microsoft.com/en-us/library/gg398300.aspx

Migrating User Settings to Lync Server 2010
http://technet.microsoft.com/en-us/library/gg398814.aspx

Lync for Mac 2011 has gone RTM

So, speak of the devil. Just saw a tweet (thanks @akipekka and @JohnACook) linking to the Office to Mac blog announcing that the Lync for Mac client has released to manufacturing. Excited much?

There’s a video in the link above, and it looks like the UI has been polished up a fair bit. It looks much less like Mac Messenger and a lot more like the Lync client on Windows. From the screenshot below, all the conferencing and content sharing features of the unified client are there. It’ll work both with Lync Server 2010 on premises and Office 365. Can’t wait to get my hands on it in October.

Lync for Mac -Sharing-Window

Image credit: Office for Mac blog.

More info here on the official Office for Mac site also.

From the UC Product Group – What devices have been certified for Mac?

On Friday, Microsoft published a post on the UCG Team Blog about Lync and Communicator for Mac. If you’ve read a few of my posts, you’ll know that I use a MacBook Air and that this is a subject I’ve been vocal about in the past, so this post piqued my interest.

There’s a few things in the post written by Maura Hameroff that I think deserve to be highlighted:

  • That the Lync for Mac 2011 client is “upcoming” (hopefully H1 2012 (am I being too optimistic to say Q1?)).
  • That there are shortcomings in the user experience with the device when used with Communicator for Mac, specifically around using the call control buttons on the device.
  • A lot of detail is provided to explain how to use the qualified devices today on Mac.
  • It’s suggested that an alternative solution is to use an IP phone with your Mac. It should be known that the phone can’t be tethered to the machine using the USB cable for click-to-call functionality with Communicator for Mac.

Great to see some information coming direct from Microsoft regarding the Mac experience. This kind of authoritative content enables organisations to make better decisions for their Mac users.
Hope to see some more news and improvements in the experience on Macs once Lync for Mac 2011 is released. Make sure you read the rest of the article over here.

SQL Database Mirroring with Lync Server 2010 Series – Prerequisites

I gave you guys a heads up on this a few weeks ago that I’d looked into this in some fairly significant detail and found some interesting behaviour when you attempt to failover after deploying Lync Server 2010 backend and Group Chat databases using SQL Server Database Mirroring. Now that I’ve completed this work, I can share the results with you in a multi-part blog series.

Questions have always been asked over the years as to why organisations can’t use SQL Database Mirroring as a lower cost alternative to SQL Failover Clustering and the only advice we’ve been able to give is what TechNet documentation provides:  “Lync Server 2010 does not support native database mirroring“.

Based on the work I’ve done, I can tell you what happens when you attempt to failover, what you have to do to actually get to a “recovered” situation and reasons why you won’t want to use SQL Database Mirroring with Lync.

The Supported Scenario Today

So today the official supported scenario is to deploy your Lync Server 2010 Enterprise Edition backend and Group Chat databases in one of two ways:
  • On a standalone SQL Server with no resilience.
  • On a highly available SQL Server two node Failover Cluster.
    • This is either for a local, in-site SQL cluster instance for server resiliency only.
    • Or a cross-site, metro data centre SQL clustered instance with one node in each site (and SAN replication, low latency etc) for site resiliency.
The latter solution giving you a resiliency solution with failover you know works for the entire instance.

Why SQL Database Mirroring?

Database mirroring was a new feature delivered as part of SQL Server 2005. The data replication occurs at an individual database level rather than at an instance level in clustering, providing greater flexibility at the expense of a higher management/configuration overhead. Unlike clustering, the system databases e.g. master db cannot be replicated using Database Mirroring. This means that you need to recreate logins, security etc manually on the mirrored node.

The mirroring process transports logs over its own TCP/IP session on port 5022 and uses compression by default. An important point to note is that SQL Server Standard Edition is a single threaded operation whereas SQL Server Enterprise Edition is a multi-threaded mirroring process.

One of the greatest benefits of database mirroring is its flexibility. An example of this is that an administrator can effortlessly switch principal and mirror roles back and forth, failing over between the two nodes. Plus there is no dependency on identical/near-identical hardware, disk, heartbeat networks etc that make traditionally make clustering a hinderance. Think of it like SCR was to Exchange Server 2007.

Compelling Reasons for Database Mirroring

I can definitely see why an organisation would want to utilise mirroring rather than clustering, especially when attempting to design site resiliency. The top reasons being that it is:

  • Cheaper.
  • Represents less infrastructure complexity.
  • Better for site resiliency as there are no tight network and storage requirements. <— No 1 reason.

Test Environment

As part of this investigation, I deployed the following machines to test this configuration:

  • One Lync Server 2010 Enterprise Edition pool consisting of two Front End servers (named FE01 and FE02).
  • Two Lync Server 2010 Group Chat servers (GC01 and GC02).
  • Two SQL Server 2008 R2 servers fulfilling the principal (named SQL01) and mirror (named SQL02) roles for Database Mirroring.

Lync and SQL Configuration

After deploying my servers, I got them ready to define the topology and install Lync. I’m not going to go into loads of detail on the configuration of SQL Database Mirroring here because it’s well covered on TechNet and it’s all GUI driven. I completed the database parts in the following way:

  1. Specified the location for the back end databases for the Front End pool as the principal SQL server (SQL01) in Topology Builder and published.
  2. Setup my Group Chat database and permissions on SQL01 and specified this server in the Group Chat Installation Wizard.
  3. Ensured the Lync backend databases were successfully deployed onto this server.
  4. Verified all sign-in functionality with both the Lync and Group Chat clients.
  5. Configured SQL Database Mirroring using the SQL Server 2008 R2 Management Studio GUI to mirror all databases to SQL02.
  6. Verified that all databases were in a Principal, Synchronized status on SQL01 and Mirrored, Synchronizing on SQL02.

The Next Chapter

Once we’re at this stage, we’re good to start failing the databases over to the mirror node to see how Lync behaves.

Be sure to subscribe and come back for the next part where it gets interesting. Services started failing over the shop, TCP connections were being automagically redirected to the SQL mirror node and there’s lots of the Lync client being in “limited functionality mode”. Stay tuned. 🙂