Skip Ribbon Commands
Skip to main content

The SharePoint Mad Scientist

:

Home
January 23
SharePoint PowerShell List Update

It’s been a while since I talked about the SharePoint PowerShell list and I just added a cool new feature that will make the list much easier to use. I watched the Boris Gomiunik session on CEWP last night at #SPSEMEA and was blown away by some of the great things he did with JavaScript. During his demo #5 I had a aha moment and decided that what the list needed was a little Boris :-) I implemented his demo #5 on the list and now you can browse each category by the letter it begins with. Pretty cool and very useful. Check out the list at http://www.sharepointmadscientist.com/Lists/powershell Learn more about Boris Gomiunik’s solutions at http://gomiunik.codeplex.com/

January 22
Really Cool Stuff & Quest

As a product manager at Quest Software I get to do and see fun stuff every day and I am constantly surprised by how many cool things are going on at Quest. Here’s my top 5 favorite Quest innovations at the moment:

 

#1. PowerGUI – As a .Net developer reliant on the Visual Studio experience, one thing I hate about scripting in PowerShell is not knowing exactly what methods and operations are allowed. PowerGUI to the rescue. PowerGUI is a free Graphical User Interface (GUI) and Integrated Development Environment (IDE) for Windows PowerShell that gives you among many other things, intellisense for PowerShell objects. This makes scripting way faster and more intuitive. Moreover, the PowerPack concept and massive community adoption means PowerGUI will only grow more useful over time. Watch the tutorial videos to get an idea of the power!

 

#2 SharePoint item level recovery with Recovery Manager for SharePoint– In a former life I did a massive numbers of restores for SharePoint users. Sometimes 10+/day. These restores required enormous effort to clarify, track, request backups, move data between shares, restore to SQL, attach to SharePoint, and so on and on and on…. Sometimes a single restore would take weeks just to tell the user we couldn’t recover the content. Most of the time this was due to what I called “location ambiguity.” That is, not knowing exactly what an item was called and/or where it was located. How many times have you received a request from an end-user to restore a document but they don’t know the document name and/or where it was located? Recovery Manager for SharePoint removes the guesswork from item recovery with powerful best in class search across backup locations including backups made by SharePoint, SQL, Quest SQL LiteSpeed (SLS), Microsoft Data Protection Manager (DPM), Symantec Veritas NetBackup, Symantec Backup Exec, and IBM Tivoli Storage Manager (TSM) with more on the way. Another huge, and I mean *HUGE!* timesaver just added recently is the ability to recover content directly from backup files without ever restoring the backup to SQL! Not to be confused with SharePoint 2010's unattached database recovery which simply allows you to browse the contents of an online SQL database, Offline Recovery (OLR) allows you to recover any content straight from backup. No messy SQL restores, no waiting! This feature alone will save countless hours and headaches for anyone that performs restores in SQL.

 

#3 Free, No Server Footprint, SharePoint Reports with Site Administrator Reports OnDemand for SharePoint – It’s truly innovative how the team created these in-depth reports that run in the cloud (Microsoft Azure) and require nothing more than web service access to your site. Check out SharePointJoel’s blog on this beauty.

 

#4 Rapid Application Development using Quest Web Parts for SharePoint – The Quest web parts team mission is to make SharePoint development simple, intuitive, and fast and I’ve never seen a team so passionate about delivering on its mission. Quest Web Parts for SharePoint radically reduce the time required to develop SharePoint LoB applications by simplifying common, yet often frustrating development tasks such as cross-site data retrieval, form building, charting, and integrating/updating data from ERP, CRM, and other backoffice systems. Quest Web Parts for SharePoint put power in the hands of developers and users by reducing the need for code with simple, intuitive configurations. Oh yeah! BTW… I’m now the Product Manager for Web Parts so if you like me help a brother out. :-)

 

#5 Last but not Least… Improve supportability, availability, and performance with Deployment Advisor for SharePoint – My pet project has been a long time in the making and I’m getting excited as the unveiling draws near. While I haven’t published any official information yet, I can assure you if you care about operations excellence you will not want to be without Deployment Advisor. Deployment Advisor for SharePoint will remove the ambiguity of running SharePoint while increasing administrator and end user confidence in your investment. Stay tuned for more information as the unveiling is not far away. ;-)

November 19
SharePoint 2010 Resources Mentioned in UK

