<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CleverWorkarounds &#187; SQL Server</title>
	<atom:link href="http://www.cleverworkarounds.com/category/infrastructure/sql-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cleverworkarounds.com</link>
	<description>After much frustration, it seems DEFAULT is the way to go...</description>
	<lastBuildDate>Thu, 02 Feb 2012 09:39:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>An opportunity to learn about aligning SharePoint to business goals in Vancouver</title>
		<link>http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/</link>
		<comments>http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 07:11:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Assurance]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Business Process Management]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Estimating]]></category>
		<category><![CDATA[Facilitation]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[HPM]]></category>
		<category><![CDATA[Human Process Management]]></category>
		<category><![CDATA[IBIS]]></category>
		<category><![CDATA[Information Architecture]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[IRR]]></category>
		<category><![CDATA[Issue Mapping]]></category>
		<category><![CDATA[Knowledge management]]></category>
		<category><![CDATA[Managed Metadata]]></category>
		<category><![CDATA[Non Linear Process]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Seven Sigma]]></category>
		<category><![CDATA[shared understanding]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Speaking presentation]]></category>
		<category><![CDATA[SQL Reporting services]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[user engagement]]></category>
		<category><![CDATA[Wicked Problems]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/?p=3197</guid>
		<description><![CDATA[Hi all Just a quick note to mention that I’m off travelling again, this time swapping 39 degree Celsius summer weather of Perth for somewhere between –6 to 5 degrees of Canada. I’ll be spending a week in Canada running two classes – one public and one private. The first class is a public SharePoint [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>Just a quick note to mention that I’m off travelling again, this time swapping 39 degree Celsius summer weather of Perth for somewhere between –6 to 5 degrees of Canada. I’ll be spending a week in Canada running two classes – one public and one private. The first class is a public <a href="www.spgovia.com">SharePoint Governance and Information Architecture</a> class running in Vancouver. MVP Michal Pisarek of <a href="http://www.sharepointanalysthq.com/">SharePointAnalystHQ</a> fame will be there and it should be a terrific two days of learning how to think a little differently to govern SharePoint strategy and deployment. You will learn a bunch of new skills, techniques and perspectives. Best of all, the skills learnt are applicable for many other types of complex projects.</p>
<p>The class flyer is here: <a title="http://www.sevensigma.com.au/wp-content/uploads/downloads/2011/02/SPIA.pdf" href="http://www.sevensigma.com.au/wp-content/uploads/downloads/2011/02/SPIA.pdf">http://www.sevensigma.com.au/wp-content/uploads/downloads/2011/02/SPIA.pdf</a></p>
<p>The registration site is here: <a href="http://spiavancouver.eventbrite.com/">http://spiavancouver.eventbrite.com/</a></p>
<p>In terms of course coverage and content it is worth noting the <a href="http://www.shareconference.com/au/hottopics">research performed</a> by the <a href="http://www.theeventfulgroup.com/">Eventful group</a> (who run the <a href="http://www.shareconference.com/au">Share conferences</a>). According to them, the hot topic areas for SharePoint are governance, user adoption, change management, information architecture and user empowerment. These sort of topics are the sort where plenty of people tell you what the issues are, but are typically lighter on what to do about them. This class covers why this is, as well as dealing with all of these areas and presents detailed strategies, tools and methods to address them. Furthermore, aside from the 500+ page manual of meaty governance goodness, as a take home, we supply a CD for attendees with a sample performance framework, governance plan, SharePoint ROI calculator and sample mind maps of Information Architecture. </p>
<p>At last count there were 5 places left for the Vancouver class, so if you have been pondering if it is a worthwhile class, check out some of the feedback from the <a href="www.spgovia.com">class web site</a>. Also, if you know anybody who might be interested in attending, please pass the <a href="http://www.sevensigma.com.au/wp-content/uploads/downloads/2011/02/SPIA.pdf">course flyer</a> and registration site details to them. We always end up with people who tell us “Ah – if only I knew about the class!!”</p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<p><a href="http://www.hereticsguidebooks.com">www.hereticsguidebooks.com</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/&title=An+opportunity+to+learn+about+aligning+SharePoint+to+business+goals+in+Vancouver" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/&title=An+opportunity+to+learn+about+aligning+SharePoint+to+business+goals+in+Vancouver" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/&title=An+opportunity+to+learn+about+aligning+SharePoint+to+business+goals+in+Vancouver" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/&title=An+opportunity+to+learn+about+aligning+SharePoint+to+business+goals+in+Vancouver" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server oddities</title>
		<link>http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/</link>
		<comments>http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 20:08:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/</guid>
		<description><![CDATA[So its Saturday night and where I should be out having fun, I am instead sitting in a training room in Wellington New Zealand, configuring a lab for a course I am running on Monday. Each student lab setup is two virtual machines. The first being a fairly stock standard AD domain controller and the [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p>So its Saturday night and where I should be out having fun, I am instead sitting in a training room in Wellington New Zealand, configuring a lab for a course I am running on Monday. </p>
<p>Each student lab setup is two virtual machines. The first being a fairly stock standard AD domain controller and the second being a SQL/SharePoint 2010 box. Someone else set up the machines, and I came in to make some changes for the labs next week. But as soon as I fired up the first student VM&#8217;s I hit a snag. I loaded SQL Server Management Studio, only to find that I was unable to connect to it as the domain administrator, despite being fairly certain that the account had been granted the sysadmin role in SQL.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/clip_image002.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/clip_image002_thumb.jpg" width="443" height="324" /></a></p>
<p>Checking the event logs, showed an error that I had not seen before. “Token-based server access validation failed with an infrastructure error”. hmmm</p>
<blockquote><p>Log Name: Application</p>
<p>Source: MSSQLSERVER</p>
<p>Date: 31/07/2010 6:45:37 p.m.</p>
<p>Event ID: 18456</p>
<p>Task Category: Logon</p>
<p>Level: Information</p>
<p>Keywords: Classic,Audit Failure</p>
<p>User: TRAINSBYDAVE\administrator</p>
<p>Computer: SP01.trainsbydave.com</p>
<p>Description:</p>
<p>Login failed for user &#8216;TRAINSBYDAVE\administrator&#8217;. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. </p>
<p>[CLIENT: &lt;local machine&gt;]</p>
<p>Event Xml:</p>
<p>&lt;Event xmlns=&quot;http://schemas.microsoft.com/win/2004/08/events/event&quot;&gt;</p>
<p>&lt;System&gt;</p>
<p>&lt;Provider Name=&quot;MSSQLSERVER&quot; /&gt;</p>
<p>&lt;EventID Qualifiers=&quot;49152&quot;&gt;18456&lt;/EventID&gt;</p>
<p>&lt;Level&gt;0&lt;/Level&gt;</p>
<p>&lt;Task&gt;4&lt;/Task&gt;</p>
<p>&lt;Keywords&gt;0&#215;90000000000000&lt;/Keywords&gt;</p>
<p>&lt;TimeCreated SystemTime=&quot;2010-07-31T06:45:37.000000000Z&quot; /&gt;</p>
<p>&lt;EventRecordID&gt;8281&lt;/EventRecordID&gt;</p>
<p>&lt;Channel&gt;Application&lt;/Channel&gt;</p>
<p>&lt;Computer&gt;SP01.trainsbydave.com&lt;/Computer&gt;</p>
<p>&lt;Security UserID=&quot;S-1-5-21-3713613819-1395520312-4192346095-500&quot; /&gt;</p>
<p>&lt;/System&gt;</p>
<p>&lt;EventData&gt;</p>
<p>&lt;Data&gt;TRAINSBYDAVE\administrator&lt;/Data&gt;</p>
<p>&lt;Data&gt; Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors.&lt;/Data&gt;</p>
<p>&lt;Data&gt; [CLIENT: &amp;lt;local machine&amp;gt;]&lt;/Data&gt;</p>
</blockquote>
<p>As it happened, whoever set it up had SQL Server in mixed mode authentication, so I was able to sign in as the sa account and have a poke around. All things considered, it should have worked. The user account in question was definitely in the logins and set with sysadmin server rights as shown below.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/clip_image004.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/clip_image004_thumb.jpg" width="583" height="339" /></a></p>
<p>Uncle google showed a few people with the error but not as many as I expected to see since half the world gets nailed on authentication issues. I also took the event log suggestion and looked for a previous error. A big nope on that suggestion. In fact in all respects, everything looked sweet. The machine was valid on the domain and I was able to perform any other administrative task. </p>
<p>Finally, I removed the TRAINSBYDAVE\administrator account from the list of Logins in SQL Server. It gave the unsurprising whinge about orphaned database users, but luckily for AD accounts when you re-add the same account back it is smart enough to re-establish the link.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/clip_image006.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/clip_image006_thumb.jpg" width="422" height="96" /></a></p>
<p>As soon as I re-added the account, all was good again. If I was actually interested enough I&#8217;d delve into why this happened, but not tonight &#8211; I have another 6 student machines to configure <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Goodnight!</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/clip_image008.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/clip_image008_thumb.jpg" width="385" height="253" /></a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/&title=SQL+Server+oddities" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/&title=SQL+Server+oddities" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/&title=SQL+Server+oddities" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/&title=SQL+Server+oddities" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2010/08/01/sql-server-oddities/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SharePoint Webcasts: Reporting Services for the Really Really Good Looking</title>
		<link>http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/</link>
		<comments>http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 00:25:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Bruno]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Hansel]]></category>
		<category><![CDATA[Offbeat]]></category>
		<category><![CDATA[real-time]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Speaking presentation]]></category>
		<category><![CDATA[SQL Reporting services]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[user engagement]]></category>
		<category><![CDATA[Zoolander]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/?p=1784</guid>
		<description><![CDATA[Last year, Peter Serzo and I presented at the SharePoint Best Practices Conference in DC. We did an extremely serious talk called “SharePoint and SQL Reporting Services 2008 for the really really good looking” which rated rather well. As part of this, we recorded a bunch of screencasts that have never seen the light of [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image.png"><img style="border-right-width: 0px; margin: 0px 0px 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image_thumb.png" width="187" height="358" /></a>Last year, <a href="http://sharepointusermagic.com/default.aspx">Peter Serzo</a> and I presented at the SharePoint Best Practices Conference in DC. We did an extremely serious talk called “SharePoint and SQL Reporting Services 2008 for the really really good looking” which rated rather well. As part of this, we recorded a bunch of screencasts that have never seen the light of day, so I thought that some would benefit from this being released to a wider audience.</p>
<p><em><strong>Note: This post and content is really going make utterly no sense unless you have watched Zoolander. Even if you have seen the movie, before you launch into the webcasts, some scene setting is required. </strong></em></p>
<h2></h2>
<h2>The business need</h2>
<p>Some time ago, Peter and I were contracted by the Derek Zoolander School for the Really, Really Good Looking after Derek saw Microsoft’s new SharePoint diagram when he accidentally picked up a “Computerworld” magazine. Apart from matching Derek’s suit colour rather nicely, the diagram captivated his imagination with the notion of “Insights”. </p>
<p>Zoolander thought that “Insight”, sounded like the perfect look to follow up from the highly successful “Magnum”, which he used to save the Malaysian prime ministers life. He took the diagram to his wife, and demanded that he must have “Insights” at all costs.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image_thumb1.png" width="529" height="301" /></a></p>
<p>Zoolander’s wife saw the business problem that “Insights” would help to address. You see, the Derek Zoolander School for the Really, Really Good Looking, at great expense, custom developed an ERP system to manage everything you needed to know about male models. The system was called the “<strong><font size="4">C</font></strong>omputerised <strong><font size="4">R</font></strong>ecords for <strong><font size="4">A</font></strong>ttractive <strong><font size="4">P</font></strong>eople”…</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image_thumb2.png" width="531" height="334" /></a> </p>
<p>The <strong>CRAP</strong> system stored all sorts of interesting information about male models, such as tracking their “hotness”, as well as important detail such as stated age versus actual age, and any cosmetic procedures that they have undertaken. After a long and expensive consultation, Peter and I concluded that SharePoint 2007, integrated with SQL Reporting Services, was the perfect solution to create the all important “Insights” that Zoolander so desperately needed.</p>
<p>As a result, we conducted a project kickoff meeting with Hansel and Peter tried to explain the architecture of reporting services using a nice diagram.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image_thumb3.png" width="312" height="363" /></a> </p>
<p>… but we worked out pretty quickly that this was not the way to explain how it all worked to poor old Hansel…</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image_thumb4.png" width="312" height="321" /></a> </p>
<p>So instead, we went the live demo route. Being male models, custom development was totally out of the question. This solution had to be done using all out of the box methods in a quick and easy manner. Below are the four live demos that were recorded and now you can use them as inspiration for your own male modelling school.</p>
<ul>
<li>Our first webcast illustrates how we were able to create a meaningful report from the CRAP system within five minutes. </li>
<li>The second webcast expanded on this idea, by illustrating how reports can be parameterised and linked together for drilldown reporting. </li>
<li>The third demo modifies the user profile store to allow for recording of each users unique ID in the CRAP system</li>
<li>The last webcast strings this all together for the final demonstration where we pimp the report to make it dynamic with no custom code.</li>
</ul>
<p>&#160;</p>
<p> <center><br />
<table border="0" cellspacing="0" cellpadding="2" width="618">
<tbody>
<tr>
<td valign="top" width="321" align="center"><a title="The 5 minute report webcast" href="http://www.cleverworkarounds.com/webcasts/5minutereport.htm"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image5.png" width="244" height="183" /></a>&#160;</td>
<td valign="top" width="295" align="center"><a title="Drilling down" href="http://www.cleverworkarounds.com/webcasts/drilldown.htm"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image9.png" width="244" height="185" /></a></td>
</tr>
<tr>
<td valign="top" width="321" align="center">
<p align="center"><a href="http://www.cleverworkarounds.com/webcasts/5minutereport.htm">The 5 minute report</a></p>
</td>
<td width="295" align="center" lign="center"><a title="Drilling down" href="http://www.cleverworkarounds.com/webcasts/drilldown.htm">Drilling down with Derek</a></td>
</tr>
<tr>
<td valign="top" width="321" align="center"><a title="User profiles" href="http://www.cleverworkarounds.com/webcasts/userprofiles.htm"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image10.png" width="244" height="185" /></a> </td>
<td valign="top" width="295" align="center"><a title="Pimp My Site" href="http://www.cleverworkarounds.com/webcasts/pimpmysite.htm"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/02/image11.png" width="244" height="184" /></a> </td>
</tr>
<tr>
<td width="321" align="center">
<p><a title="User Profiles for the really really good looking" href="http://www.cleverworkarounds.com/webcasts/userprofiles.htm">User Profiles for the really really good looking</a></p>
</td>
<td width="295" align="center"><a title="Pimp my report" href="http://www.cleverworkarounds.com/webcasts/pimpmysite.htm">Pimp my report</a></td>
</tr>
</tbody>
</table>
<p> </center>
<p>&#160;</p>
<p>We hope you find some value from these webcasts and we look forward to hearing about your hot new look as a result!</p>
<p>Thanks for reading</p>
<p>&#160;</p>
<p>&#160;</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/&title=SharePoint+Webcasts%3A+Reporting+Services+for+the+Really+Really+Good+Looking" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/&title=SharePoint+Webcasts%3A+Reporting+Services+for+the+Really+Really+Good+Looking" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/&title=SharePoint+Webcasts%3A+Reporting+Services+for+the+Really+Really+Good+Looking" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/&title=SharePoint+Webcasts%3A+Reporting+Services+for+the+Really+Really+Good+Looking" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2010/02/22/sharepoint-webcasts-reporting-services-for-the-really-really-good-looking/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SBS 2008, Hewlett Packard, WSS3, Search Server 2008 Express and a UPS – Oh the pain!</title>
		<link>http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/</link>
		<comments>http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 12:47:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Assurance]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/</guid>
		<description><![CDATA[In the words of Doctor Smith from lost in space, while everyone else was in Vegas having a grand old time, I was at a client site, having to come to grips with the beast known as Windows Small Business Server 2008. I rarely work with SBS2003 and had never used SBS2008 until now. This [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2009/11/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2009/11/image_thumb3.png" width="240" height="240" /></a> </p>
<p>In the words of Doctor Smith from lost in space, while everyone else was in Vegas having a grand old time, I was at a client site, having to come to grips with the beast known as Windows Small Business Server 2008. I rarely work with SBS2003 and had never used SBS2008 until now. </p>
<p>This was one of those engagements that is somewhat similar to those awful dreams that you have when you are trying to get to some place, but you never quite get there and your subconscious puts all sorts of strange and surreal obstacles in your path. In my case, the surreal obstacles were very real, yet some of them were really really dumb. Whatsmore, it is a very sad indictment on IT at several levels and a testament to how complexity will never be tamed with yet more complexity.</p>
<p>As a result, I really <a href="http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/" target="_blank">fear the direction</a> that IT in general is heading.</p>
<p>So where to begin? This project was easy enough in theory. A former colleague called me up because he knew of my dim, dark past in the world of Cisco, Active Directory and SharePoint. He asked me to help put in SBS2008 for him, configuring Exchange/AD/SharePoint and migrating his environment over to it. </p>
<p>“Sure”, I say, “it’ll be a snap” (famous last words)</p>
<p><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /></p>
<p>I haven’t use the coffee or tequila ratings for a while, so I thought that this post was apt for dusting them off. If you check the <a href="http://www.cleverworkarounds.com/2008/04/11/why-do-sharepoint-projects-fail-part-1/" target="_blank">Why do SharePoint Projects Fail</a> series, you will see that I use tequila shots or coffee at times. In this case, I will use the tequila shots to demonstrate my stress levels.</p>
<h2>Attempt 1</h2>
<p>We start our sorry tale a few weeks ago, where my client had ordered Small Business Server 2008 and the media/key had not arrived by the time I was due to start. The supplier came to the rescue by sending them a copy of the media and promised to send the license key in a couple of days. </p>
<p>The server was a HP Proliant DL360 G6, a seemingly nice box with some good features at a reasonable price. HP/Compaq people will be familiar with the <a href="http://h20000.www2.hp.com/bizsupport/TechSupport/DocumentIndex.jsp?contentType=SupportFAQ&amp;lang=en&amp;cc=us&amp;docIndexId=64178&amp;taskId=101&amp;prodTypeId=18964&amp;prodSeriesId=345557" target="_blank">SmartStart</a> software and process, where instead of using the windows media, you pop in the supplied SmartStart CD and it will perform some admin tasks, before asking for the windows media, auto-magically slipstreaming drivers and semi-automating the install.</p>
<p>On client machines, I never use the CD from the vendor because there is always too much bloatware crap. However on servers I generally do use the CD, because it tends to come with all the tools necessary to manage disk storage, firmware and the like. I dutifully popped in SmartStart CD, answered a few basic questions, and it asked for the windows media CD. </p>
<p><strong>Cleverworkarounds stress rating: Good so far</strong></p>
<p>Next it asked me for the Windows SBS2008 licence key. Of course, I was using media that had been lent to us from the supplier because my client’s media (and keys) had not arrived. Thus, since I did not have a license key I was unable to proceed with the install using this preferred manner. HP, in their infinite wisdom, have <strong>assumed </strong>that you always have the license key when you install via their SmartStart CD, <strong>despite Microsoft giving you 30 days to activate the product</strong>. To be fair on HP, they are hooking into Microsoft’s unattended installation framework, so perhaps the blame should be shared. </p>
<p>All was not lost however. The SmartStart CD can be run after windows has been installed. It then will install all the necessary “HP bits” like graphics and system board drivers. So I booted off the Windows CD and fortunately, windows installer detected the HP storage controller and the disk array,&#160; and proceeded to let me partition it and install. </p>
<p><strong>Cleverworkarounds stress rating: Minor annoyance, but good so far</strong></p>
<p>Small Business Server 2008 did its thing and then loaded up a post install wizard that sets the timezone, active directory domain name and the like. At a certain step when running this wizard, SBS2008 informed me that there was no network card with a driver loaded, so it could not continue. As it turns out, Microsoft’s initial SBS2008 configuration wizard simply will not proceed <strong>unless</strong> it finds a valid network card. But since this is the pre-install wizard, we are not yet at the point in the installation where we have a proper windows desktop with start menu and windows explorer. All is not lost (apparently), because SBS allows you to start device manager from within the wizard and search for the driver.</p>
<p>Fair enough, I think to myself, so I pop in the HP SmartStart CD and tell device manager to search the media.</p>
<p><strong>Cleverworkarounds stress rating: Spider senses tingle that today might not turn out well</strong></p>
<p><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /></p>
<p>Windows device manager comes back and tells me that it <strong>cannot find any drivers</strong>. </p>
<p>Why? </p>
<p>Well after some examination, the SmartStart drivers are all <strong>self extracting executables</strong> and therefore device manager could not find them when I told it to. Of course, the self extracting zip files have hugely meaningful names like C453453.EXE making it really obvious to work out what driver set is the one required… not!</p>
<p>Luckily, Ctrl+Alt+Del gave me task manager which allowed me to start a windows explorer session, and I was able to browse to the CD and run the autorun of the SmartStart CD manually. This loaded up HP’s fancy schamsy driver install software that produces a nice friendly report on what system software is missing and proceeds to install it all for you.</p>
<p>SmartStart did its thing, finding all of the driverless hardware and installed the various drivers. A few minutes and a reboot later and SBS2008 reruns its configuration wizard and this time finds the network and allows me to complete the wizard. This triggers another thirty minutes of configuration and another reboot and we have ourselves a small business server!</p>
<p><strong>Cleverworkarounds stress rating: Spider senses subside – back on track?</strong></p>
<p>Next I did something that is a habit that has served me well over the years (until now). I reran the Smartstart CD, now with a network and internet access. This time I told the driver management utility to connect to HP.COM. It scanned HP and reported to me that most drivers on the SmartStart CD were out of date. This is unsurprising because most of the time I do server builds for any vendor, I find that about half of the drivers, BIOS and various firmwares have been replaced by newer versions since the CD was pressed. </p>
<p>Since this is a brand new server build, it is a habit of mine to upgrade to the latest drivers, BIOS and firmware before going any further. </p>
<p>Among the things found to be out of date was the BIOS, the firmware on the RAID Storage controller as well as the network card. The SmartStart software downloaded all of these updates, and another reboot later, all are installed happily. Another hour of patching via Windows update, and we have a ready to go SBS2008 server with WSS3, Exchange, SQL Express and WSUS all configured automatically for you.</p>
<p><strong>Cleverworkarounds stress rating: This SBS2008 stuff isn’t so bad right? </strong></p>
<p>Okay, so things were good so far, but now here is where the fun really begins.</p>
<p>Windows 2008 SBS comes with a <strong>pre-installed</strong> WSS3 site called http://Companyweb. As we all know, search completely sucks in WSS3. It has a bunch of limitations and isn’t a patch on what you get with MOSS. But no problem – we have <a href="http://www.microsoft.com/enterprisesearch/en/us/search-server-express.aspx" target="_blank">Microsoft Search Server Express</a> now, a free upgrade which turns WSS search from complete horribleness to niceness fairly quickly. </p>
<p><em>For those of you reading this who run WSS3 and have not installed Search Server Express, I suggest you investigate it as it does offer a significant upgrade of functionality. Search server express pretty much makes WSS3 have the same search capabilities of MOSS 2007.</em></p>
<p>So, I proceeded to install Search Server 2008 express onto this Small Business Server 2008 box. I have installed Search Server Express quite a few times before and I have to admit, it is a tricky install at times. But given that this was a fresh Small Business Server 2008 install and not in production, as well as having successfully installed it on Small Business Server 2003 previously, I felt that I should be safe.</p>
<p>I commenced the Search Server 2008 express install, and the first warning sign that my day was about to turn bad showed itself. The install of search server express <strong>only allowed me to choose the “Basic” option</strong>. The option that I wanted to use, “Advanced” was greyed out and therefore unavailable. </p>
<p><strong>Cleverworkarounds stress rating: Spider senses tingling again</strong></p>
<p><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /></p>
<p>Knowing this server was not in production, I went ahead and allowed Search Server Express to install as per the forced basic setting. The install itself appeared to work, but it died during the SharePoint configuration wizard. It specifically crapped out on step 9, with the error message </p>
<p>“Failed to create sample data. An exception of type Microsoft.SharePoint.SPException was thrown.&#160; Additional exception information: User cannot be found”. </p>
<p>“Curses!” I say, “another trip to logs folder in the 12 hive”. For the nerds, the log is pasted below.</p>
<p><font size="2" face="Courier">[SPManager] [INFO] [10/21/2009 3:38:47 PM]: Finished upgrading SPContentDatabase Name=ShareWebDb Parent=SPDatabaseServiceInstance Name=Microsoft##SSEE.      <br />[SPManager] [DEBUG] [10/21/2009 3:38:47 PM]: Using cached [SPContentDatabase Name=ShareWebDb Parent=SPDatabaseServiceInstance Name=Microsoft##SSEE] NeedsUpgrade value: False.       <br />[SharedResourceProviderSequence] [DEBUG] [10/21/2009 3:38:47 PM]: Unable to locate SearchDatabase. Exception thrown was: <strong>System.Data.SqlClient.SqlException: Cannot open database &quot;SharedServices_DB_ed3872ca-06b1-44c5-8ede-5a81b52265f9&quot; requested by the login. The login failed.        <br />Login failed for user &#8216;NT AUTHORITY\NETWORK SERVICE&#8217;.         <br /></strong>&#160;&#160; at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)       <br />&#160;&#160; at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)       <br />&#160;&#160; at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)       <br />&#160;&#160; at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)</font></p>
<p>The long and short of this error takes a little while to explain. First we need to explain the historical difference between SQL Server <strong>Express</strong> edition and SQL Server <strong>Embedded</strong> edition (also known as the Windows internal database). From wikipedia: </p>
<p><a href="http://en.wikipedia.org/wiki/Windows_Internal_Database">SQL Server 2005 Embedded Edition (SSEE)</a>: SQL Server 2005 Embedded Edition is a specially configured named instance of the SQL Server Express database engine which can be accessed only by certain Windows Services. </p>
<p><a href="http://en.wikipedia.org/wiki/SQL_Server_Express">SQL Server Express Edition</a>: SQL Server Express Edition is a scaled down, free edition of SQL Server, which includes the core database engine. While there are no limitations on the number of databases or users supported, it is limited to using one processor, 1 GB memory and 4 GB database files. </p>
<p>Why does this matter? Well Microsoft, being the wise chaps that they are, decided that when you perform a SharePoint installation using the “basic” option, <strong>different editions of SharePoint use different editions of SQL Server! </strong>Mark Walsh explains it <a href="http://social.technet.microsoft.com/Forums/en-US/sharepointadmin/thread/f6d876ff-cca5-4734-b983-0dae61874389" target="_blank">here</a>:</p>
<ul>
<li>When you use the &quot;Basic&quot; install option during <strong>MOSS 2007</strong> installation it will install and use <a href="http://technet.microsoft.com/en-gb/library/cc678868.aspx">SQL Server 2005 Express Edition</a> and you have a 4GB database size limit. </li>
<li>When you use the &quot;Basic&quot; install option during <strong>WSS 3.0</strong> installation it <strong>DOES NOT</strong> use SQL Express, it uses SQL Server 2005 Embedded edition and it DOES NOT have a 4GB size limit. </li>
</ul>
<p>It happens that Small Business Server 2008 comes with WSS3 preinstalled. Annoyingly, but unsurprisingly, the Small Business Server team opted to use the BASIC installation mode. As described above, SQL Server Embedded Edition (known on Win2008 as the Windows Internal Database) is used. <em>For reference, WSUS on Small Business Server 2008 also uses this database instance</em>.</p>
<p>BUT BUT BUT…</p>
<p>Search Server 2008 Express, uses <strong>SQL Server Express edition </strong>when performing a basic install. As a result, an <strong>additional SQL Server Express instance </strong>(SERVERNAME\OFFICESERVERS) gets installed onto the Small Business 2008 server. Then, to make matters worse, the installer gets mixed up and installs some Search Server express databases into the new instance (a Shared Service Provider), but then uses the SQL Embedded Edition instance to install other databases (like the searchDB). Then later during the configuration wizard, it cannot find the databases that it needs because it searches the wrong instance!</p>
<p>The net result is the error shown in the log above. I tried all sorts of things like copying the Express databases into the embedded edition, but I couldn’t disentangle this dependency issue. Some parts of SharePoint (the search server express bits no doubt) looked in the SQL Express instance and the WSS bits looked in the Embedded SQL instance. Eventually, conscious of time, I proceeded to uninstall Search Server Express.</p>
<p><strong>Cleverworkarounds stress rating: Some swear words now uttered</strong></p>
<p><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /></p>
<p>Uninstalling Search Server Express was attempted and tells me that it has successfully completed and wants a reboot. Unfortunately SharePoint is now even more hosed than it was before and I tried a few things to get things back on track (psconfig to create a new farm and the like). After more frustration, and conscious of time I decided to uninstall WSS3 altogether and then reinstall it according to the <a href="http://technet.microsoft.com/en-us/library/dd430085(WS.10).aspx" target="_blank">SBS Repair guide</a> for WSS3. </p>
<p>This had the effect of stuffing up WSUS as well! (I assume because it shares the same Windows Internal Database instance), and after a couple of hours of trying all sorts of increasingly hacky ways of getting all of this working, I was forced to give up.</p>
<p><em>Note: Whatever you do, do not attempt <a href="http://blogs.vishwak.com/blogs/eravi/archive/2009/08/07/configuring-search-server-express-on-sbs-2008.aspx" target="_blank">this method</a>. At one point I tried to trick WSS3 into temporarily thinking it was not a basic mode install so get Search Server Express to prompt for Advanced mode, but it made things worse because the configuration database got confused. </em></p>
<p><strong>Cleverworkarounds stress rating: Installing SharePoint in basic mode is committing a crime against humanity.</strong></p>
<p><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /></p>
<h2>Attempt 2</h2>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2009/11/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2009/11/image_thumb4.png" width="193" height="244" /></a> </p>
<p>At this point I hear Doctor Smith abusing me like the poor old robot. “You bubble-headed booby, you ludicrous lump, adlepated amateur, dottering dunderhead”.</p>
<p>Since WSUS got completely screwed, as well as the Windows Internal Database through relentless uninstallation and repair attempts, I started to get nervous. Small Business Server 2008 is a very fussy beast. Essentially it can get very upset at seemingly benign changes. I felt that I had messed about so much that I could no longer guarantee the integrity of this server so I wiped clean and reinstalled.</p>
<p>I installed Windows as per the previous method, and once again the install wizard stopped, asking me for a network driver. Once again I popped in the HP SmartStart CD and proceeded to run the driver install program from the SBS configuration wizard.</p>
<p>This time, no network card was detected! </p>
<p>What the? During attempt 1, I happily installed the necessary HP drivers using the same %$^#% SmartStart CD! Why is it not detecting now??</p>
<p><strong>Cleverworkarounds stress rating: Now thinking about how much fun everyone is having in Vegas while I am fighting this server</strong></p>
<p><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /></p>
<p>After some teeth gnashing, the cause of this problem hit me as I was driving home from the site. I had upgraded the firmware of the network card during attempt 1, as well as the storage controller and system BIOS. I realised that the stupid, brain-dead HP network card drivers likely could <strong>no longer recognise its own network card with a newer firmware</strong>.</p>
<p>The next day I came back refreshed, and found that indeed, there were newer network drivers at the HP site. I downloaded them and extracted them and sure enough, suddenly the network card was found and I was back in business. How dumb is that! Surely if you are going to write a driver, at the very least make it recognise the hardware irrespective of firmware!&#160;&#160; </p>
<p>Once I got past this stupid annoyance, it did not take too long for SBS2008 to be installed and ready to go. Remember that WSS3 is installed for you in basic mode, so to change it requires an uninstall of WSS and then to reinstall it in a different mode. But the problem here is SBS2008 and its fussiness about messing with configuration. In going down this path, you risk future service packs and updates breaking because things are not as expected. Additionally you would have to create companyweb manually and it raises the risk of a misconfiguration or mistake along the way. </p>
<p>I logged a call with Microsoft and got a pretty good engineer (hey Ai Wa) and she was able to consistently reproduce all of my issues in the lab, but was unable to work out a supportable fix. In the meantime, I tried to force Search Server 2008 to install into advanced mode using a scripted install, using an article written by my old mate <a href="http://technet.microsoft.com/en-us/library/cc994302.aspx" target="_blank">Ben Curry</a>. Alas, I could not bend it to my will and at the time of writing this article, I had to give up on Search Server 2008 with SBS2008 for now.</p>
<p><em>For what its worth, I know that I can make this work by installing WSS3 differently, but I planned to properly nail this issue in my lab using the out of the box installs and then publish this article, but I didn’t have the sufficient hardware to run Small Business Server 2008. It requires a lot of grunt to run! So I will revisit this issue once my new VM server arrives and post an update.</em></p>
<h2>But there is more…</h2>
<p>If the whole Smartstart, network driver, SBS2008 with its dodgy scripted WSS3 install, with Search Server Express dumb installation assumptions were not enough, I hit more dumb things that resulted in showing how ill equipped HP’s support is able to deal with these sorts of issues.</p>
<p>The server, not surprisingly, supplied with a nice hardware RAID configuration and my client opted to buy some additional disk. When the disks arrived and were installed, we found that the RAID controller could see the disks, but we were unable to add the disks to the existing array using HP’s management tools. HP’s “friendly” support was unable to work out the issue and asked me to do things that were never going to work and insulted my intelligence. Eventually I worked out what was going on myself, via HP’s own forums. It turns out that the HP Server requires a write cache module to be able to grow an array. We had one of these installed. Upon further examination by opening up the chassis, we were missing a battery to go with the write cache module. HP were unable to determine the part number that we needed and we ended up working it out ourselves and telling our supplier.</p>
<p>Then HP stuffed up the order and after following up for two weeks, it turned out they accidentally forgot to put the order through to Singapore to get the part. It seemed that once we went outside of the normal supply chain system at HP, it all broke down. After two weeks and numerous calls, they suddenly realised that the part was available in Sydney all along and it was shipped over next day!. The irony was that next day the part from Singapore arrived! </p>
<p>So now we had two batteries.</p>
<p>Grrrr. It shouldn’t be this hard! Why supply a write cache module and not supply the battery! Dumb Dumb Dumb! </p>
<p><strong>Cleverworkarounds stress rating: Really hating HP and Microsoft at this point.</strong></p>
<p><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /></p>
<h2>… and piece de resistance!</h2>
<p>Okay so we had a few frustrating struggles, but we more or less got there. But here is the absolute showstopper – the final issue that for me, really made me question this IT discipline that I have worked in for twenty years now.</p>
<p>My client rang me on Monday morning to tell me the server was powered off when we arrived on site. This was unusual because the rack was UPS protected and no other devices were off. We ran HP’s diagnostic tools and no faults were reported. The UPS was a fairly recent APC model, and we installed a serial cable to the server and loaded the APC UPS Management software. The software (which looks scarily like what 16 bit apps used to look like in the early 90’s), found the UPS and showed that was all hunky dory.</p>
<p>We decided to perform a battery test using the software. No sooner than I clicked OK, the server powered off with no warning or shutdown. Whoa!!</p>
<p>I put in a call to APC, and was told that the UPS was <strong>not compatible</strong> with HP’s new fancy shmansy green star rating power supplies. We had to buy a new UPS because of some “sine wave” mumbo jumbo (UPS engineer talk that I really wasn’t interested in). If the UPS switched to battery, this server would think power was dodgy and do a pre-emptive shutdown. The reason that the server was powered off on the Monday morning was that the UPS has a built in self test that runs every 7 days that <strong>cannot be disabled</strong>!</p>
<p><strong>Cleverworkarounds stress rating: For %%$$ sake!.</strong></p>
<p><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /><img border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/06/image-thumb3.png" width="45" height="45" /></p>
<h2>Conclusion</h2>
<p>Now I don’t know about you, but once a UPS cannot be “compatible” with a server, that’s it &#8211; things have gone too far. For crying out loud, a UPS supplies power. How $%#^ hard can that be? How is an organization supposed to get value out of their IT investments with this sort of crap to deal with.</p>
<p>Then add in the added complexity of Blade servers, Citrix, Virtualisation, shared storage, and I truly feel that some sites are sitting on time bombs. The supposed benefits in terms of efficiency, resiliency and scalability that these technologies bring, come at an often intangible and insidious cost – sheer risk from incredible complexity. If you look at this case study of a small organisation putting in a basic server, most of the issues I have encountered are the side effects of this complexity and the lack of ability for the vendors to be able to help with it. </p>
<p>As the global financial crisis has aptly demonstrated, when things are complex and no-one person can understand everything, when something bad does happen, it tends to do it in a spectacularly painful and costly way.</p>
<p>Finally, before you reply to this likely immature rant and tell me I am a whiner, remember this all you Vegas people. You got to have fun and marvel at all the new (complex) SP2010 toys, while I sat on the other side of the planet in a small computer room, all bitter and twisted, sprouting obscenities to HP, Microsoft and APC dealing with this crap. When you put that into perspective, I think this article is quite balanced! <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/&title=SBS+2008%2C+Hewlett+Packard%2C+WSS3%2C+Search+Server+2008+Express+and+a+UPS+%E2%80%93+Oh+the+pain%21" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/&title=SBS+2008%2C+Hewlett+Packard%2C+WSS3%2C+Search+Server+2008+Express+and+a+UPS+%E2%80%93+Oh+the+pain%21" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/&title=SBS+2008%2C+Hewlett+Packard%2C+WSS3%2C+Search+Server+2008+Express+and+a+UPS+%E2%80%93+Oh+the+pain%21" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/&title=SBS+2008%2C+Hewlett+Packard%2C+WSS3%2C+Search+Server+2008+Express+and+a+UPS+%E2%80%93+Oh+the+pain%21" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2009/11/29/sbs-2008-hewlett-packard-wss3-search-server-2008-express-and-a-ups-oh-the-pain/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Complexity bites: When SharePoint = Risk</title>
		<link>http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/</link>
		<comments>http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 14:47:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Governance]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[ITIL]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[Sarbanes-Oxley]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Strategy]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/</guid>
		<description><![CDATA[think as you age, you become more and more like your parents. Not so long ago I went out paintballing with some friends and we all agreed that the 16-18 year olds who also happened to be there were all obnoxious little twerps who needed a good kick in the rear. At the same time, we also agreed that we were just as obnoxious back when we were that age. Your perspective changes as you learn and your experience grows, but you don't forget where you came from...

SharePoint, for a number of reasons, is one of those products that has a way of really laying bare any gaps that the organisation has in terms of their overall maturity around technology and strategy...<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p>I think as you age, you become more and more like your parents. Not so long ago I went out paintballing with some friends and we all agreed that the 16-18 year olds who also happened to be there were all obnoxious little twerps who needed a good kick in the rear. At the same time, we also agreed that we were just as obnoxious back when we were that age. Your perspective changes as you learn and your experience grows, but you don&#8217;t forget where you came from.</p>
<p>I now find myself saying stuff to my kids that my parents said to me, I think today&#8217;s music is crap, I have taken a liking to drinking quality scotch. Essentially all I need now to complete the metamorphosis to being my father is for all my hair to fall out!</p>
<p>So when I write an article whining about an assertion that IT has a credibility issue and has gone backwards in its ability to cope with various challenges, I fear that I have now officially become my parents. I&#8217;ll sound like grandpa who always tells you that life was so much simpler back in the 1940&#8242;s. </p>
<h2>Consequences of complexity&#8230;</h2>
<p>Before I go and dump on IT as a discipline, how about we dump on finance as a discipline, just so you can be assured that my cynicism extends far beyond nerds. </p>
<p>I previously wrote about how <a href="http://www.cleverworkarounds.com/2008/03/27/compliance-is-about-to-get-worse/" target="_blank">Sarbanes Oxley legislation</a> was designed to, yet ultimately failed to, provide assurance to investors and regulators that public companies had adequate controls over their financial risk. As I write this, we are in the midst of a once in a generation-or-two credit crisis where some seven hundred billion dollars ($700,000,000,000) of US taxpayers&#8217; money will be used to take ownership of crap assets (foreclosed or unpaid mortgages).</p>
<p>Part of the problem with the credit crisis was through the use of &quot;collateralized debt obligations&quot;. This is a fancy, yet complex, way of taking a bunch of mortgages, and turning them into an &quot;asset&quot; that someone else who has some spare cash invests in. If you are wondering why the hell someone would invest in such a thing, then consider people with home loans, supposedly happily paying interest on those mortgages. It is that interest that finds its way to the holder (investor) of the CDO. So a CDO is supposedly an income stream.</p>
<p>Now if that explanation makes your eyes glaze over then I have bad news for you: that&#8217;s supposed to be the easy part. The reality is that the CDO&#8217;s are actually extremely complex things. They can be backed by residential property, commercial property, something called mortgage backed securities, corporate loans &#8211; essentially anything that someone is paying interest on can find its way into a CDO that someone else buys into, to get the income stream from the interest paid.</p>
<p>To provide &quot;assurance&quot; that these CDO&#8217;s are &quot;safe&quot;, ratings agencies give them a mark that investors rely upon when making their investment. So a &quot;AAA&quot; CDO is supposed to have been given the tick of approval by experts in debt instrument style finance.</p>
<p>Here&#8217;s the rub about rating agencies. Below is a news article from earlier in the year with some great quotes</p>
<p><a title="http://www.nytimes.com/2008/03/23/business/23how.html?pagewanted=print" href="http://www.nytimes.com/2008/03/23/business/23how.html?pagewanted=print">http://www.nytimes.com/2008/03/23/business/23how.html?pagewanted=print</a></p>
<blockquote><p>Credit rating agencies, paid by banks to grade some of the new products, slapped high ratings on many of them, despite having only a loose familiarity with the quality of the assets behind these instruments.</p>
</blockquote>
<blockquote><p>Even the people running Wall Street firms didn&#8217;t really understand what they were buying and selling, says Byron Wien, a 40-year veteran of the stock market who is now the chief investment strategist of Pequot Capital, a hedge fund. &#8220;These are ordinary folks who know a spreadsheet, but they are not steeped in the sophistication of these kind of models,&#8221; Mr. Wien says. &#8220;You put a lot of equations in front of them with little Greek letters on their sides, and they won&#8217;t know what they&#8217;re looking at.&#8221;</p>
</blockquote>
<blockquote><p>Mr. Blinder, the former Fed vice chairman, holds a doctorate in economics from <a href="http://topics.nytimes.com/top/reference/timestopics/organizations/m/massachusetts_institute_of_technology/index.html?inline=nyt-org">M.I.T.</a> but says he has only a &#8220;modest understanding&#8221; of complex derivatives. &#8220;I know the basic understanding of how they work,&#8221; he said, &#8220;but if you presented me with one and asked me to put a market value on it, I&#8217;d be guessing.&#8221;</p>
</blockquote>
<p>What do we see here? How many people really *understand* what&#8217;s going on underneath the complexity? </p>
<p>Of course, we now know that many of the mortgages backing these CDO&#8217;s were made to people with poor credit history, or with a high risk of not being able to pay the loans back. Jack up the interest rate or the cost of living and people foreclose or do not pay the mortgage. When that happens en masse, we have a glut of houses for sale, forcing down prices, lowering the value of the assets, eliminating the &quot;income stream&quot; that CDO investors relied upon, making them pretty much worthless.</p>
<p>My point is that the complexity of the CDO&#8217;s were such that even a <strong>guy with a doctorate in economics </strong>only had a &#8216;modest understanding&#8217; of them. Holy crap! If he doesn&#8217;t understand it then who the hell does? </p>
<p>Thus, the current financial crisis is a great case study in the relationship between complexity and risk. </p>
<h2>Consequences of complexity (IT version)&#8230;</h2>
<p>One thing about doing what I do, is that you spent a lot of time on-site. You get to see the IT infrastructure&#160; and development at many levels. But more importantly, you also spend a lot of time talking to IT staff and organisation stakeholders with a very wide range of skills and experience. Finally and most important of all, you get to see first hand organisational maturity at work.</p>
<p>My conclusion? IT is completely f$%#ed up across all disciplines and many will have their own mini equivalent of the US $700 billion dollar haemorrhage. Not only that, it is far worse today than it previously was &#8211; and getting worse! IT staff are struggling with ever accelerating complexity and the &quot;disconnect&quot; between IT and the business is getting worse as well. To many businesses, the IT department has a credibility problem, but to IT the feeling is completely mutual <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>You can find a nice <a href="http://ask.slashdot.org/article.pl?sid=08/09/16/029225&amp;from=rss" target="_blank">thread</a> about this topic on slashdot. My personal favourite quote from that thread is this one</p>
<blockquote><p>Let me just say, after 26 years in this business, of hearing this every year, the systems just keep getting more complex and harder to maintain, rather than less and easier.</p>
<p>Windows NT was supposed to make it so anyone who could use Windows could manage a server.</p>
<p>How many MILLION MSCEs do we have in the world now?</p>
<p>Storage systems with Petabytes of data are complex things. Cloud computing is a complex thing. Supercomputing clusters are complex things. World-spanning networks are complex things.</p>
<p>No offense intended, but the only people who think things are getting easier are people who don&#8217;t know how they work in the first place</p>
</blockquote>
<p>Also there is this&#8230;</p>
<blockquote><p>There are more software tools, programming languages, databases, report writers, operating systems, networking protocols, etc than ever before. And all these tools have a lot more features than they used to. It&#8217;s getting increasingly harder to know &quot;some&quot; of them well. Gone are the days when just knowing DOS, UNIX, MVS, VMS, and OS/400 would basically give you knowledge of 90% of the hardware running. Or knowing just Assembly/C/Cobol/C++ would allow you to read and maintain most of the source code being used. So I would argue that the need for IT staff is going to continue to increase.</p>
</blockquote>
<blockquote><p>I think the &quot;disconnect&quot; between IT and Business has a lot more to do with the fact that business &quot;knows&quot; they depend on IT, but they are frustrated that IT can&#8217;t seem to deliver what they want when they want it. On the other side, IT has to deal with more and more tools and IT staff has to learn more and more skills. And to increase frustration in IT, business users frequently don&#8217;t deliver clear requirements or they &quot;change&quot; their mind in the middle of projects&#8230;.</p>
</blockquote>
<p>So it seems that I am not alone <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I mentioned previously that more often than not, <a href="http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/" target="_blank">SQL Server is poorly maintained</a> &#8211; I see it all the time. Yet today I was speaking to a colleague who is a storage (SAN) and VMware virtualisation god. I asked him what the average VMware setup was like and his answer was similar to my SQL Server and SharePoint experience. In his experience, most of them were sub-optimally configured, poorly maintained, poorly documented and he could not provide any assurance as to the stability of the platform. </p>
<p>These sorts of quality assurance issues are rampant in application development too. I see the same thing most definitely in the security realm too.</p>
<p>As the above quote sates, &quot;it&#8217;s increasingly harder to know *some* of them well&quot;. These days I am working with specialists who live and breathe their particular discipline (such as storage, virtualisation, security or comms). Those disciplines over time grow more complex and sub-disciplines appear. </p>
<p>Pity then, the poor developer/sysadmin/IT manager who is trying to keep a handle on all of this and try to provide a decent service to their organisation! </p>
<p>Okay, so what? IT has always been complex &#8211; I sound like a Gartner cliche. What&#8217;s this got to do with SharePoint? </p>
<h2>Consequences of SharePoint complexity&#8230;</h2>
<p>SharePoint, for a number of reasons, is one of those products that has a way of really <strong>laying bare</strong> any gaps that the organisation has in terms of their overall maturity around technology and strategy.</p>
<p>Why? </p>
<p>Because it is so freakin&#8217; complex! That complexity transcends IT disciplines and goes right to the heart organisational/people issues as well. </p>
<p>It&#8217;s bad enough getting nerds to agree on something, let alone organisation-wide stakeholders!</p>
<p>Put simply, if you do a half-arsed job of putting SharePoint in, you <strong>will</strong> be punished in so many ways! The simple fact is that the <strong>odds are against you </strong>before you even start because it only takes a mistake in one particular part of the complex layers of hardware, systems, training, methodology, information architecture and governance, to devalue the whole project.</p>
<p>When I first started out, I was helping organizations get SharePoint installed. However lately I am visiting a lot of sites where SharePoint has already been installed, but it has not been a success. There are various reasons;I have cited them in detail in the <a href="http://www.cleverworkarounds.com/2008/04/11/why-do-sharepoint-projects-fail-part-1/" target="_blank">project failure</a> series, so I won&#8217;t rehash all that here. (I&#8217;d suggest reading parts <a href="http://www.cleverworkarounds.com/2008/04/19/why-do-sharepoint-projects-fail-part-3/" target="_blank">three</a>, <a href="http://www.cleverworkarounds.com/2008/04/24/why-do-sharepoint-projects-fail-part-4/" target="_blank">four</a> and <a href="http://www.cleverworkarounds.com/2008/04/27/why-do-sharepoint-projects-fail-part-5/" target="_blank">five</a> in particular). </p>
<p>I am firmly of the conclusion that much of SharePoint is more art than science, and what&#8217;s more, the organisation has to be ready to come with you. Due to differing <a href="http://www.cleverworkarounds.com/2008/06/26/thinking-sharepoint-part-2-the-unconsciously-incompetent-ikea-mecca/" target="_blank">learning styles</a> and <a href="http://www.cleverworkarounds.com/2008/05/27/why-do-sharepoint-projects-fail-part-7/" target="_blank">poor communication of strategy</a>, this is actually pretty rare. Unfortunately, IT are not the people who are well suited to &quot;getting the organisation ready for SharePoint.&quot; </p>
<p>If that wasn&#8217;t enough, then there is this question. If IT <strong>already struggle </strong>to manage the underlying infrastructure and systems that <strong>underpin</strong> SharePoint, then how can you have any assurance that IT will have a &quot;governance epiphany&quot; and start doing things the right way?</p>
<p>This translates to <strong>risk,</strong> people! I will be writing all about risk in a similar style to the <a href="http://www.cleverworkarounds.com/2007/11/17/learn-to-talk-to-your-cfo-in-their-language-part-1/" target="_blank">CFO Return on Investment series</a> very soon. I am very interested in methods to quantify the risk brought about by the complexity of SharePoint and the IT services it relies on. For me, I see a massive parallel from the complexity factor in the current financial crisis and I think that a lot can be learned from it. SOX was supposed to provide assurance and yet did nothing to prevent the current crisis. Therefore, SOX represents a great example of mis-focused governance where a lot of effort can be put in for no tangible gain.</p>
<h2>A quick test of &quot;assurance&quot;&#8230;</h2>
<p>Governance is like learning to play the guitar. It takes practice, and it does not give up its secrets easily and despite good intent, you will be crap at it for a while. It is easy to talk about, but putting it into practice is another thing. </p>
<p>Just remember this. The whole point of the exercise is to provide *assurance* to stakeholders. When you set any rule, policy, procedure, standard (or similar), just ask yourself: <em>Does this provide me the assurance I need that gives me confidence to vouch for the service I am providing? </em>Just because you may be adopting ITIL principles, does *not* mean that you are necessarily providing the right sort assurance that is required.</p>
<p>I&#8217;ll leave you with a somewhat biased, yet relatively easy litmus test that you can use to test your current level of assurance. </p>
<p>It might be simplistic, but if you are currently scared to apply a service pack to SharePoint, then you might have an assurance issue. <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>&#160;</p>
<p>Thanks for reading</p>
<p>&#160;</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/&title=Complexity+bites%3A+When+SharePoint+%3D+Risk" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/&title=Complexity+bites%3A+When+SharePoint+%3D+Risk" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/&title=Complexity+bites%3A+When+SharePoint+%3D+Risk" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/&title=Complexity+bites%3A+When+SharePoint+%3D+Risk" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2008/09/25/complexity-bites-when-sharepoint-risk/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Sometimes &quot;Microsoft bashing&quot; is justified</title>
		<link>http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/</link>
		<comments>http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 08:59:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/</guid>
		<description><![CDATA[Microsoft bashing is a favourite pastime of many a nerd. Whether it is justified or not in many cases is debatable since M$ will never please everyone. But the point is, it is cathartic and in actual fact, good therapy because venting your frustrations at Bill Gates is much healthier than at your colleagues or [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-6551570212921028";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:6";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<p>Microsoft bashing is a favourite pastime of many a nerd. Whether it is justified or not in many cases is debatable since M$ will never please everyone. But the point is, it is cathartic and in actual fact, good therapy because venting your frustrations at Bill Gates is much healthier than at your colleagues or family. </p>
<p><em>To my Microsoft employee friends reading this. Don&#8217;t feel all defensive &#8211; some of the very best Microsoft bashing I have ever heard comes from you guys anyway <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </em></p>
<p>So although sometimes the M$ bashing is completely unjustified, long shall it continue to preserve the sanity of IT professionals around the globe. </p>
<p>Having said that, on occasion you will hit some Microsoft induced pain that is legitimately and frustratingly dumb. By &quot;legitimately&quot;, I mean that you cannot say &quot;although in hindsight it was dumb, I can actually understand why they decided to do that&quot;. Instead you get caught out and experience pain and frustration simply because of a silly Microsoft oversight.</p>
<p>In this case, the oversight is with the SharePoint Configuration Wizard</p>
<p><span id="more-950"></span></p>
<h2>Domain Controllers and SharePoint</h2>
<p>I was unfortunate enough to inherit a MOSS 2007 install that had been performed on a Domain Controller and the farm was running with Domain Admin privileges. (Now this alone is not Microsoft bashworthy, as it is an administrator decision to make). Although you install SharePoint onto a domain controller, most people will tell you that it is <strong>not </strong>a best practice. <em>I&#8217;d go as far as to say it is a bloody terrible idea unless you a really small organisation. </em></p>
<p>One of the main reasons for this is because a Domain Controller has no local security groups. There is no real concept of &quot;local admin&quot; access. Instead, if you are an administrator of the domain controller, by definition you are a Domain Administrator. If you are granted privileges on the domain controller, you are granted those privileges for the entire domain.</p>
<p>Why is this a problem? A few reasons actually, but for the purposes of this article, we only have to talk about one. </p>
<p>When installed onto a member server (i.e not a Domain Controller), SharePoint creates a bunch of local security groups. This is not unusual at all, as SQL Server does exactly the same. But on a domain controller, there are no local security groups &#8211; just domain groups. Thus, the SharePoint installer figures out that it is running on a Domain Controller and changes the behaviour of the creation of those groups.</p>
<p>Normally on a member server, a SharePoint Installation would create three local groups as shown below</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2008/09/image2.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="63" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/09/image-thumb2.png" width="837" border="0" /></a> </p>
<p>In a domain controller situation, these local groups are not created because there is no concept of local security accounts. Accounts get created in Active Directory instead.</p>
<p>I mentioned earlier that SharePoint was running as domain administrator as well as installed onto a DC (talk about a double whammy!). My main motivation was to change this back to use low privileged accounts. I had created a new account to run the SharePoint farm, granted it db_creator and securityadmin privileges on the SQL Server, and added the account to the farm administrators group in SharePoint. However when I tried to change the application pool identity from the domain administrator to this account, I received the dreaded &quot;Cannot connect to configuration database&quot; error.</p>
<p>A quick scan of the logs showed that the farm account was still missing some required permissions on the server. </p>
<p><font face="Courier" size="1">887x&#160;&#160;&#160; Unexpected&#160;&#160;&#160; Can not access configuration database registry key: System.Security.SecurityException: <strong>Requested registry access is not allowed</strong>.&#160;&#160;&#160;&#160; at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)&#160;&#160;&#160;&#160; at Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString()&#160; The Zone of the assembly that failed was:&#160; MyComputer&#160;&#160;&#160;&#160;&#160; <br />88bl&#160;&#160;&#160; Monitorable&#160;&#160;&#160; An exception occured while trying to acquire the local farm: System.Security.SecurityException: Requested registry access is not allowed.&#160;&#160;&#160;&#160; at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)&#160;&#160;&#160;&#160; at Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString()&#160;&#160;&#160;&#160; at Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local()&#160;&#160;&#160;&#160; at Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm&amp; farm, Boolean&amp; isJoined)&#160; The Zone of the assembly that failed was:&#160; MyComputer&#160;&#160;&#160;&#160;&#160; <br />887x&#160;&#160;&#160; Unexpected&#160;&#160;&#160; Can not access configuration database registry key: System.Security.SecurityException: Requested registry access is not allowed.&#160;&#160;&#160;&#160; at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)&#160;&#160;&#160;&#160; at Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString()&#160; The Zone of the assembly that failed was:&#160; MyComputer&#160;&#160;&#160;&#160;&#160; <br />88bl&#160;&#160;&#160; Monitorable&#160;&#160;&#160; An exception occured while trying to acquire the local farm: System.Security.SecurityException: Requested registry access is not allowed.&#160;&#160;&#160;&#160; at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)&#160;&#160;&#160;&#160; at Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString()&#160;&#160;&#160;&#160; at Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local()&#160;&#160;&#160;&#160; at Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm&amp; farm, Boolean&amp; isJoined)&#160; The Zone of the assembly that failed was:&#160; MyComputer&#160;&#160;&#160;&#160;&#160; <br />8yr8&#160;&#160;&#160; Exception&#160;&#160;&#160; An unhandled exception has occurred. Access to the port is denied. System.UnauthorizedAccessException: Access to the port is denied.&#160;&#160;&#160;&#160; at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)&#160;&#160;&#160;&#160; at System.Threading.Semaphore..ctor(Int32 initialCount, Int32 maximumCount, String name)&#160;&#160;&#160;&#160; at Microsoft.SharePoint.Publishing.BlobCache.GetCacheTokenThreadStart()&#160;&#160;&#160;&#160; at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&#160;&#160;&#160;&#160; at System.Threading.ThreadHelper.ThreadStart()&#160;&#160;&#160;&#160; </font></p>
<p>&quot;Screw this&quot;, I said to myself at this point, &quot;I am better off *demoting* the DC back to a member server, and rerunning the SharePoint Configuration Wizard so it can reapply all of the necessary permissions required&quot;.</p>
<h2>Demoted DC &#8211; Not so wizardry&#8230;</h2>
<p>So in this site, there was actually no reason for the SharePoint server to be a domain controller. So I decided to demote the server back to a member server, and then rerun the configuration wizard.</p>
<p>The domain demotion worked fine, a reboot later and I was back as a member server.</p>
<p>I reran the SharePoint Configuration Wizard, choosing *not* to disconnect from the farm and to continue using this server as the Central Administration server. Pretty quickly the whole thing died at step 3 with the following error in the logs.</p>
<p><font face="Courier" size="1">09/15/2008 09:20:35&#160; 9&#160; INF&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; The securityGroup value is WSS_WPG      <br />09/15/2008 09:20:35&#160; 9&#160; ERR&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Task secureresources has failed with an unknown exception       <br />09/15/2008 09:20:35&#160; 9&#160; ERR&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Exception: System.Security.Principal.IdentityNotMappedException: Some or all identity references could not be translated.       <br />&#160;&#160; at System.Security.Principal.NTAccount.Translate(IdentityReferenceCollection sourceAccounts, Type targetType, Boolean forceSuccess)       <br />&#160;&#160; at System.Security.Principal.NTAccount.Translate(Type targetType)       <br />&#160;&#160; at System.Security.AccessControl.CommonObjectSecurity.ModifyAccess(AccessControlModification modification, AccessRule rule, Boolean&amp; modified)       <br />&#160;&#160; at System.Security.AccessControl.CommonObjectSecurity.AddAccessRule(AccessRule rule)       <br />&#160;&#160; at Microsoft.SharePoint.PostSetupConfiguration.ResourceAccess.SetRegistryAccessRule()       <br />&#160;&#160; at Microsoft.SharePoint.PostSetupConfiguration.ResourceAccess.Secure()       <br />&#160;&#160; at Microsoft.SharePoint.PostSetupConfiguration.SecurityTask.SecureResources()       <br />&#160;&#160; at Microsoft.SharePoint.PostSetupConfiguration.SecurityTask.Run()       <br />&#160;&#160; at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()</font></p>
<p>After some pondering, I realised the problem. The first line of the above log gives a big hint. Something went awry with the group WSS_WPG. </p>
<p>Of course! We just demoted a domain controller, back to a member server. Because SharePoint was installed when the machine was a domain controller the local group WSS_WPG <strong>does not exist</strong>. So I created this group and reran the configuration wizard. Sure enough we got further (but it still died as I expected it to).</p>
<p><font face="Courier" size="1">09/15/2008 09:31:18&#160; 9&#160; INF&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; The securityGroup value is WSS_ADMIN_WPG      <br />09/15/2008 09:31:18&#160; 9&#160; ERR&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Task secureresources has failed with an unknown exception       <br />09/15/2008 09:31:18&#160; 9&#160; ERR&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Exception: System.Security.Principal.IdentityNotMappedException: Some or all identity references could not be translated.       <br /></font></p>
<p>Aha, WSS_ADMIN_WPG group also needs to be created. So I created this local group also and ran the wizard for a third time. This time we made it all the way to step 6 before another fatal error. This time the message and code is different to the first two.</p>
<p><font face="Courier">09/15/2008 09:34:22&#160; 9&#160; ERR&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Task adminvs has failed with an unknown exception      <br />09/15/2008 09:34:22&#160; 9&#160; ERR&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Exception: System.InvalidOperationException: 2220       <br />&#160;&#160; at Microsoft.SharePoint.Win32.SPNetApi32.NetLocalGroupSetMember(String groupName, String userName)       <br />&#160;&#160; at Microsoft.SharePoint.Administration.SPProvisioningAssistant.SetGroupMember(String username, Int32 group)       <br />&#160;&#160; at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionProcessIdentity(String strUserName, SecureString secStrPassword, IdentityType identityType, Boolean isAdminProcess, Boolean isWindowsService, String strServiceName, Boolean dontRestartService)       <br />&#160;&#160; at Microsoft.SharePoint.Administration.SPProcessIdentity.ProvisionInternal(SecureString sstrPassword, Boolean isRunningInTimer)       <br />&#160;&#160; at Microsoft.SharePoint.Administration.SPApplicationPool.ProvisionInternal(SecureString sstrPassword)       <br />&#160;&#160; at Microsoft.SharePoint.Administration.SPApplicationPool.Provision()       <br />&#160;&#160; at Microsoft.SharePoint.Administration.SPWebServiceInstance.Provision()       <br />&#160;&#160; at Microsoft.SharePoint.PostSetupConfiguration.CentralAdministrationSiteTask.ProvisionAdminVs()       <br />&#160;&#160; at Microsoft.SharePoint.PostSetupConfiguration.CentralAdministrationSiteTask.Run()       <br />&#160;&#160; at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()</font></p>
<p>This error proved harder to crack, because in all of their wisdom, the engineers behind this part of the Configuration Wizard neglected to mention the name of the group that was causing this problem with the NetLocalGroupSetMember function. I had to look at another SharePoint install to see what was missing.</p>
<p>As it happened, it was the WSS_RESTRICTED_WPG group. Once I manually added this local group to the server, the Configuration Wizard successfully completed.</p>
<h2>And it was good&#8230; Not!</h2>
<p>Although the configuration wizard completed successfully, my troubles were not over. I created a new AD account to run the SharePoint farm. This account had no domain level privileges apart from being a regular domain user account. </p>
<p>On the SQL Server (thankfully a separate box) I added this account as a login, and granted it the <strong>dbcreator</strong> and <strong>securityadmin</strong> server roles (minimum privileges required for a farm account).</p>
<p>Back on the newly demoted member server, I added this account to the WSS_ADMIN_WPG and WSS_RESTRICTED_WPG groups. I then added this account to the &quot;Farm Administrators&quot; group inside SharePoint Central Administration. (Operations-&gt;Update Farm Administrators group)</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2008/09/image3.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="355" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/09/image-thumb3.png" width="486" border="0" /></a> </p>
<p>Finally, I used the STSADM command &quot;updatefarmcredentials&quot; to change the farm account from the domain administrator to my newly created farm account.</p>
<p><font face="Courier">C:\stsadm -o updatefarmcredentials -userlogin MYDOMAIN\MOSS.Farm -password MyPassWord</font></p>
<p>I then browsed to the SharePoint Central Administration site.</p>
<p>GONG! Erorrs! A quick check of the eventlogs and what do we see? Seems the new account does not have enough rights to run SharePoint. Dammit! Despite the configuration wizard (and in particular step 3) applying various permissions to the server, it seems like we still have some work to do.</p>
<p>The first log was event ID 5021.</p>
<p><font face="Courier">Event ID:&#160;&#160;&#160;&#160;&#160; 5021      <br />Description:       <br />The identity of application pool SharePoint Central Administration v3 is invalid. The user name or password that is specified for the identity may be incorrect, or the user may not have batch logon rights. If the identity is not corrected, the application pool will be disabled when the application pool receives its first request.&#160; If batch logon rights are causing the problem, the identity in the IIS configuration store must be changed after rights have been granted before Windows Process Activation Service (WAS) can retry the logon. If the identity remains invalid after the first request for the application pool is processed, the application pool will be disabled. The data field contains the error number.       <br /></font></p>
<p>The above message talked about batch logon rights. I guess because I chose not to disconnect from the server farm when I re-ran the configuration wizard, I wasn&#8217;t asked to confirm the farm account to use. Therefore the wizard made no attempt to grant the farm account the local security policy right to log on as a batch job.</p>
<p>The next event log entry was 1309.</p>
<p><font face="Courier">Event ID:&#160;&#160;&#160;&#160;&#160; 1309      <br />Description:       <br />Event code: 3005       <br />Event message: An unhandled exception has occurred.       <br />Event time: 15/09/2008 1:56:54 PM       <br />Event time (UTC): 15/09/2008 5:56:54 AM       <br />Event ID: 07afc239d8df4a13b10a19c3e026e979       <br />Event sequence: 2       <br />Event occurrence: 1       <br />Event detail code: 0       <br />Application information:       <br />&#160;&#160;&#160; Application domain: /LM/W3SVC/1926590645/ROOT-1-128659318128622880       <br />&#160;&#160;&#160; Trust level: WSS_Minimal       <br />&#160;&#160;&#160; Application Virtual Path: /       <br />&#160;&#160;&#160; Application Path: C:\inetpub\wwwroot\wss\VirtualDirectories\38138\       <br />&#160;&#160;&#160; Machine name: SHAREPOINT       <br />Process information:       <br />&#160;&#160;&#160; Process ID: 3456       <br />&#160;&#160;&#160; Process name: w3wp.exe       <br />&#160;&#160;&#160; Account name: MYDOMIN\MOSS.farm       <br />Exception information:       <br />&#160;&#160;&#160; Exception type: COMException       <br />&#160;&#160;&#160; Exception message: Either a required impersonation level was not provided, or the provided impersonation level is invalid. (Exception from HRESULT: 0&#215;80070542)       <br /></font></p>
<p>The exception message here talks about impersonation. The most logical local security policy right is &quot;Impersonate a client after authentication&quot;. So I granted the farm account this right and the above exception went away.</p>
<p>In the end I compared the local security policy rights with a known good SharePoint install and noted that the farm account had the following local security policy rights.</p>
<ul>
<li>Log on as a batch job </li>
<li>Log on as a service </li>
<li>Impersonate a client after authentication </li>
</ul>
<p>Alas I was still not done! It turned out that some file-system and registry permissions were also required. Since the WSS_ADMIN_WPG and WSS_WPG groups did not exist when SharePoint was first installed, no permission changes were made to the 12 hive, the inetpub folder, or the registry. So I had to manually put these permissions back in, utilising a known good server as a reference.</p>
<p>I ended up modifying permissions for WSS_ADMIN_WPG and WS_WPG in two locations on the server.</p>
<ul>
<li>Permissions on C:\inetpub\wwwroot </li>
<li>Permissions on 12 Hive (C:\program files\common files\microsoft shared\web server extensions\12) </li>
</ul>
<p>I also had to modify permissions to one particular registry key for WSS_ADMIN_WPG</p>
<ul>
<li>HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Secure\configdb </li>
</ul>
<p>The key in particular that we needed access to was DSN. This hey holds the location of the farm configuration database.</p>
<p>Finally, after much teeth gnashing and grumbling about Bill Gates, we are working!</p>
<h2>Let the bashing begin&#8230;</h2>
<p>Running the SharePoint configuration wizard is possibly the most important activities that you will do as an administrator of a SharePoint farm. It is not a once off thing either. Service Packs, Infrastructure updates, hotfixes and the like all require the wizard to be re-run on every server in the farm. </p>
<p>Therefore, this thing has to be <strong>rock solid</strong> and not trip up. If you are half way through a service pack and this thing burps on something silly and trivial, then you are likely in for some serious pain. </p>
<p>My problems stemmed from the fact that the wizard *assumes* that the local WSS_* groups already exist and that certain permissions are already in place. In the scenario that I encountered, it is clear that this assumption does not always hold true. Therefore the wizard should detect this and rectify the situation, rather than bomb out with a runtime error and a stacktrace!</p>
<p>I have manually gotten things working again but what assurance do I have that I have caught everything? The annoying thing is that this is such a trivial thing to check for and fix. If the required groups so not exist, then create them! Sheesh!</p>
<p>Furthermore, how about showing some meaningful information in the logs? At least the first two log entries showed me the name of the group that I was having a problem with. Not so on the third error. You would think that as a developer that if you are going to make a call to a function called &quot;NetLocalGroupSetmember&quot;, that someone debugging would like to know the name of the group that you are trying to use??? I had to make an educated guess as to the cause of that one. The first two had the friendly message &quot;The securityGroup value is &lt;groupname&gt;&quot; so I had a fighting chance. <em>You can sooo tell when different developers have worked on different bits! Gotta love consistency!</em></p>
<p>Furthermore, the configuration wizard should check that the farm account has the appropriate local privileges on the server. In my case, despite using the STSADM -o&#160; updatefarmcredentials, it seems that the local security rights needed by the new farm account wasn&#8217;t set and nor were registry and file level permissions. Why not? It would not be hard to make the check and rectify if things are not set up as expected!</p>
<h2>Conclusion</h2>
<p>If anybody says to me &quot;Well why not just reinstall SharePoint and reconnect the content databases&quot;? On the surface of it, it seems like a fairly logical thing to do. After all, reinstalling the product to a new farm would ask you for a farm account, create the necessary local groups and set the various correct permissions.</p>
<p>The answer is that the SharePoint database schema changes with hotfixes and service packs. A uninstall and reinstall would only work if you knew the exact patchlevel of the SharePoint that you uninstalled and patched the reinstallation to the same level. Failure to do this and you will hit the dreaded &quot;&#8220;Your backup is from a different version of Windows SharePoint Services and cannot be restored to a server running the current version.&#8221; message. If you hit that then you have the equally fun task of trying to determine exactly which combination of Service Pack and/or Hotfix is required.</p>
<p>Think that through for a second and then consider this rhetorical question&#8230; Do you think that an administrator who installs MOSS 2007 onto a Domain controller as Domain Admin is likely to keep configuration management notes of all of the patches or service packs applied to SharePoint? </p>
<p>Need I answer? <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>thanks for reading</p>
<p>Paul Culmsee</p>
<p> <script type="text/javascript"><!--
google_ad_client = "pub-6551570212921028";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_ui_features = "rc:6";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/&title=Sometimes+%26quot%3BMicrosoft+bashing%26quot%3B+is+justified" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/&title=Sometimes+%26quot%3BMicrosoft+bashing%26quot%3B+is+justified" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/&title=Sometimes+%26quot%3BMicrosoft+bashing%26quot%3B+is+justified" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/&title=Sometimes+%26quot%3BMicrosoft+bashing%26quot%3B+is+justified" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2008/09/16/sometimes-microsoft-bashing-is-justified/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>SQL God? No&#8230; I just know how to do a maintenance plan</title>
		<link>http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/</link>
		<comments>http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 20:47:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Governance]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[maintenance plans]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/</guid>
		<description><![CDATA[&#160; I am working on an essay about IT complexity at the moment, and one thing that sprung into my mind while thinking about this, is the fact that many of my clients seem to think I am some sort of SQL Server guru. There are two sad realities inferred by this. Firstly, I am [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p><!--adsense-->
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image28.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="243" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image-thumb29.png" width="244" border="0" /></a>&#160; </p>
<p>I am working on an essay about IT complexity at the moment, and one thing that sprung into my mind while thinking about this, is the fact that many of my clients seem to think I am some sort of SQL Server guru. </p>
<p>There are two sad realities inferred by this. </p>
<p>Firstly, I am far from a SQL Server god. Yes I have experience with it, but the only reason people think I&#8217;m any good at it stems from the general lack of knowledge that they have about the product. Often all I have to do is waltz in with my Michael Buble like smooth charm and recommend a maintenance plan be set up and I am instantly the guy to talk to in all things SQL. </p>
<p>The truth of the matter is that I&#8217;m not fit to lick the boots of a skilled DBA. But like all former system administrators/infrastructure managers who have had to deal with the pressure and consequences of downtime, irrespective of the product, I developed a reflex to learn what I need to to cover my butt. Often I didn&#8217;t care less how a product operated from the end-user perspective. All I cared about was how it hung together so I could recover it when it inevitably failed in some way.</p>
<p><span id="more-936"></span></p>
<p>The second sad reality, is that a large percentage of sites that I visit, have poorly configured SQL Server boxes on a number of levels. This isn&#8217;t necessarily the fault of the overworked support staff as SQL Server is just one of the many IT devices and services that they have to maintain and they are simply too stretched to give SQL the sort of attention it needs. </p>
<h2>Sad reality = Risk to the organisation</h2>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image29.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="258" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image-thumb30.png" width="465" border="0" /></a></p>
<p>SQL Server underpins many products in the Microsoft ecosystem and often many 3rd party products ship with the free edition of SQL Server as a back-end data store. I suspect that this results in many administrators simply leaving SQL Server to &quot;do its thing&quot; and focus higher up (or lower down) the application stack. (Developers often make the same mistake too and write poorly optimised SQL code).</p>
<p><em>The thing that sucks about being a system administrator or infrastructure person is that when things are going well, you are essentially invisible to the success of the organisational machine. Then when something goes down, people scream at you to get it back again. Many system administrators are also perpetually busy, and therefore it is common to see corners cut in terms of overall quality around infrastructure management.</em></p>
<p>The reality for most organisations is that SQL Server is likely to be one of your most critical components its infrastructure even before SharePoint is added to the mix. It likely underpins various line of business tools, and a prolonged outage is likely to hurt. But to paint with a *really* generalised brush, users still spend a lot of their time working with stuff on the traditional file server and email. So if a line of business application is down due to a dead SQL box, one could argue that your user base is still somewhat productive if file/print and email still works.</p>
<p>But as soon as you add SharePoint to the SQL equation (and especially if you use SharePoint in a document central collaboration scenario), then SQL becomes a real focal-point. Now if SQL goes down, you are down to basic email because you have lost a core component that provides your file services, as well as your line of business applications. If you view this from a productivity standpoint, then the cost of downtime is now significantly higher as a result.</p>
<h2>Be Afraid&#8230;</h2>
<p>In my travels, I have consulted to and work with quite a variety of organisations, large and small, across most vertical markets and in various regional (and worldwide) locations. Despite the variety of organisations, I see the same sort of stuff over and over again. In fact, seeing a well set-up and managed SQL Server is really the exception rather than the norm. </p>
<p>Examples of the problems that I commonly see around SQL are:</p>
<p><strong>Administrator/sa privilege abuse</strong></p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image30.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="149" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image-thumb31.png" width="116" border="0" /></a> </p>
<p>This issue comes in two forms. The first one is when all of the SQL Service accounts run using an account with &quot;local administrator&quot;, or worse, &quot;Domain Administrator&quot; privilege. </p>
<p>The second form is when applications access databases using the &#8216;sa&#8217; account or a local/domain administrative account. </p>
<p>Both of these drive me nuts because it either reflects a lack of security awareness or a poor security posture. Unsurprisingly perhaps, when I find this setting at client sites, there is a very good chance that the SharePoint service accounts (and many other services) also run with far too much privilege. Perhaps the effects of <a href="http://en.wikipedia.org/wiki/SQL_slammer_(computer_worm)" target="_blank">SQL Slammer</a> has been long forgotten eh? </p>
<p>In any event, the risk profile for this sort of setup for me jumps significantly, not because I believe that the SQL box is about to be hacked, but because it tells me so much more about the organisations awareness and acumen around the value of their information assets. Adding SharePoint to this mix? Sheesh! Why not attend a Michael Bolton concert instead? Both will hurt you, but the latter you can recover from.</p>
<p><strong>No maintenance plans (or ancient ones)</strong></p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image31.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image-thumb32.png" width="244" border="0" /></a> </p>
<p><em>&#8230;and people wonder why it&#8217;s slow.</em> </p>
<p>This is a very serious issue, and I would have to say that more than half of the sites that I visit do not have any SQL Server maintenance plans.</p>
<p>If you are responsible for maintaining a SharePoint or SQL infrastructure and do not know what a maintenance plan is, then in all seriousness, I urge you to <a href="http://www.mssqltips.com/tip.asp?tip=1094" target="_blank">read up</a> on them and check the example screengrab below. As I mention in <a href="http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/" target="_blank">this article</a>, maintenance plans are the SQL equivalent of your very own personal fitness trainer who makes sure that you go to the gym, do your push-ups and maintain a healthy lifestyle. You use maintenance plans to perform integrity checks of your databases, optimise their performance, run backups and various other tasks. A SQL Server without a maintenance plan is like the band Queen without Freddie Mercury. Sure it will keep going, but it will provide a sub-optimal user experience.</p>
<p><img alt="View of Maintenance Plan in SSMS" src="http://www.mssqltips.com/tipimages/1094_SSMSplanview.gif" /></p>
<p>The other big problem area is where there actually *are* maintenance plans, but they were set up in an age before time and have gathered dust ever since. They typically do not reflect current reality and more recent databases are not included in it. Often, although defined, they do not run because service accounts have changed, or the SQL Agent is stopped. This scenario is arguably worse that no maintenance plan at all, as it can lead to a false sense of security.</p>
<p><strong>General &quot;Baggage&quot;</strong> </p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image32.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="216" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image-thumb33.png" width="244" border="0" /></a> </p>
<p>Another huge issue that I see all to often is &quot;baggage&quot;. Often I am called in to manage a collaborative SharePoint implementation and the &quot;SQL box&quot; underpinning this critical service is in a mess from years of neglect and the client expects to drop SharePoint onto it. Typical examples? How about when SQL Server has a large list of databases, that nobody can identify, due to poor naming and a lack of change control/configuration management. Often I will see databases that were &#8216;temporarily&#8217; created for a restore operation &#8211; only the restore was in 2006 and the database has sat there ever since. </p>
<p>Another telltale sign of baggage is to count the number of SQL jobs defined on the server. If there are none at all, then you know its a potentially suspect install. But if there are dozens of them in an error state with ambiguous names that make it difficult to work out what they actually do, then you know it is <strong>totally</strong> a suspect install! So often do I see SQL jobs listed that have long failed with no-one noticing because operators and alerts have not been set up (which I will get to next). </p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image33.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="123" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image-thumb34.png" width="401" border="0" /></a> </p>
<p>Another common occurrence I see in relation to failed database jobs is because they are set to run using the credentials of *end-users*, often developers. The very fact that jobs are defined using the personal account of a user implies that the user has some degree of privileged access to SQL Server. Of course, these same people will change their passwords 6 weeks later and then wonder why their account gets locked out from time to time because the job they set-up is long forgotten yet trying to execute in vain on its schedule.&#160; </p>
<p>One has to ask, would you trust your SharePoint service (and potentially your business) to a server in such a state? SharePoint database tend to be pretty darn big compared to most databases and if it is clear the SQL box has been poorly managed until now, what sort of assurance is there that it will be managed any better going forward? </p>
<p><strong>No alerting or decent logging</strong></p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image34.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="198" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image-thumb35.png" width="244" border="0" /></a> </p>
<p>SQL is perfectly capable of providing very detailed auditing, logging and alerting of problems and exception type conditions. But in my experience, it is very rare to see Database Mail and SQL Operators/Alerts set up. </p>
<p>At the very least, if a maintenance plan job fails (such as a database integrity check), you would think it would be prudent to be informed about it no? </p>
<p>So if you have never set up operators and alerts, then do yourself a favour and make sure that any alert with a severity of 16 and up is sent to an operator as this indicates a backup failure. In fact, any alerts from severity 16 and up should ideally be alerted to an operator as the general rule is the higher the severity, the nastier the error.</p>
<p>For a good write-up of the steps to enable email notification, operators and alerts, I recommend <a href="http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1213521,00.html#" target="_blank">Jeremy Kadlec&#8217;s article</a>.</p>
<p><strong>Never tested SQL backup agent </strong></p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image35.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="208" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/08/image-thumb36.png" width="204" border="0" /></a> </p>
<p>Okay I will admit it. I don&#8217;t trust backup agents. At various points in my dim, dark past I have been burnt by backup agents behaving badly. I still use them and test them out of course. However, past experience has taught me to always adhere to the principle of giving myself as many options as possible in the event of a disaster recovery situation. </p>
<p>Unfortunately, it is not hard to find backup/recovery horror stories where backups failures have gone unnoticed for months, only to be found the hard way (i.e when a catastrophic failure hits and a restore is needed). As recently as last month I was called in to a catastrophic restore situation where the much touted (and expensive) enterprise backup software failed to restore a SharePoint web application via its native (and untested) SharePoint agent. The backup software failed with a cryptic code and an even more cryptic log file. Fortunately for all concerned, I had previously set up a maintenance plan at this site and restored it the old fashioned <strong>simple</strong> way.</p>
<p>Moral? Assume nothing! Always test your backup to make sure that a restore works and that the process is documented.</p>
<h2>Be your own SQL god!</h2>
<p>There are other areas to look at too, but I have listed enough for you to get the idea. So remember, if you want to be considered a &quot;SQL god&quot; and be cool, then heed my advice. Take a good look at your SQL box. Drop in a maintenance plan or two and just like me, people will think you are some sort of genius <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<p>CISSP, MCSE, &quot;SQL God&quot;, MCT</p>
</p>
<p> <!--adsense--></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/&title=SQL+God%3F+No%26%238230%3B+I+just+know+how+to+do+a+maintenance+plan" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/&title=SQL+God%3F+No%26%238230%3B+I+just+know+how+to+do+a+maintenance+plan" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/&title=SQL+God%3F+No%26%238230%3B+I+just+know+how+to+do+a+maintenance+plan" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/&title=SQL+God%3F+No%26%238230%3B+I+just+know+how+to+do+a+maintenance+plan" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2008/08/30/sql-god-no-i-just-know-how-to-do-a-maintenance-plan/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Good advice hidden in the Infrastructure Update</title>
		<link>http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/</link>
		<comments>http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 08:41:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/</guid>
		<description><![CDATA[I guess the entire SharePoint world now is aware of the post SP1 &#34;Infrastructure updates&#34; put out by Microsoft recently. Probably the best thing about them are that the flaky &#34;content deployment&#34; feature has had some serious work done on it. (My advice has always been use with extreme caution or avoid it, but now [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p><!--adsense-->
<p>I guess the entire SharePoint world now is aware of the post SP1 &quot;Infrastructure updates&quot; put out by Microsoft recently. Probably the best thing about them are that the flaky &quot;content deployment&quot; feature has had some serious work done on it. (My advice has always been use with extreme caution or avoid it, but now I will have to reassess).</p>
<p>Anyway, that is not what I am writing about. Being a former IT Security consultant, I have always installed SharePoint in a &quot;least privilege&quot; configuration. I use different service accounts for search, farm, SSP, reporting services and web applications. The farm account in particular, is one that needs to be very carefully managed given its control over the heart of SharePoint &#8211; the configuration database.</p>
<p>Specifically, the farm account never should have any significant rights on <strong>any</strong> SharePoint farm server, over and above what it minimally needs (which is some SQL Server rights and some <a href="http://www.cleverworkarounds.com/2007/10/25/dcom-fun-with-sharepoint/" target="_blank">DCOM permission</a> stuff). For what it&#8217;s worth, I do not use the Network Service account either, as it is actually <a href="http://www.cleverworkarounds.com/2008/04/21/clever-very-clever-but-bad-all-the-same/\" target="_blank">more risky</a> than a low privileged domain or local user account.</p>
<p><em>Developers on the other hand tend to run their boxes as full admin. I have no problem with this, so long as there is a QA or test server that is running least privilege. </em></p>
<p>However, as always with tightening the screws, there are some potential side effects in doing this. There are occasions when the farm account actually needs to perform a task that requires higher privileges, over and above what it has by default. Upgrading SharePoint from a standard to enterprise license is one such example, and it seems that performing the infrastructure update may be another.</p>
<p>If you take the time to read the installation instructions for the infrastructure update, there is this gem of advice:</p>
<blockquote><p>To ensure that you have the correct permissions to install the software update and run the SharePoint Products and Technologies Configuration Wizard, we recommend that you add the account for the SharePoint Central Administration v3 application pool identity to the Administrators group on each of the local Web servers and application servers and then log on by using that account</p>
</blockquote>
<p>You may wonder why this even matters? After all, it is exceedingly likely that you logged into the server as an administrator or domain administrator anyway. Surely you have all the permission that you need, right?</p>
<p>The answer is that <strong>not all update tasks are run by your logged-in account</strong>. Although you start the installation using your account, at a certain point during the install, many tasks are performed by the SharePoint Central Administration application. Thus, despite <strong>you</strong> having administrative permissions, SharePoint (using the farm account) will not have.</p>
<p>So the advice above essentially says, temporarily add the SharePoint farm account to the local administrators group and then log into the server as that user account. Now perform the action as instructed. That way the account that starts the installation is the same account that runs SharePoint and thus we know that we are using the correct account with the correct server privileges.</p>
<p>Once the installation has been completed, you can log out of the farm account and then revoke its administrator access, and we are back to the original locked down configuration.</p>
<p>So keep this in mind when performing farm tasks that are likely to require some privileges at the operating system level. It is a good habit to get into (provided you remember to lock down permissions afterwards <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ).</p>
<p>Cheers</p>
<p>Paul</p>
<p> <!--adsense--></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/&title=Good+advice+hidden+in+the+Infrastructure+Update" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/&title=Good+advice+hidden+in+the+Infrastructure+Update" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/&title=Good+advice+hidden+in+the+Infrastructure+Update" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/&title=Good+advice+hidden+in+the+Infrastructure+Update" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2008/07/19/good-advice-hidden-in-the-infrastructure-update/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Office Server Search memory leak and stuck on &quot;crawling&quot;</title>
		<link>http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/</link>
		<comments>http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 13:18:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/</guid>
		<description><![CDATA[It is the typical scenario isn&#8217;t it. Site works fine for a week and then is officially launched on a Monday morning and the site breaks after an hour complaining that it cannot connect to the configuration database. Whoa? The SQL Server was checked and confirmed to be running fine, and in checking the SharePoint [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p><!--adsense-->
<p>It is the typical scenario isn&#8217;t it. Site works fine for a week and then is officially launched on a Monday morning and the site breaks after an hour complaining that it cannot connect to the configuration database. Whoa?</p>
<p>The SQL Server was checked and confirmed to be running fine, and in checking the SharePoint web front end server I I noticed was MSSEARCH.EXE was chewing memory at a rapid rate of knots. Checking the event logs showed up a steady sequence of event ID 7888, 10036 and 3355 messages. Later I noticed that the search crawl was stuck on &quot;Crawling&quot;.</p>
<p>If you search on this topic, many people recommend recreating your Shared Service Provider. In this case, this is unnecessary (not to mention drastic).</p>
<p>It turned out to be an unfortunate combination of factors.</p>
<ul>
<li>The client was using SQL Server 2005 with SP1 </li>
<li>The client had a SQL Server maintenance plan with a &quot;rebuild index&quot; task. </li>
</ul>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2008/07/image.png"><img style="border-right: 0px; border-top: 0px; margin: 0px 0px 0px 20px; border-left: 0px; border-bottom: 0px" height="404" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2008/07/image-thumb.png" width="479" align="right" border="0" /></a>Non SQL reader? Maintenance plans are a &quot;good thing&quot;. Think of it as a fitness regime for your SQL Server. You can regularly perform integrity checks, tasks to optimise performance, run backups and the like. A screenshot of a basic SQL2005 maintenance plan is to the right.</p>
<p>As it turns out, my client ran a maintenance plan each Sunday (hence why this broke on the Monday of go-live). It also turns out that the &quot;<a href="http://msdn.microsoft.com/en-us/library/ms180074.aspx" target="_blank">rebuild index</a>&quot; maintenance plan task in SQL Server prior to SP2 has a teeny weenie problem. (By &quot;rebuilding&quot; an index, we mean that it is in effect, deleting and recreating it again).</p>
<p>When rebuilt, various options set on the indexes are not recreated <strong>the same way as they were originally created</strong>. As you may have guessed, this is extremely uncool, since SharePoint set various indexes in a certain way, it expects things to remain consistent.</p>
<p>There is a KB that you can read all about it here.</p>
<p><a title="http://support.microsoft.com/kb/930887/en-us" href="http://support.microsoft.com/kb/930887/en-us">http://support.microsoft.com/kb/930887/en-us</a></p>
<p>Also, another great blog post about the issue is here:</p>
<p><a href="http://blogs.vertigo.com/personal/michael/Blog/Lists/Posts/Post.aspx?ID=4">http://blogs.vertigo.com/personal/michael/Blog/Lists/Posts/Post.aspx?ID=4</a></p>
<p>Some of effects of this dodgily recreated index are listed in the KB article, including:</p>
<ol>
<li>In Shared Services, the &quot;indexing status&quot; remains stuck in the &quot;Crawling&quot; state</li>
<li>The number of handles that are opened by the MSSearch.exe process increases</li>
<li>The number of TCP connections to the computer that is running SQL Server increases</li>
<li>Several error are recorded in the SharePoint logfiles.</li>
</ol>
<ul>
<li>&quot;SqlCrawl::ExecuteCommand fails Error 0x80040e2f&quot; </li>
<li>CGathererQueueManager::FlushQueue failed with recoverable error 0x80040e2f</li>
<li>CGathererFilterSink::CommitLinks : pGatherAddLink-&gt;AddLinkComplete error=0x80040e2f </li>
</ul>
<p>Additionally, in my case, MSSEARCH.EXE leaked memory very rapidly when viewed in Task Manager and I received the event logs as shown at the end of this post.</p>
<p>To resolve it, follow the instructions at <a href="http://blogs.vertigo.com/personal/michael/Blog/Lists/Posts/Post.aspx?ID=4" target="_blank">Michael&#8217;s</a> blog as the KB article is poorly written, but <strong>make sure that you do it for all tables as listed in the KB article! </strong>Michael&#8217;s post only covers 2 indexes and there actually are more in the search database as shown below.</p>
<div id="gsfx_brnd_CenterContent">
<table cellspacing="0" cellpadding="2" width="484" border="0">
<tbody>
<tr>
<td valign="top" width="229">Table</td>
<td valign="top" width="250">Index</td>
</tr>
<tr>
<td valign="top" width="229">MSSAlertDocHistory</td>
<td valign="top" width="250">IX_AlertDocHistory</td>
</tr>
<tr>
<td valign="top" width="229">MSSAnchorChangeLog</td>
<td valign="top" width="250">IX_MSSAnchorChangeLog</td>
</tr>
<tr>
<td valign="top" width="229">MSSAnchorPendingChangeLog</td>
<td valign="top" width="250">IX_MSSAnchorPendingChangeLog</td>
</tr>
<tr>
<td valign="top" width="229">MSSCrawlChangedSourceDocs</td>
<td valign="top" width="250">IX_MSSCrawlChangedSourceDocs</td>
</tr>
<tr>
<td valign="top" width="229">MSSCrawlChangedTargetDocs</td>
<td valign="top" width="250">IX_MSSCrawlChangedTargetDocs</td>
</tr>
<tr>
<td valign="top" width="229">MSSCrawledPropSamples</td>
<td valign="top" width="250">IX_MSSCrawledPropSamplesByDocid</td>
</tr>
<tr>
<td valign="top" width="229">MSSCrawlErrorList</td>
<td valign="top" width="250">IX_MSSCrawlErrorList_hrResult</td>
</tr>
<tr>
<td valign="top" width="229">MSSCrawlHostList</td>
<td valign="top" width="250">IX_MSSCrawlHostList_Name</td>
</tr>
<tr>
<td valign="top" width="229">MSSCrawlQueue</td>
<td valign="top" width="250">IX_MSSCrawlQueue</td>
</tr>
<tr>
<td valign="top" width="229">MSSDocSdids</td>
<td valign="top" width="250">IX_MSSDocSdids</td>
</tr>
</tbody>
</table>
<p>Hope this helps someone</p>
<p>Paul</p>
<p>Error log entries below for the google crawler. You can stop reading now! <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong></strong></p>
</p></div>
<ul>
<li>Event Type:&#160;&#160;&#160;&#160;&#160; Error </li>
<li>Event Source:&#160;&#160; Office SharePoint Server </li>
<li>Event Category:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Office Server General </li>
<li>Event ID:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 7888 </li>
<li>Date:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1/07/2008 </li>
<li>Time:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 12:03:03 PM </li>
<li>User:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; N/A </li>
<li>Computer:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MyServer </li>
</ul>
<p>Description:</p>
<p>Message: A connection was successfully established with the server, but then an error occurred during the pre-login handshake.&#160; When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 0 &#8211; No process is on the other end of the pipe.)</p>
<p>&#160;</p>
<ul>
<li>Event Type:&#160;&#160;&#160;&#160;&#160; Error </li>
<li>Event Source:&#160;&#160; Office Server Search </li>
<li>Event Category:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Gatherer </li>
<li>Event ID:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 10036 </li>
<li>Date:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1/07/2008 </li>
<li>Time:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 12:03:38 PM </li>
<li>User:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; N/A </li>
<li>Computer:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MyServer </li>
</ul>
<p>Description:</p>
<p>A database error occurred.</p>
<p>Source: Microsoft OLE DB Provider for SQL Server</p>
<p>Code: 17 occurred 1 time(s)</p>
<p>Description: [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.</p>
<p>&#160;</p>
<ul>
<li>Event Type:&#160;&#160;&#160;&#160;&#160; Error </li>
<li>Event Source:&#160;&#160; Windows SharePoint Services 3 </li>
<li>Event Category:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Database </li>
<li>Event ID:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 3355 </li>
<li>Date:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1/07/2008 </li>
<li>Time:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 12:04:08 PM </li>
<li>User:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; N/A </li>
<li>Computer:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MyServer </li>
</ul>
<p>Description:</p>
<p>Cannot connect to SQL Server. MyServer not found. Additional error information from SQL Server is included below.</p>
<p>[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.</p>
<ul>
<li>Event Type:&#160;&#160;&#160;&#160;&#160; Error </li>
<li>Event Source:&#160;&#160; Office SharePoint Server </li>
<li>Event Category:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Office Server Shared Services </li>
<li>Event ID:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 6482 </li>
<li>Date:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1/07/2008 </li>
<li>Time:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 12:05:12 PM </li>
<li>User:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; N/A </li>
<li>Computer:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MyServer </li>
</ul>
<p>Description:</p>
<p>Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (009e9001-5c8f-4705-9b4d-ee514c442fc7).</p>
<p>Reason: Exception from HRESULT: 0x80040D1B</p>
<p>Techinal Support Details:</p>
<p>System.Runtime.InteropServices.COMException (0x80040D1B): Exception from HRESULT: 0x80040D1B</p>
<p>&#160;&#160; at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.SynchronizeDefaultContentSource(IDictionary applications)</p>
<p>&#160;&#160; at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.Synchronize()</p>
<p>&#160;&#160; at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)</p>
<p>For more information, see Help and Support Center at <a href="http://go.microsoft.com/fwlink/events.asp">http://go.microsoft.com/fwlink/events.asp</a>.</p>
<p>07/01/2008 12:25:01.85 mssearch.exe (0x0E20)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0x0E38 Search Server Common&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; GathererSql&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Monitorable&#160;&#160;&#160;&#160;&#160;&#160; CSqlCrawl::ExecuteCommand fails Error 0x80040e2f &#8211; File:d:\office\source\search\search\gather\server\gathersql.cxx Line:407&#160;</p>
<p><!--adsense--></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/&title=Office+Server+Search+memory+leak+and+stuck+on+%26quot%3Bcrawling%26quot%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/&title=Office+Server+Search+memory+leak+and+stuck+on+%26quot%3Bcrawling%26quot%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/&title=Office+Server+Search+memory+leak+and+stuck+on+%26quot%3Bcrawling%26quot%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/&title=Office+Server+Search+memory+leak+and+stuck+on+%26quot%3Bcrawling%26quot%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2008/07/09/office-server-search-memory-leak-and-stuck-on-crawling/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

