I wanted to share a little helpful info on an issue I have run into a few times with recent Lync Server 2013 Enterprise Edition deployments regarding the backend databases that are stored on SQL Server. In particular, the 'rtcab' database is the source of the problem that I am covering in this post. Let me be more specific: the rtcab database log file is the source of the problem. Namely, for reasons that this post will not really explore or dive into, this log file can tend to grow very fast and very large.
For anyone that has every manually created SQL Server Mirroring, they understand how troublesome a Mirroring configuration can be to implement, and how frustrating it can be to troubleshoot. On the flip side of that coin, those same people truly understand how freakin' awesome it is that the Lync Server 2013 Topology Builder will completely take care of the Mirroring setup on its own if the proper permissions are in place, including a Witness! With such beautiful automation in place regarding the backend SQL configurations, it can be easy to forget about the the SQL portion of the Lync Server 2013 environment all together; you almost have a false sense of "set it and forget it".
Obviously, it would be incredibly foolish to purposefully forget about the SQL environment after Lync installation, but let's just say in the excitement of finally getting all the pieces successfully deployed and having a functional Lync deployment, you forget to go back onto the primarly SQL server in the Mirror (or just the SQL server, if Mirroring was not set up), and set up the necessary maintenance plans. Why would you need maintenance plans for backups if you have a real-time copy of the databases on your Mirror at all times, you ask? Well, Mirroring requires that the databases have a Full recovery model, which means that their logs will continue to grow, without being truncated, until they cannot grow any longer.
Going back to our hypothetical, you have this successfully setup Lync environment, and a pristine SQL Mirror setup, and life is good. Then suddenly life is not so good when suddenly your address book in Lync is not displaying all the results that it should. Eventually you discover that the Address Book is either corrupt or not functioning propery, and you discover that the drive on your SQL server that contains the database log files is full. Why is it full? Well, that pesky rtcab database gets a LOT of transactions and updates, for some reason, and that transaction log has grown to a few hundred GB in size! None of the other logs may have grown much at all, but that rtcab log is just ornery.
So, first thing to do is realize that we should have made a maintenance plan within SQL Server Management Studio from the get-go to keep our databases regularly backed up with a Full backup, and then a second maintenance plan to backup all the Transactions Logs, which would in turn truncate the logs. However, in many cases, an hourly transaction log backup might be necessary for keeping the rtcab log from growing, Alright, so we are a bit lit, but we get those maintenance plans in place, and try to manually backup the database and transaction log, which is successful, but we notice that the transaction log is still several hundred GB in size. So, we try to shrink the rtcab log file, and while it seems like the command completed successfully in the Management Console, the file is STILL the same size.
Next, we turn to good ole' Google to find out why the Shrink command is not working on the log file (make sure when you try to shrink the log file in the Management console that you choose "Log" from the drop-down instead of leaving it on the default of "Data"). Google isn't much help because all that every DBA and their mother wants to do is scream about why "you should never Shrink the database; best practice is to have full backups and transactional log backups running on a schedule." This is the point where we are thinking, "Yeah, thanks for that overwhelming helpfulness, DBAs. We are aware of what Best Practice is, and will be using that moving forward, but how in the world do I free up the hundreds of GBs on my drive in the mean time?"
So, now that I have made you read through all this to find out why that rtcab log file won't shrink after using the Management Console, or using the DBCC SHRINKFILE command, the answer is simple: because the log is still being utilized in the Mirroing relationship, it cannot be shrunk. You must go into the Properties of the database, go to the Mirroring tab, and then Pause the mirror. This leaves the Mirror in tact for the database, but shows a status of Suspended. Once this is done, you should be able to run the Shrink operation, and the file should instantly shrink down to almost nothing. BOOM! You now have hundreds of GBs of space back. And as long as your Maintenance Plans are setup properly with a retention period (use a Maintenance Cleanup Task), you will keep your space back! Oh, almost forgot, don't forget to go back in to the Mirroring tab and Resume the Mirror!
Hello fellow Microsoft UC enthusiasts! This post is my first official blog post on my new O365-based blog for all things Microsoft UC (though it will be primarily focused on Lync and Skype for Business). While trying to decide on the topic that I should write about for my maiden voyage post, I came to the conclusion that the most fitting topic for a first post would be a discussion on the certification process for the Microsoft Certified Solutions Expert (MCSE): Communications certification. As I am in the process of obtaining this cert (half-way there), I will discuss my personal experiences thus far, what has helped me prepare for exams, and what the road ahead looks like.
For those that are not aware, the MCSE: Communications cert is the professional-level certification that Microsoft offers to distinguish an individual that is proven in their knowledge and abilities in regards to Lync Server 2013. Many organizations that are looking to hire for Lync Engineers or senior Lync positions often would like to see this certification on your resume. The official page for this certification is here, and it very simply outlines the exams that are required to earn the certification, as well as courses and other optional training that will help prepare you..
The first two exams that are listed, 70-346 and 70-347, are more specific to setting up and managing various services within Office 365. The last two exams, however, are actually specific to Lync Server 2013: 70-336 and 70-337. As my role is currently a Lync Engineer, I started with 70-336 and 70-337, and will be following up with 70-346 and 70-347.
Before I get into my experiences thus far, however, I wanted to point out that you can achieve this exam by only taking three exams if you are already possess one of the following certifications, as listed on the link above:
- MCSA: Windows Server 2008
- MCITP: Virtualization Administrator on Windows Server 2008 R2
- MCITP: Enterprise Messaging Administrator 2010
- MCITP: Lync Server Administrator 2010
- MCITP: SharePoint Administrator 2010
- MCITP: Enterprise Desktop Administrator on Windows 7
While the website does not make mention of it, the MCITP: Enterprise Administrator is also qualified, and I know this because that is what I currently possess, and had to look deeper into it. Essentially, if you have one of the above certifications already, you can take 70-417, "Upgrading Your Skills to MCSA Windows Server 2012" in place of the O365 exams. While this may be a tempting route to go because it is one exam versus two, Microsoft does not really treat 70-417 like one exam in terms of the exam structure or the material needed to study. The exam actually is being taken in place of 70-410, 70-411, and 70-412, and the study recommendations and guides pretty much mirror all three of those tests, except that they get combined onto one test. If you do the math, that is a LOT of preparation and studying for the one exam, whereas taking 70-346 and 70-347 individually will be a much a much lighter load for each test.
Personally, I was going to go down the 70-417 road at first, but after doing the above analysis, I decided it would be not only easier to go the O365 exam route, but learning all the ins-and-outs about O365 would actually be HUGELY beneficial as a Lync Engineer. Let's face it, more and more customers are moving into the cloud, or opting for hybrid environments, and being able to intelligently discuss those options with a customer, in addition to the usual On-Prem options, will be incredibly valueable in the future.
Now, as I mentioned, I have already completed 70-336 and 70-337. Ok, I take that back, I did not mention that; I merely stated that I started with them, so to clarify, I did indeed pass them. Ok, I'll be honest, I passed 70-336 on the second try! At any rate, these exams are particularly difficult to prepare for, because as you will find, there are far fewer study guides in existence for them, and there are precisely ZERO practice exams in existence. Nope, not even from Transcender or MeasureUp. Super helpful, right?
No need to despare, though. While the preparation options are fewer for these exams, there are still some good options. Of course, there is always the Microsoft Official Courses for each exam, though it is not always easy to convince the boss to send you to training for a couple grand a pop, and who wants to shell out that money on their own? Not this guy! There are two main resources that I used, and they were immensely helpful and educational in relation to these exams.
The first one was Chris Ward's CBT Nugget series on Lync. He has two series, one for each exam. With a "Nugget" being an individual video on a single topic within the exam, you can pace yourself nicely, and take in some good material, without getting overloaded and bored to death. You can watch all the Nuggets you want on a 7-day trial, and then you can go month-to-month after that for only $99. I paid for a month, and it was well worth it. Check it out: https://www.cbtnuggets.com/it-training/microsoft-lync-server-2013-70-336
The second tool I used a handy book called "Microsoft Lync Server 2013 Unleashed" by Alex Lewis, Tom Pacyk, David Ross, and Randy Wintle. Some tech books can be very dry and difficult to read, and despite that fact that the book is still a very technical book, I found it to be an easy read. It explained things very well, while still digging pretty deep into various topics. I would venture to say that there probably wasn't much on the exams at all, if anything, that was not covered in this book. For roughly $35 new on Amazon, it was totally worth the money: http://www.amazon.com/Microsoft-Lync-Server-2013-Unleashed/dp/0672336154/ref=sr_1_1?ie=UTF8&qid=1428096680&sr=8-1&keywords=microsoft+lync+server+2013+unleashed.
Well, I realize this has been kind of a long post, but I am thrilled to be launching this blog, and I can't wait to start digging into some more technical topics very soon! I will also be following up on this post as I make progress through 70-346 and 70-347.
Stay techy, my friends!