I mentioned several handy resources today during my presentations at Quest Day with the Experts and Nottingham SUGUK. You will find these very handy as learning resources for SharePoint 2010.

November 13
SQL and Storage Considerations for SharePoint 2010

I did a live webcast the other day for SharePointVCX talking about SharePoint 2010 and how it affects your SQL and Storage environment. The webcast was recorded and is now available on demand if you would like to watch it. (I believe you need to register to watch)

If you’re like me and hate watching videos not created by professional video people I’ll do you a favor and summarize my discussion here:

  • Big! - SharePoint Server 2010 is the biggest version of itself yet. It’s unbelievable the number of things they’ve rolled into SharePoint. In 2001 we had a very simple portal with some bad search and team sites. 2003 added mysites, people, and better search. 2007 saw ECM, Excel, BDC, InfoPath among others. Now in SharePoint 2010, Microsoft is not only keeping with tradition, but also capitalizing on the success of SharePoint by building all of its office and business applications into the SharePoint platform and as long as SharePoint doesn’t implode I can guarantee this tradition will continue in V.Next and beyond. The bottom-line is that all this new functionality comes at a cost which is mostly additional overhead on SharePoint’s platform elements including SQL and storage. Make sure to plan for this overhead with additional capacity.
  • Flexible - You may be worried about what SharePoint 2010 will do to your SQL and storage after reading the above bullet point (after all that was the intent), but fear not because with all this new functionality comes with additional flexibility and control. Microsoft saw the limitations of its previous service infrastructure and designed the new service infrastructure with scalability and flexibility in mind. The new service infrastructure called Shared Service Applications or service apps for short are very flexible. Let’s not go into the details of service apps as they aren’t necessary for this article and are already drafted in another blog post. The key point about service apps when it comes to SQL and storage is that the flexibility they afford allows for advanced SQL topologies to meet your unique needs. If Search scalability is something that’s important to you, you can create a whole tier of SQL servers just to handle search components. If you virtualize SQL and need to host SharePoint for 100K users. No problem… scale out to your hearts content. If you need to add disks to handle your Managed Metadata Service (MMS) load… add away.
  • Available – No more Kludge involved with Database mirroring and better availability during upgrade and patching. Read more about this on my blog about HA improvements in SharePoint 2010
  • Better multi-tenancy – Hosters and anal-retentive enterprises…. you now have a friend in the security business and her name is SharePoint. Hosting securely and smartly was a theme for improvement in SharePoint 2010. It’s no wonder with all the hosting Microsoft itself is doing these days. Between Office Live, MMS, and SharePoint Online (standard and dedicated), Microsoft now knows just how bad hosting was in previous versions. Microsoft delivered a much better story in SharePoint 2010. Namely, around 2 major improvements; Site Subscriptions and Service Applications. The former is a new way to group and administer site collections. Built specifically with hosters in mind, now a SharePoint admin can segment site collections across tenants and delegate administration to the group via a tenant administration page. Tenants can now control security, features, and services across site collections. Site subscriptions lie between web applications and site collections as a virtual level of hierarchy. Microsoft introduced site subscriptions because web applications were never meant for per-tenant hosting as they didn’t scale well after say 20 or 30. Conversely, site collections (on a per tenant basis) scaled really well, but tenants wanted more sites, more urls, more storage, and more control. An added benefit, though not new, is each tenant organization can be cordoned off into their own databases. With Transparent Database Encryption (TDE) introduced in SQL Server 2008, administrators can provide additional protection to tenant content through data encryption. The other principle feature for hosters is service app partitioning. Again, I will go into service apps later on my blog, but for now know that service apps can be partitioned for security across tenants.
  • Command & control – Included with the aforementioned architectural improvements, MSFT provided more knobs and levers in SharePoint 2010. These knobs allow administrative control over how SharePoint uses resources including SQL and storage.

      Throttling – Tell end users to leave you alone. Your busy! Learn more in my article on HA in SharePoint 2010 at http://www.sharepointmadscientist.com/Lists/Posts/Post.aspx?ID=46

      Large List controls – tell end users they’re crazy trying to make that query, but admins, no problem! – Large lists were the bain of SharePoint existence in 2007. OK, so not quite, but large lists have been a thorn in the side of SharePoint for a while. Microsoft addressed this in 2010 with improved backend performance and controls that govern how lists are used. You can now set controls on what kind of queries users can perform and even what time of day those queries can be performed. You can even set different parameters for administrators. A quick search didn't turn up any detailed articles on the feature so it looks like another blog opportunity.

      SharePoint designer – maybe not – Many administrators have horror stories about SharePoint designer and while MSFT has made SPDesigner nicer (and free-er :-) than ever, admins can now choose if they want to allow SPDesigner usage or not.

      Developer Dashboard – Learn just how bad your developers are – Every SharePoint architect worth his or her consulting rate has a horror story about developers doing something stupid like initiating 800 SQL queries per page load. The developer dashboard is a monitoring solution for SharePoint customizations. The dashboard monitors several important KPI’s around rendering a specific customization to let you know things like how long it takes to load, how many SQL queries it issues, and how long those queries take. (This is probably one of my favs)

      Sandboxing – Like prison for unsavory code - Microsoft had a problem with customization in SharePoint 2007. Customizations were difficult to onboard and manage at their best, and at their worst, completely unhostable. There were a number of reasons for this (including dev stupidity) but Microsoft came up with a better model. Its complicated and smarter people than I have already explained. The best article I’ve read yet is Scot Hillier’s treatment at http://www.shillier.com/Lists/Posts2/DispForm.aspx?ID=19

      SQL Resource Governor – The nuclear option! – While not a SharePoint specific thing, SQL Server 2008 introduced a new way to control resource usage called SQL Resource Governor. It’s a very powerful feature and can cause some problems if not used correctly. Make sure you know what you’re doing! You can learn more at my old blog on Improving Sharepoint with SQL Server 2008 http://blogs.msdn.com/mikewat/archive/2008/08/19/improving-sharepoint-with-sql-server-2008.aspx

