Renewed as a SharePoint Server MVP

Like many of my colleagues in the SharePoint community, October 1st is the day I put all my rules about reading email aside: MVP renewal day! As this was my first renewal, it was extra special seeing the “Number of awards” on my profile page increase to 2. It’s official: I’m not a newbie anymore.

First and foremost I really want to thank my employer Xylos for supporting my community activities in such a fantastic way. I’m privileged to work for a company that not only values my contributions to the worldwide SharePoint community but also actively supports them in a way that not many companies would.

Looking back at the events I presented at this year also makes me want to thank all my friends in the SharePoint community for having me speak at their events and for being such an awesome bunch altogether. And of course I also want to thank my wife and daughters for putting up with all these trips.

A special thank you goes out to the organizers and fellow speakers of all events I did in the last 12 months:

  • SQL Server Days Belgium
  • SharePoint Saturday UK
  • SharePoint Saturday Stockholm
  • SP24 Conference
  • SharePoint Saturday Belgium
  • SharePoint Saturday Netherlands
  • SharePoint Saturday Oslo
  • SharePoint 2013 for the IT Pro Moscow
  • ITPROceed Belgium
  • SharePoint Saturday Jersey

In a few weeks I’ll be going on my first MVP Summit. I’m pretty excited about going, especially because it’s my first trip to the States – No, I never made it to the SharePoint Conference unfortunately. The Summit itself is under strict NDA so I won’t be discussing much in public however.

Speaking at SharePoint Saturday Jersey 2014

radissonjersey On September 27 2014, I’ll be delivering a session at the first SharePoint Saturday in Jersey. That’s the Jersey in Europe, part of the Channel Islands – not New Jersey in the States. My buddies Mark Macrae & Gus Fraser are organizing the event and I’m really looking forward to meet them and some of the other usual suspects again on this beautiful island. I’m presenting the following session:

Managing and Troubleshooting SharePoint Search

Level: 200 Track: IT Pro We all know that the SharePoint 2013 search user experience is phenomenal, but do you know how to manage it? In this session we’ll briefly look at how to set it up – with PowerShell of course – and then learn about what could go wrong and what you can do to fix it. We’ll also cover some useful tools and scripts that you can use to troubleshoot a SharePoint 2013 search service application. Register for this event

InfoPath Forms Services taking down my Web Application

A rather interesting experience today at one of my customers. Over the weekend, they upgraded to SharePoint 2010 Service Pack 2. At first everything looked just fine, but then the helpdesk calls started coming in: SharePoint was slow. Now we all know that perceived performance is a very subjective thing, but once we logged on ourselves we noticed a very significant delay. After a few minutes, our site became totally unresponsive but the sites in another web application were just fine.

We logged on to the server only to find the CPU at 100% – all of the time. One particular application pool was consuming around 95% CPU. To find out which exact application pool we were dealing with, we issued the following command:

That gave us the application pool name and id. It was our SharePoint application pool like we suspected. The customer is using different application pools but each with the same process identity, so it took us a few minutes to double check we were targeting the right one.

Next we opened up Process Explorer and examined the problematic w3wp.exe. We noticed that 2 threads were consuming about 90% of all process resources but we couldn’t determine what exactly they were doing.

The odd thing was that this application pool was consuming the same amount of resources on every web server in our farm. So we were pretty sure it was not related to a specific server. A couple of IIS resets and application pool recycles later, we were ready to bring in the big guns.

DebugDiag to the rescue

One of the most powerful tools to research such a situation is DebugDiag. It allows you to inspect processes, create dumpfiles and analyze problems. Creating dumpfiles can be done manually, but also automatically in case of certain exceptions. One of the cooler things is that it is SharePoint aware. It even has SharePoint-specific analysis possibilities:

debugdiag4

We fired up DebugDiag, dumped the w3wp process and looked at the output. This is what we found in the beginning of the generated report:

debugdiag1

Notice how the first two threads consume the bulk of the CPU resources for this process.

Let’s take thread ID 51 as an example. A little further down, we can see which request was generating all this work: (Click to Enlarge)