The bottom line – With all the new capabilities in SharePoint 2010 SQL and storage have never been so important. Make sure to plan accordingly by confirming or configuring SQL and storage to handle the additional load. The good news is that best practices are best practices and for SQL and storage best practices survive even in light of all the new stuff in SharePoint 2010. While I cant go into each specific best practice feel free to study my previous presentations and articles on the subject and additional resources from others including Microsoft’s own SQL Server resources. Since there are so many great resources instead of listing them here I’m going to create a SharePoint list and point you there instead. I feel this will be more dynamic and collaborative instead of a blog entry. You can find that list at http://www.sharepointmadscientist.com/Lists/BP As always, let me know if you have any questions or concerns. You can find me at www.twitter.com/mikewat www.facebook.com/mikewat , at mike.watson at quest.com or in person. Check my events calendar at http://www.sharepointmadscientist.com/Lists/Events for more info on where I’ll be.  I look forward to hearing from you.

November 09
Upcoming Events

Hey everybody. 2 cool things going down soon.

1. Quest Software is hosting a Day with the Experts featuring Joel Oleson, Nick Swan, and yours truly on the 19th Nov in London. RSVP at http://www.quest-software.co.uk/SPDaywithExperts-London-MW. Space is limited! Only 30+ seats left.

2. Later that night we’ll be heading out to Nottingham (home of Robin Hood) from London to speak to the SharePoint User Group. To get there we will be hosting the first ever #SharePint on a train (#ShareTrain) and I’m paying! Since I love trains and drinks this should be an awesome experience! Hope to see you there! RSVP at http://suguk.org/forums/1/21213/ShowThread.aspx

October 27
High Availability Improvements in SharePoint 2010

If you’ve attended any of my presentations in the past, especially those covering high availability (HA) you might have noticed me biting my tongue. HA in SharePoint 2007 was a specialty of mine and while I made every attempt to simplify the options,  I always got the impression that folks were more confused leaving my session than when they started. Some of that can be attributed to bad presentation skills, but I think the bigger problem is that HA options in 2007 were simply lacking and workarounds I described were complicated and full of holes. Enter SharePoint 2010.

What really sucked when talking about SharePoint 2007 was not being able to talk about the improvements coming in 2010. Now that the SharePoint Conference is over and the NDA around the 2010 server products has been lifted, I am troubled no more.

So what’s been improved in SharePoint 2010 around HA?

Database Mirroring Support

The improvement I’m most excited about is native support for SQL Database Mirroring. I can hear you now. “But Mike. You’ve been talking about SharePoint support for database mirroring for 3 years”. You’re right. I have, but the “support” I talked about was complicated workarounds. The first support option was the STSADM RenameServer command. This command would allow you to change the name of the SQL server when databases failed over to your mirror instance. Unfortunately, if you were using more than WSS, this command was useless as several SSP functions would break. The second option was SQL aliasing which at its core was simply a way to trick SharePoint to think he or she (is sharepoint a he or she? ;-) was talking to the original SQL instance when in fact SQL instance had changed. SQL aliasing has its share of problems:

  • The SQL alias is created and managed on each SharePoint server. Updating requires logging into each server and changing it.
  • The SQL alias works at the per instance level, but database mirroring is a per DB setting. This means that you could end up in a very bad state I used to call a “split”. A split is when some databases are principle on instance 1 and others are principal on instance 2. SharePoint, obviously confused by this, would not be able to connect to databases on one of the instances. Doh!

SharePoint 2010 to the rescue. SharePoint 2010 now supports database mirroring the proper way. The way the SQL product group intended. SQL provides a method for addressing failovers between partner SQL instances via the connection string. You can learn more about this at http://technet.microsoft.com/en-us/library/cc917713.aspx. For each database SharePoint talks to, you can define a failover partner. A failover partner is simply the other SQL server instance SharePoint might expect to find that particular database. If you are mirroring the configuration database between SQLServer1 and SQLServer2 and SQLServer1 is currently the principal server then SQLServer2 will be the failover partner. When SharePoint is unable to talk to the original SQL instance SQLServer1, it will automatically retry the connection on the failover partner, SQLServer2 after a specified timeout. Default of 15 seconds. Since each failover partner is defined at the connection string level, you no longer have to worry about Splits and since the connection will automatically be retried after 15 seconds and you don’t have to worry about changing anything manually. Win Win!

Index Server Redundancy 

Yay! I no longer have to talk about single points of failures inherit in the product! Having to tell people to rebuild search if the index server was lost or corrupted was a thorn in my side. In SharePoint 2010, search employs a better search topology including redundant crawlers. This is one of the many fallouts from the architectural improvements around the Shared Server Provider, now called Shared Service Applications. More on that later. See the below diagram for an example of how a redundant search infrastructure might look.

Search Redundancy Enhancements

Throttling

Now most people wouldn’t consider throttling a feature of high availability, but if you ever used an overburdened server, you might hear me out. Throttling is a new capability in 2010 that essentially checks resource usage on the local server and when monitored KPI’s exceed administrator defined thresholds SharePoint will issue out 503 errors to new users until the server state improves. This ensures that existing requests will be completed before new requests are accepted. Throttling is configured on a per web app basis and by default will monitor CPU and memory utilization, Request Wait Time, and Requests in Queue.

Upgrade and Patching

SharePoint 2010 provides a more cohesive story for availability during upgrades and patching. First, there is better support for read-only databases which allows users to access content while you upgrade or patch that content in another location. With a carefully scripted process, users might not notice anything ever happened. Additionally, SharePoint supports simultaneous database attach via Powershell which may reduce downtime associated with patching by multithreading the upgrade process. (mileage may vary) There is also an option to redirect users to a 2007 farm on a per AAM basis which could reduce perceived downtime on large farms with multiple web applications since the entire farm doesn’t have to “appear” to be undergoing upgrade. Finally, there is an option during patching to schedule the disruptive portion of the patch (the database upgrade part) so that downtime can be scheduled for a better time.

All in all, there are many solid improvements in SharePoint 2010 that should lead to more uptime. I’m confident that shops large and small will welcome these new features with open arms. Tune in next time for my blog on content recovery improvements in SharePoint 2010.

September 21
Patch a SharePoint Farm Without Downtime (sort of)

I’ve mentioned more than a few times publically that one of the many benefits of using database mirroring with SharePoint was that mirroring allowed for some efficiencies around patching and maintenance, but in many cases, I’ve been vague on the details. This is mainly because the SharePoint product group was a bit hesitant about supporting these scenarios. Well, no more. Microsoft just published a succinct article on how to use database mirroring to patch a farm with little actual downtime. Some things to note about this process:

  • The farm will be read-only for the duration of content upgrade. Read-only may still be perceived as downtime. Users can still access most content, but a lot of things will be broken.
  • In my experience synchronizing databases after an operation like this can be tricky. It wasn't uncommon to have to reseed a whole database or two. Not the end of the world, but certainly not ideal.

Check the article out here http://technet.microsoft.com/en-us/library/ee514459.aspx

August 25
Speaking at SharePoint User Group UK Nottingham Sep 10th