debugdiag2

It appears to be a request for an InfoPath form (displayifs.aspx). Let’s look at the stack trace for thread 51 at bit closer:

debugdiag3

The stack trace clearly indicates InfoPath Forms Services again, so we were pretty sure we were onto something. We dumped and analyzed the process a few times, on different web servers only to come to the same conclusion: when someone uses an InfoPath form the application pool goes wild.

The first question you have to ask is: what did we change? In our case that change was clear: SharePoint 2010 Service Pack 2. After a lot of searching around we found the following support article:

http://support.microsoft.com/kb/2775306/en-us

Although it didn’t mention anything about bringing a complete application pool to a halt and it seemed only partly related to our problems, we decided to give it a try. We didn’t have to install anything because Service Pack 2 includes the mentioned fix. As per the article, we issued the following command:

A bit to our surprise I must say, the CPU pressure went away almost immediately! Main lesson? Learn how to use DebugDiag!

Using Sysprep with SQL Server (and SharePoint Server too)

As soon as SQL Server 2014 came out I rushed to MSDN to download the bits. Because I install SQL Server in my lab all of the time, I decided it was time to build an image with SQL Server already baked in so I wouldn’t loose that much time again and again. Sysprep to the rescue!

What I usually do is build a basic operating system image with all tweaks and Windows Updates included. Then I sysprep that image and use it to build all of my lab machines. But then I have to install SQL Server & SharePoint Server again. That’s not geeky. Geeks are lazy – and so is this one.

To win some time, I prepare a sysprepped image for SQL Server and one for SharePoint Server. Both products support this way of working, as long as you follow the right procedures. That way I end up with a series of images that I can use when needed.

This is how that looks in VMware Workstation:

sysprep

SharePoint and Sysprep

For SharePoint it’s simple: install all prerequisites, binaries and updates but don’t run the configuration wizard. Sysprep your image and run the configuration wizard after deployment. This support article details what you can do and what not. It’s for SharePoint 2010 in an Azure context, but the same goes for SharePoint 2013 outside of Azure.

SQL Server and Sysprep

For SQL Server the procedure is similar, but not quite. The complete approach is detailed in this MSDN article. You install the SQL Server binaries, but you don’t use the regular wizard to do so. In stead, click “Image preparation of a stand-alone instance of SQL Server” on the Advanced page. When you deploy, you launch the SQL Server Installation Center from the start screen and choose “Image completion of a prepared stand-alone instance of SQL Server”:

sysprep2

Then you only have to provide some limited details (serial number, instance name, service accounts,…) and you’re done.

Product key problem

One additional gotcha I encountered was that my original product key was not accepted anymore. That’s strange, as I use the same one when installing without sysprep. As a workaround you can launch SQL Server setup from the ISO file and choose the “Image completion” option from there. It will automatically fill-in your product key for you. After that, it will continue with the bits already installed on your server so you’re not installing again – just configuring. I’m not sure this is a bug or not.

Speaking at ITPROceed

A couple of Belgian user groups, together with Microsoft, are organizing the first ITPROceed conference in Antwerp on June 12. As Community Day is not happening again this year and the developers have their Techorama event we felt it was time for a day focused on IT Pro’s. It will a day full of sessions about Cloud OS, System Center, SQL, Office 365, Windows 8, Unified Communications, Lync, Azure and – of course – SharePoint!

itproceed_003

Register now to secure your place. It’s free!

I’m doing the following session:

SharePoint Apps for the IT Pro – What you need to know

By now, every SharePoint IT Pro is probably aware of the fact that Full Trust Code (aka the farm solution) is not cool anymore. We can’t really say that we regret Microsoft’s choice for the new App model: On far too many occasions we had to watch our beloved and carefully nurtured SharePoint farm go down because some developer type messed up big time – “But it works on my machine!” Running code outside of SharePoint that can still interact with content within SharePoint sounds trivial at first but it absolutely isn’t. In this session you’ll learn how App authorization works and how to prepare your infrastructure to host SharePoint apps reliably.