So what do you do when you find yourself living in Scotland, have an intense fascination with all things British, and talk about SharePoint for a living? Well, you speak at the Nottingham SharePoint User Group of course.

I’ll be doing my newest content on SharePoint performance in a session titled: “Top 10 Ways to Improve SharePoint Performance Today.” Here’s the session abstract:

Got doubts about SharePoint performance? Are you struggling to stay ahead of user demand? Want to virtualize SharePoint but scared of the performance implications? Come learn how to improve SharePoint performance today using tried and true best practices and methodologies. In this fast paced class, we'll discuss the performance & capacity planning mindset, topology improvements, frontend & backend tweaks, and storage best practices.

I hope that all SharePoint and related folks from across the UK who can be “bovvered” get a chance to attend. I look forward to meeting you all. Oh! and Don’t forget… there’s going to be a SharePint held immediately following the meeting at the Broad Oak pub in Strelley Village. We can talk about life, fitness, robots, aliens, or even SharePoint over the UK’s tastiest brews. However, despite my infamous drinking reputation, I’ll be taking it easy on the brews as I’m preparing for the PARAS’ 10 which will be held a mere three days later. It’s going to be a hardcore run, complete with boots and 35lbs pack and I need to be in top form just to finish, let alone compete. BTW… if your looking for a great way to support wounded veterans of Iraq and Afghanistan please consider sponsoring my participation in the PARAS’ 10. Find out how at http://www.justgiving.com/Mike-Watson/

To learn more about this event and the SharePoint User Group UK, visit http://suguk.org/forums/ShowThread.aspx?PostID=20433#20433

See you there!

August 25
SharePoint Saturday Copenhagen Wrap Up

I’m back home in Scotland after a quick trip to Copenhagen for SharePoint Saturday. It was a great event, well organized with motivated staff and participants. I got to meet and/or get to know many of the old and new SharePoint guard from Scandinavia including such greats as Anders Rask, Tobias Zimmergren, Anders Dissing, Carsten Keutmann, Wictor Wilen, Borris Nyland, Peter Anker, Lars Fastrup, Henrik Nordtorp, Thomas Sondergaard, and more. The event also attracted several non-Scandinavian greats such as Toni Frankola, Marianne van Wanrooij, Daniel McPherson, Christopher Even, Sarju Raja, and Michael Noel. Special thanks to Isaac Stith and Jens Noergaard for organizing this great event. Their hard work and dedication really shined through. Most special thanks to Anders Rask for meeting up with me on Thursday to show me a good time in Copenhagen. We had a fun-filled afternoon of good food, good beer, and much dizziness after our trip to Tivoli.

My session was entitled “Top 10 Ways to Improve SharePoint Performance Today.” I spoke to large and packed room and it went really well despite a problem with presentation mode on my Dell M1330/Win7 laptop (thanks Michael Noel for letting me borrow your wee Win7 machine) and numerous audio problems. As usual I tried to present too much in too little time and didn’t get to finish all my slides including some of the most important content on SQL Server and storage best practices. If you missed my session and/or need a recap, I uploaded my presentation here: Top 10 ways to improve SharePoint Performance Today

Thanks again to everyone for this great event. See you in Vegas for SPC if not sooner!

August 10
Good News! I’m Speaking at SharePoint Saturday Copenhagen!

This post may seem like déjà vu… I had posted under this same title last week after I learned I have been chosen to speak at SharePoint Saturday Copenhagen #SPSCPH. However, I jumped the gun a bit on my particular session topic and had to remove my post. Instead of speaking on Backup/Recovery (there is already 2 sessions related to that) I will be speaking on performance. My session is titled: Top 10 Ways to Improve SharePoint Performance. We will discuss topology enhancements, front-end & backend tweaks, virtualization, and the performance mindset. I'm so excited to visit Denmark and to see my friends from across Northern Europe. Please check the SharePoint Saturday Copenhagen site for more details. See you there!

1 - 10Next
 

 Events

 
2/10/2010 12:00 AM   SharePoint Technical Conference - SanFran 
4/19/2010 12:00 AM   SharePoint 2010 Evolution Conference - London 
4/25/2010 12:00 AM   The Experts Conference - LA 
 

 Stuff I Read

 
 highscalability.com
 networkworld.com
 tomshardware.com
 Fabian Williams (BCS galore!)
 Christian Buckley
 

 My irrelevant Twitter feed

 
 

 ‭(Hidden)‬ Admin Links