<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Keith Richie : Understanding SharePoint</title><link>http://blogs.msdn.com/krichie/archive/tags/Understanding+SharePoint/default.aspx</link><description>Tags: Understanding SharePoint</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Upgrading a SharePoint Portal Server 2003 Shared Services Farm with NLB and Forced SSL to MOSS 2007</title><link>http://blogs.msdn.com/krichie/archive/2006/12/19/upgrading-a-sharepoint-portal-server-2003-shared-services-farm-with-nlb-and-forced-ssl-to-moss-2007.aspx</link><pubDate>Wed, 20 Dec 2006 01:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1327460</guid><dc:creator>krichie</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/krichie/comments/1327460.aspx</comments><wfw:commentRss>http://blogs.msdn.com/krichie/commentrss.aspx?PostID=1327460</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;How's that for a blog posting title!&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Oh, and I'll add IIS redirect virtual servers into the mix.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;I've been working with a customer on detailing all the steps necessary to make this a reality, and I've seen quite a few posts out on some internet searches where a ton of folks are asking this exact same question.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;"How and what is the procedure for upgrading a SharePoint Portal Server 2003 Shared Services Farm with Network Load Balancing and Forced SSL to MOSS 2007"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;This is certainly a loaded question, and there are important aspects you really need to understand about your current deployment and take into consideration before you just install the bits and start running.&amp;nbsp; Also, this doesn't even consider the state of your sites, i.e. how many custom site definitions, site templates, or web parts, etc, etc, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;As well, I discovered one important piece about your current environment you need to be aware of that boils down to what URL and name you bound your portal/wss sites on to begin with. My team has been harping on me to document and explain this specific “What’s in a name” piece for a very, very, very long time, and I don’t see how I can get by with explaining this whole upgrade process without starting with it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Unfortunately, you’re not going to get all your answers in “This” blog post, so consider this a teaser trailer for a series of blog postings on this subject coming to an aggregator near you!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;More to come&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 20.25pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;-&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Keith Richie&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1327460" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/krichie/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/krichie/archive/tags/Understanding+SharePoint/default.aspx">Understanding SharePoint</category></item><item><title>Understanding SharePoint - Part 6 - Duplicate Content Sources bound to multiple indexes causes duplicate alerts to be fired</title><link>http://blogs.msdn.com/krichie/archive/2006/11/27/understanding-sharepoint-part-6-duplicate-content-sources-bound-to-multiple-indexes-causes-duplicate-alerts-to-be-fired.aspx</link><pubDate>Tue, 28 Nov 2006 04:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1163358</guid><dc:creator>krichie</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/krichie/comments/1163358.aspx</comments><wfw:commentRss>http://blogs.msdn.com/krichie/commentrss.aspx?PostID=1163358</wfw:commentRss><description>&lt;P&gt;I had a theory that this caused problems and validated it today while working with a customer who has a large number of content sources spread across multiple indexes.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Note: &lt;/STRONG&gt;First of all, poking around through the UI to look at all the details of indexes, content sources, etc is a real pain.&amp;nbsp; Thus (You guessed it :)) I wrote a tool to gather and export this information so that I could look at it holistically.&amp;nbsp; It was actually a modification to the SPSAddCS tool in the SharePoint utility suite, just modified to use XML and added a "Read" operation to it to dump the data in XML.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://web.indieopolis.net/blogimg/DuplicateAlerts_A160/image02.png" atomicselection="true" mce_href="http://web.indieopolis.net/blogimg/DuplicateAlerts_A160/image02.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=398 src="http://web.indieopolis.net/blogimg/DuplicateAlerts_A160/image0_thumb.png" width=507 border=0 mce_src="http://web.indieopolis.net/blogimg/DuplicateAlerts_A160/image0_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Once I've had a chance to test it out in more detail, I'll post the code for it as well.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Since this customer had 4+ portal indexes with approximately 10 content sources per index, it made it allot easier to look at everything and spot the problem quickly.&lt;/P&gt;
&lt;P&gt;Once I saw that they had two content sources pointing to the exact same content yet on two different indexes, it was a simple matter of setting this up on a plain Jane standalone SharePoint Portal Server 2003 box to validate.&lt;/P&gt;
&lt;P&gt;I validated this using the following setup on my local test server.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Created a plain IIS web site and placed a default web page with the following contents:&lt;/LI&gt;
&lt;P&gt;&amp;lt;html&amp;gt; 
&lt;P&gt;&amp;lt;body&amp;gt; 
&lt;P&gt;&amp;lt;P&amp;gt;Hello!&amp;lt;/P&amp;gt; 
&lt;P&gt;&amp;lt;P&amp;gt;Keith Richie was here&amp;lt;/p&amp;gt; 
&lt;P&gt;&amp;lt;/body&amp;gt; 
&lt;P&gt;&amp;lt;/html&amp;gt; 
&lt;LI&gt;Issued a search in the portal for “Keith Richie”, then selected “Alert Me” to create a portal alert, with its’ settings set to immediate&lt;/LI&gt;
&lt;LI&gt;Added a content source to this plain web site did a full crawl and confirmed that the notification was sent&lt;/LI&gt;
&lt;LI&gt;Created a new index&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Created a duplicate content source to the same plain web site bound to this index&lt;/LI&gt;
&lt;LI&gt;Made an update to the default web page&lt;/LI&gt;
&lt;LI&gt;Did a full crawl on both indexes, and I received two notifications about the same change&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Created a third new index&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Created a third duplicate content source to the same plain web site bound to this index.&lt;/LI&gt;
&lt;LI&gt;Made an update to the default web page&lt;/LI&gt;
&lt;LI&gt;Did a full crawl on all three indexes, and I received three notifications about the same change&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;Depending on your structure, and Exclude/Include rules created, this can occur for SharePoint sites as well&lt;/P&gt;
&lt;P&gt;You ARE however,&amp;nbsp;blocked from creating a duplicate content source on the same index, but not on a completely different index.&amp;nbsp; When you attempt to create a duplicate source address on the same index, you'll get the following error message:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;“The object you are trying to create already exists. Try again using a different name. “&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;But if you are creating this on a different index, you will not get a warning.&lt;/P&gt;
&lt;P&gt;In MOSS 2007, you are not allowed to even have multiple indexes unless you create multiple SSPs.&amp;nbsp; I'm not 100% up to snuff on the WSS 3.0/MOSS 2007 alert architecture, but I am very curious and would suspect that you would encounter the same problem, and could confuse users.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;- Keith&lt;/P&gt;
&lt;HR&gt;

&lt;P&gt;&lt;B&gt;Previous Posts on this series:&lt;/B&gt; 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/krichie/archive/tags/Understanding+SharePoint/default.aspx" mce_href="http://blogs.msdn.com/krichie/archive/tags/Understanding+SharePoint/default.aspx"&gt;Understanding SharePoint Series&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1163358" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/krichie/archive/tags/Understanding+SharePoint/default.aspx">Understanding SharePoint</category></item><item><title>Understanding SharePoint - Part 5 - Keep those webs small if you must use SMIGRATE</title><link>http://blogs.msdn.com/krichie/archive/2006/07/27/680357.aspx</link><pubDate>Thu, 27 Jul 2006 18:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:680357</guid><dc:creator>krichie</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/krichie/comments/680357.aspx</comments><wfw:commentRss>http://blogs.msdn.com/krichie/commentrss.aspx?PostID=680357</wfw:commentRss><description>&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=3&gt;Understanding SharePoint - Part 5 - Keep those webs small if you must use SMIGRATE&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;I&gt;&lt;FONT face=Arial size=2&gt;This is the fifth post in a series in regards to "Not being mislead by what your seeing :)"&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=Arial color=#ff0000 size=2&gt;&lt;STRONG&gt;DISCLAIMER: This post may include steps that guide you through issuing statements against your SharePoint content databases.&amp;nbsp; By no means does this mean that you should change any thing in the database.&amp;nbsp;&amp;nbsp; This is simply for "READING" values, and even this should be done&amp;nbsp;during Off-Peak hours.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;HR&gt;

&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;The Scenario&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;You have a sub web of a site, and it's a whopper.&amp;nbsp; Let's say it's about 25GB :)&amp;nbsp; Perhaps you want to relocate it to it's own site collection, or you need to move it around in the hierarchy.&amp;nbsp; The only way to do this is via SMIGRATE as my post titled &lt;A href="http://blogs.msdn.com/krichie/archive/2005/11/07/490074.aspx"&gt;Moving a web and preserving permissions using SPUserUtil&lt;/A&gt; describes.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;You kick off a SMIGRATE to export the web, and it eventual fails with possibly an access violation.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="http://music.msn.com/album/?album=29453367"&gt;The Reason&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Unlike STSADM, which chunks the individual records of a site collection to the backup file, SMIGRATE allocates memory for caching the overall manifest of the export.&amp;nbsp; SMIGRATE could require up to 3 times the amount of memory needed to generate the manifest data.&amp;nbsp; The data is not chunked as in STSADM, but rather generated in memory and then persisted to the export file.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;It generates the manifest file in UTF-8 format for use later to read it back in.&amp;nbsp; It also generates in another format for use with XML compilation internally, which could lead to needing generally 2x the amount of memory as the first allocation, thus making the necessary memory requirement around 3x. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;As you can see, trying to SMIGRATE our 25GB scenario sub web could possibly require around 75GB of virtual memory, and most systems would never have this.&amp;nbsp; Besides, you would still be limited by the amount of addressable memory on a 32 bit system, as is Windows 2003.&amp;nbsp; Thus, at most, there is a 2-3 GB address space for user mode applications depending on your servers setup.&amp;nbsp; The entire web could never be exported if the overall size of the memory requirement during the export exceeded 2-3 GB, and that's if you happened to be fortunate to not have anything else running on the server that day and the planets aligned just right.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;In Conclusion&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;If you have to use SMIGRATE routinely to move webs, then keep them small.&amp;nbsp; Otherwise, you may need to use something to export your files out to reduce the webs size, to then move them, and then import the items back in, thus losing original time stamps, user associations to document and list items, etc.&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Hope this helps!!&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;- Keith&lt;/FONT&gt;&lt;/P&gt;
&lt;HR&gt;

&lt;P class=style2&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Previous Posts on this series:&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;Understanding SharePoint - Part 1 - Understanding the SharePoint Portal Server Indexer&lt;BR&gt;&lt;A href="http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx&lt;/A&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;Understanding SharePoint - Part 2 - The Infamous Query Plan Bug and The Origins of SPSiteManager&lt;BR&gt;&lt;A href="http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx&lt;/A&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;Understanding SharePoint - Part 3 - Just because your database is larger doesn't necessarily mean that your index size will be&lt;BR&gt;&lt;A href="http://blogs.msdn.com/krichie/archive/2006/07/20/673339.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/07/20/673339.aspx&lt;/A&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;Understanding SharePoint - Part 5 - Lock those sites before performing backups to prevent orphaned entries! - &lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;&lt;A href="http://blogs.msdn.com/krichie/archive/2006/07/25/678040.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/07/25/678040.aspx&lt;/A&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-WEIGHT: 700; FONT-FAMILY: Arial"&gt;Additional reference material:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Administrator's Guide for Windows SharePoint Services - Migrating and Upgrading Web Sites&lt;BR&gt;&lt;SPAN class=style1&gt;&lt;A href="http://www.microsoft.com/resources/documentation/wss/2/all/adminguide/en-us/stsf12.mspx?mfr=true"&gt;http://www.microsoft.com/resources/documentation/wss/2/all/adminguide/en-us/stsf12.mspx?mfr=true&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Disaster Recovery in SharePoint Products and Technologies - Recovering Individual SharePoint Sites&lt;BR&gt;&lt;SPAN class=style1&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/sppt/reskit/c2861881x.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/sppt/reskit/c2861881x.mspx&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Backing Up and Restoring Web Sites&lt;BR&gt;&lt;FONT color=#800080&gt;http://office.microsoft.com/en-us/assistance/HA011608261033.aspx&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Arial"&gt;SPSiteManager&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; is contained in the The SharePoint Utility Suite at:&lt;BR&gt;&lt;A href="http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a1=724"&gt;&lt;FONT color=#800080&gt;http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a1=724&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=680357" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/krichie/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/krichie/archive/tags/Understanding+SharePoint/default.aspx">Understanding SharePoint</category></item><item><title>Understanding SharePoint - Part 4 - Lock those sites before performing backups to prevent orphaned entries!</title><link>http://blogs.msdn.com/krichie/archive/2006/07/25/678040.aspx</link><pubDate>Tue, 25 Jul 2006 20:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:678040</guid><dc:creator>krichie</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/krichie/comments/678040.aspx</comments><wfw:commentRss>http://blogs.msdn.com/krichie/commentrss.aspx?PostID=678040</wfw:commentRss><description>&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=3&gt;Understanding SharePoint - Part 4 - Lock those sites before performing backups to prevent orphaned entries!&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;I&gt;&lt;FONT face=Arial size=2&gt;This is the fourth post in a series in regards to "Not being mislead by what your seeing :)"&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=Arial color=#ff0000 size=2&gt;&lt;STRONG&gt;DISCLAIMER: This post may include steps that guide you through issuing statements against your SharePoint content databases.&amp;nbsp; By no means does this mean that you should change any thing in the database.&amp;nbsp;&amp;nbsp; This is simply for "READING" values, and even this should be done&amp;nbsp;during Off-Peak hours.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;HR&gt;

&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Isn't this really Orphaned Sites - Part 4?&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I almost made this part 4 of my &lt;A href="http://blogs.msdn.com/krichie/archive/2006/06/30/652453.aspx"&gt;"Orphaned Sites" series&lt;/A&gt;, but decided not to, because I want to stress the fact of the importance to read/write locking your sites before performing ANY site collection level type backups.&lt;/FONT&gt;&lt;/P&gt;
&lt;HR&gt;

&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;The Scenario&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;For whatever reason, you need to restore a specific site collection, or web, etc.&amp;nbsp; It could be that important information was deleted, or you're in full disaster recovery mode.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;You kick off a STSADM -o restore of the site collection and you even include -overwrite switch, and it fails with an error message that indicates:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face=Courier size=2&gt;Exception from HRESULT: 0x80040E2F&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;This HRESULT simply means, "Violation of PRIMARY KEY constraint ", which generally means one thing :)&amp;nbsp; You have entries in the database for this site previously, possibly orphaned, that is preventing the restore to continue, or...what this post is about :)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;But I used the overwrite switch, should that not have taken care of cleaning up the site first?&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;You would think, since all the overwrite switch does is force a delete of the site collection on the database before performing the restore.&amp;nbsp; It's the same process if you were to do the following manual steps:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Courier size=2&gt;STSADM -o deletesite -url &lt;A href="http://server/sites/thesite"&gt;http://server/sites/thesite&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Courier size=2&gt;STSADM -o restore -url &lt;A href="http://server/sites/thesite"&gt;http://server/sites/thesite&lt;/A&gt; -filename thesite.bak&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;I&gt;&lt;FONT face=Arial size=2&gt;(Of course, if you have orphans on the site :) It may be difficult to actually delete the site, thus refer to my &lt;A href="http://blogs.msdn.com/krichie/archive/2006/06/30/652453.aspx"&gt;"Orphaned Sites" series&lt;/A&gt;, :))&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;But the problem isn't that there was orphaned data to begin with, but rather "New" data related to the site added outside of the restore, that then causes the restore to fail.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="http://music.msn.com/album/?album=29453367"&gt;The Reason&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The reason in this case, may be due to the fact that while the restore is progressing, the site isn't locked and therefore users accessing the site is causing the duplicate entries.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;For the most part, everything stored along with a site has a unique GUID, so this isn't "Duplicate Named" documents or duplicate list items etc causing this, as those would have a unique GUID associated with their entries.&amp;nbsp; Instead, what it COULD be, is entries in the UserInfo table being created for the site collection by means of user visits, and thus, when they restore gets to the point where it starts attempting to insert it's copy of that same UserInfo data, the exception occurs.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;How this can occur, is actually quite simple.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;When we detect a user hitting a site collection for the first time, we cache information in the UserInfo table for that user specifically associated with that site collection (See &lt;A href="http://blogs.msdn.com/krichie/archive/2006/02/18/534752.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/02/18/534752.aspx&lt;/A&gt; for a a more technical description of this) .&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;During a restore, we may not be inserting the Site Collection level UserData information yet,&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Enough information however, IS currently restored (Such as a webs ACL, containing the ACL's of Users and Groups), to allow the authentication to the webs.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The Web was not locked during backup, therefore the lock state of the site is not set during the restore, thus users are able to access the webs in the site.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Because we see no information currently in the UserInfo table for the user, a record is created for the user.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The restore progresses along, and the backed up UserInfo data is inserted into the table, yet because there is already an entry for a user it's trying to restore in the database, the exception is thrown and the restore fails.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;If the site collection was read/write locked before the backup was performed, you would not run into this problem, because the lock state of the site would prevent any access to it until the restore was complete, in which you would then go and unlock the site.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Read/Write Locking sites is actually a recommended best practice from the product group if you are going to run site collection level backups of your data on production sites&amp;nbsp; If this is true, they why doesn't STSADM automatically lock the site for you?&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Please refer to the official &lt;B&gt;Backing Up and Restoring Web Sites&lt;/B&gt; - &lt;A href="http://office.microsoft.com/en-us/assistance/HA011608261033.aspx"&gt;http://office.microsoft.com/en-us/assistance/HA011608261033.aspx&lt;/A&gt; for an explanation :) But I'll call out the specific reasons why here:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=MsoNormal&gt;&lt;I&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Site backup and restore are not designed to be used when the server is under active load. &lt;/B&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;I&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;&lt;BR&gt;&lt;/B&gt;If a site is in use when the backup operation is run, the data in that site may continue to change throughout the operation. The resulting backup file may be inconsistent with the actual state of the site and, if you restore this file, the restored site or database will be inconsistent as well. &lt;FONT color=#ff0000&gt;&lt;B&gt;To avoid possible inconsistencies, lock the site collection prior to backing up a site in an active farm, using the "No Access" lock. After the backup is complete, set the lock back to "Not locked". &lt;/B&gt;&lt;/FONT&gt;For information about locking and unlocking a site collection, see the Managing Locks section of the Configuring Site Collection Quotas and Locks topic. &lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;In Conclusion&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Arial size=2&gt;It's extremely important to lock your sites before backing them up using STSADM.&amp;nbsp; You could encounter problems later due to the inconsistencies that can be introduced as noted in the aforementioned official documentation, but not limited to just what I'm noting in this post.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;If you use &lt;B&gt;SPSiteManager &lt;/B&gt;from the &lt;A href="http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a1=724"&gt;SharePoint Utility Suite&lt;/A&gt;, it automatically sets the site to the &lt;FONT color=#ff0000&gt;&lt;B&gt;No Access&lt;/B&gt;&lt;/FONT&gt; state before performing a backup operation.&amp;nbsp; You can then use the additional -o unlock site operation to unlock your restores after complete.&amp;nbsp; The SPSiteManger repartition operation performs the lock, and unlock automatically when moving a site.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Hope this helps!!&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;- Keith&lt;/FONT&gt;&lt;/P&gt;
&lt;HR&gt;

&lt;P class=style2&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Previous Posts on this series:&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;Understanding SharePoint - Part 1 - Understanding the SharePoint Portal Server Indexer&lt;BR&gt;&lt;A href="http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx&lt;/A&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;Understanding SharePoint - Part 2 - The Infamous Query Plan Bug and The Origins of SPSiteManager&lt;BR&gt;&lt;A href="http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx&lt;/A&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;Understanding SharePoint - Part 3 - Just because your database is larger doesn't necessarily mean that your index size will be&lt;BR&gt;&lt;A href="http://blogs.msdn.com/krichie/archive/2006/07/20/673339.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/07/20/673339.aspx&lt;/A&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-WEIGHT: 700; FONT-FAMILY: Arial"&gt;Additional reference material:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Backing Up and Restoring Web Sites&lt;BR&gt;&lt;FONT color=#800080&gt;http://office.microsoft.com/en-us/assistance/HA011608261033.aspx&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Arial"&gt;SPSiteManager&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; is contained in the The SharePoint Utility Suite at:&lt;BR&gt;&lt;A href="http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a1=724"&gt;&lt;FONT color=#800080&gt;http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a1=724&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=678040" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/krichie/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/krichie/archive/tags/SPSiteManager/default.aspx">SPSiteManager</category><category domain="http://blogs.msdn.com/krichie/archive/tags/Understanding+SharePoint/default.aspx">Understanding SharePoint</category></item><item><title>Understanding SharePoint - Part 3 - Just because your database is larger doesn't necessarily mean that your index size will be</title><link>http://blogs.msdn.com/krichie/archive/2006/07/20/673339.aspx</link><pubDate>Fri, 21 Jul 2006 04:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:673339</guid><dc:creator>krichie</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/krichie/comments/673339.aspx</comments><wfw:commentRss>http://blogs.msdn.com/krichie/commentrss.aspx?PostID=673339</wfw:commentRss><description>&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=3&gt;Understanding SharePoint - Part 3 - Just because your database is larger doesn't necessarily mean that your index size will be&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;I&gt;&lt;FONT face=Arial size=2&gt;This is the third post in a series in regards to "Not being mislead by what your seeing :)"&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=Arial color=#ff0000 size=2&gt;&lt;STRONG&gt;DISCLAIMER: This post shows using Query Analyzer to issue statements against your SharePoint content databases.&amp;nbsp; By no means does this mean that you should change any thing in the database.&amp;nbsp;&amp;nbsp; This is simply for "READING" values. And even this should be done&amp;nbsp;during Off-Peak hours.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;
&lt;HR&gt;
&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Uh, but my site has some really large documents in it, and the database is 3 times the size as a smaller site with thousands of files!&amp;nbsp; What do you mean my index isn't going to be larger??&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;This discussion came up a few days ago, and I felt it was worth posting externally as well.&amp;nbsp; I hope this posting helps you understand how to properly estimate your capacity planning as well as hardware requirements for your SharePoint environments.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;
&lt;HR&gt;
&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;The Scenario&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;You have a content database that has grown very large in size, or a content database with thousands of documents spread throughout, will the size of the full text indexes be equally larger compared to a small database and a small number of documents?&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The answer is, no...Not necessarily.&amp;nbsp; You cannot determine the size of your full text indexes based on content database size nor document items alone, and I'll show you why.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;The Test &lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Consider the following example data:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;I&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Note: &lt;/B&gt;Your results if you perform this test, might be slightly different.&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I've created a second Windows SharePoint Services site called and located at simply &lt;A href="http://www.tailspintoys.com/sites/smallfilesite"&gt;http://www.tailspintoys.com/sites/smalfilesite &lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;This site was placed into a content database simply named small_site_DB.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I created a unique index in Portal server, and a content source that crawls this site and places the crawled content in said index.&amp;nbsp; (We'll call it SmallFileFile_INDEX)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;As a control value, I crawl this site now, and notice that it is ~1 MB in size, and indexed roughly 6 items (These are the default folders, pages for the site)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I uploaded exactly 50 word documents that have a size of roughly 1 MB each to a document library.&amp;nbsp; This equates to ~ 50 MB of content&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;From SQL Enterprise Manager, I can see that the total size of data in the database is ~80 MB (This is due to data+SQL index sizes)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I reset, and did another full crawl on this site and it jumps to roughly &lt;B&gt;~2MB&lt;/B&gt; in size, and shows &lt;B&gt;57 documents&lt;/B&gt; in the index.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I also have SQL full text indexing enabled for this database, as they were enabled via the Windows SharePoint Services "Configure full-text search" in Windows SharePoint Services central Admin. &lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;By viewing the the Full-Text properties for this database in SQL Server, I see that there is &lt;B&gt;204&lt;/B&gt; items and the catalog size itself is&amp;nbsp; &lt;B&gt;~2 MB&lt;/B&gt;, with a unique key count of &lt;B&gt;1387&lt;/B&gt;.&amp;nbsp; The index size to database size ratio is 1:40&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I've created 1 Windows SharePoint Services site called and located at simply &lt;A href="http://www.tailspintoys.com/sites/largefilesite"&gt;http://www.tailspintoys.com/sites/largefilesite&lt;/A&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;This site was placed into a content database simply named large_site_DB.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I created a unique index in Portal server, and a content source that crawls this site and places the crawled content in said index.&amp;nbsp; (We'll call it LargeFile_INDEX)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;As a control value, I crawl this site now, and notice that it is ~1 MB in size, and indexed roughly 6 items (These are the default folders, pages for the site)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I uploaded exactly 10 word documents that have a size of roughly 20 MB each to a document library.&amp;nbsp; This equates to ~200 MB of content&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;From SQL Enterprise Manager, I can see that the total size of data in the database is ~286 MB (This is due to data+SQL index sizes)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I reset, and did another full crawl on this site and stays at &lt;B&gt;~1MB&lt;/B&gt; in size, &lt;B&gt;and only shows 7 documents in the index&lt;/B&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I also have SQL full text indexing enabled for this database, as they were enabled via the Windows SharePoint Services "Configure full-text search" in Windows SharePoint Services central Admin.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;By viewing the the Full-Text properties for this database in SQL Server, I see that there is &lt;B&gt;124 &lt;/B&gt;items and the catalog size itself is&amp;nbsp; &lt;B&gt;~6 MB&lt;/B&gt;, with a unique key count of &lt;B&gt;1307&lt;/B&gt;. The index size to database size ratio is 1:47, roughly the same as the small database in size comparison.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The Portal full text index for the larger content database with large items, didn't grow at all, while the full text index for the smaller sized database with many smaller items, did.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The SQL full text index for the larger content database, grew to 6MB for only 124 items, while the SQL full text index for the smaller content database grew to 2MB with 204 items.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="http://music.msn.com/album/?album=29453367"&gt;The Reason&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;For the portal full text, indexes, Portal Search products, two very important settings that determine how content is indexed, based on size.&amp;nbsp;&amp;nbsp; These settings are called MaxDownloadSize and MaxGrowFactor, and are best explained by this article:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Managing Search Settings for the Portal Site&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="http://office.microsoft.com/en-us/assistance/HA011648411033.aspx"&gt;http://office.microsoft.com/en-us/assistance/HA011648411033.aspx&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;By default, SharePoint Portal Server will only crawl and filter a file with a size of up to 16 megabytes (MB) because of &lt;B&gt;MaxDownloadSize&lt;/B&gt;. In our test above, only the files in &lt;A href="http://www.tailspintoys.com/sites/smallfilesite"&gt;http://www.tailspintoys.com/sites/smallfilesite&lt;/A&gt; are indexed, because their initial size does not exceed 16MB. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Another factor to consider from the above article is &lt;B&gt;MaxGrowFactor&lt;/B&gt;.&amp;nbsp;&amp;nbsp; If the file is downloaded for indexing because it does not exceed &lt;B&gt;MaxDownloadSize&lt;/B&gt;, yet when extracted and expanded into raw text for filtering, it exceeds&amp;nbsp; &lt;B&gt;MaxDownloadSize&lt;/B&gt;x&lt;B&gt;MaxGrowFactor&lt;/B&gt;, only the first 64K of the file is actually indexed (Assuming the values are at their default)&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Thus only the files in &lt;A href="http://www.tailspintoys.com/sites/smallfilesite"&gt;http://www.tailspintoys.com/sites/smallfilesite&lt;/A&gt; are indexed.&amp;nbsp; So now consider where you have a very large content database with hundreds of sites, webs, document libraries, and many varying document sizes, it's quite possibly that your total index size will actually be smaller than a small content database with an equal number of documents, but all of a size below this threshold.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;In Conclusion&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Arial size=2&gt;Don't rely on database size to have any predictability on index size.&amp;nbsp;&amp;nbsp; A follow up post will contain the reasons for the SQL full text indexes.&amp;nbsp; As well, we'll delve into the effect of SQL table indexes on the data based on size, counts, etc.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Hope this helps!!&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;- Keith&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;
&lt;HR&gt;
&lt;/P&gt;
&lt;P class=style2&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Previous Posts on this series:&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;Understanding SharePoint - Part 1 - Understanding the SharePoint Portal Server Indexer&lt;BR&gt;&lt;A href="http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx&lt;/A&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;Understanding SharePoint - Part 2 - The Infamous Query Plan Bug and The Origins of SPSiteManager&lt;BR&gt;&lt;A href="http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx&lt;/A&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Additional References:&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Managing Search Settings for the Portal Site&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="http://office.microsoft.com/en-us/assistance/HA011648411033.aspx"&gt;http://office.microsoft.com/en-us/assistance/HA011648411033.aspx&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=673339" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/krichie/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/krichie/archive/tags/Understanding+SharePoint/default.aspx">Understanding SharePoint</category></item><item><title>Understanding SharePoint - Part 2 - The Infamous Query Plan Bug and The Origins of SPSiteManager</title><link>http://blogs.msdn.com/krichie/archive/2006/07/20/673197.aspx</link><pubDate>Fri, 21 Jul 2006 01:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:673197</guid><dc:creator>krichie</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/krichie/comments/673197.aspx</comments><wfw:commentRss>http://blogs.msdn.com/krichie/commentrss.aspx?PostID=673197</wfw:commentRss><description>&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=3&gt;Understanding SharePoint - Part 2 - The Infamous Query Plan Bug and The Origins of SPSiteManager&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;I&gt;&lt;FONT face=Arial size=2&gt;This is the second in a series of posts in regards to "Not being mislead by what your seeing :)"&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;I&gt;In the next post in this series, I'll talk about SharePoint index sizes vs the size of your databases, as you can't assume that with a larger database, you have an equally larger index.&amp;nbsp; I'll show you how it can actually be the complete opposite, where your index can actually be smaller for a larger database vs an index of content on a much smaller database&lt;/I&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=Arial color=#ff0000 size=2&gt;&lt;STRONG&gt;DISCLAIMER: This post shows using Query Analyzer to issue statements against your SharePoint content databases.&amp;nbsp; By no means does this mean that you should change any thing in the database.&amp;nbsp;&amp;nbsp; This is simply for "READING" values. And even this should be done&amp;nbsp;during Off-Peak hours.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Holy SQL Spikes Batman!&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;A long time ago, in a cube far, far away (Ok, across the hall from where I'm at now, so maybe not so far away)....I worked on an issue with a customer that:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;On one hand, literally sucked the life right out of me :)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;On the other, give me the opportunity to come up with SPSiteManager (See &lt;A href="http://blogs.msdn.com/krichie/archive/2005/09/28/475104.aspx"&gt;Codin' till the fingers go numb&lt;/A&gt;)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Due to a recent occurrence of another customer hitting this, and the fact that I discovered I really didn't share this before, I felt this posting was warranted.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;First off, thanks to Denzil Ribeiro, a SQL Escalation Engineer who originally worked with me internally to help narrow this down when I was an Escalation Engineer for SharePoint.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;The Symptoms and Problem&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;You have a SharePoint site or Portal where you really don't have a lot of users permissions, but you do provide access via possibly a security group.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;You don't have a lot of documents or list items, and are well within capacity planning guidelines.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;99% of your sites have a relatively low number of users associated to it, &lt;/P&gt;&lt;/LI&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;There have never been more than say a few hundred unique users every hit the site, or perhaps they are mainly My Sites, with one or two users (The MySite owner, and a friend or two), or perhaps they are many, many team sites with low activity.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;1% of your sites, or rather perhaps just one single Site collection, or Portal Site Collection, has &amp;gt; 10,000 users associated with it.&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Arial size=2&gt;&lt;/LI&gt;&lt;/FONT&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;You've provided access to the site/portal with domain groups, or even a single domain group such as NT Authority\Authenticated Users&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Yet, sometimes, your performance or even accessibility to your SharePoint environment is completely blocked.&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The Processors on your SQL server spike and sustain a high CPU utilization %, thus bringing everything else to a grinding halt.&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Arial size=2&gt;&lt;/LI&gt;&lt;/LI&gt;&lt;/FONT&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;In the case where we first hit this, the customer had plenty of web front ends, and was running on an active/active cluster with 16 processors per node, and all 32 procs would spike to 100%, they had one content database with a Portal site collection, and &amp;gt; 9,000 team and My Sites.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="http://music.msn.com/album/?album=29453367"&gt;The Reason&lt;/A&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;When any SQL statement is executed in SQL Server, the relational engine first looks through the procedure cache to verify that an existing &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/architec/8_ar_sa_4azp.asp"&gt;query execution plan&lt;/A&gt; for the same SQL statement exists. SQL Server reuses any existing plan it finds, saving the overhead of recompiling the SQL statement. If no existing execution plan exists, SQL Server generates a new execution plan for the query.&amp;nbsp; (It determines based on the data, the indexes, amount of joins, etc the best approach for retrieving the data to handle the request and presenting the data back to the caller).&amp;nbsp; This execution plan is then cached for use later.&amp;nbsp; This is especially important, if the statement is very parameterized, such as the queries we use to generate result sets for document library and list views.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;In this case, the initial statement is compiled with one set of parameters, and for 99% of the time, the plan that the SQL optimizer produced, was a good query plan based on that set of data, and the statement is executed in negligible time.&amp;nbsp; When this same query is executed again with a different set of parameters, since it was a parameterized query, we look up the cached plan and find it, thus use it.&amp;nbsp; The cached plan is good for the first set of parameters, but BAD for the second set, and thus can cause your SQL server to consume the CPU trying to process the results based on the plan it generated previously.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The reason, in this case, why the plan is bad for the second set of parameters was because of the data distribution in the UserInfo/UserData tables. (For more information on how users are cached in the UserInfo and UserData tables, see my posting here: &lt;A href="http://blogs.msdn.com/krichie/archive/2006/02/18/534767.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/02/18/534767.aspx&lt;/A&gt; )&amp;nbsp; Because this single site has many users recorded against it via the domain group, it increases the likelihood of this problem.&amp;nbsp; The majority of the sites have very few rows in the UserInfo table for a given site, while the minority has thousands of rows in it for their sites.&amp;nbsp; Hence, the execution plan chosen for a site with very few rows was optimal for any site that had few rows, but when that query plan is used with a site that has a TON of rows it is not optimal for that at all. &lt;BR&gt;&lt;BR&gt;I want you to realize, parameterized queries and query execution plans ARE NOT BAD in general. In fact they are good for most cases where there is even data distribution, yet can cause problems if the data distribution is uneven OR if typical parameters are passed initially when forming the plan that is cached. &lt;BR&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Oh dear, whaddya gonna do....&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I filed a bug with the SharePoint product group team on this, as it wasn't a problem with SQL, it was just how SQL works.&amp;nbsp; The SharePoint product group and sustaining engineering teams both agreed we needed to fix this, it's just the proper fix needed to be thoroughly investigated, regression tested, stamped with approval, etc.&amp;nbsp; We all knew this was going to take a really long time to get the best fix created.&amp;nbsp; (Surprisingly, this didn't take as long as the orphan cleanup fixes I worked with many folks on to push forward :))&amp;nbsp; Due to timing, we didn't make SP2, so this was a post SP2 hotfix for Windows SharePoint Services, which I HIGHLY encourage and recommend that you deploy.&amp;nbsp; You can get the fix here: &lt;A href="http://support.microsoft.com/?id=900929"&gt;http://support.microsoft.com/?id=900929&lt;/A&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;In the mean time, I had to help this customer.&amp;nbsp; The solution was to move the single site with the large amount of users associated with it to a separate content database, what I call repartitioning or site leveling.&amp;nbsp; Query Execution plans are database specific, so this would prevent the re-use of the plan on large sites.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Ah, that's a snap right?&amp;nbsp; Well, in the case where the site in question may have been a single Windows SharePoint Services team site, I could have used STSADM -o backup/delete/restore to the target database to take care of this one site, and be done with it all..but guess what....It wasn't a team site that was the problem, but rather the Portals site collection.&amp;nbsp; That was the one with the large user dataset.&amp;nbsp; Guess what, you can't use STSADM for that :)&amp;nbsp; Also, you can't use SPSBackup for this either, because SPSBackup backs up the entire content database, not just the portals site collection.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;What's the only other way to do this?&amp;nbsp;&amp;nbsp; Repartition the other 9,999 team sites out of this content database, and into another.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;So just how would you do that?&amp;nbsp; Ah shucks that's easy...Here's the steps:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;In order to repartition Site Collections in and out of content databases you have to use the following steps:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0pt" type=1&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;If you have not done so already: &lt;/SPAN&gt;
&lt;OL style="MARGIN-TOP: 0pt" type=a&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Create a new content database to place the backed up site into. &lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Read/Write lock the site so that it cannot be accessed during the backup operation&lt;/SPAN&gt;&lt;FONT face=Arial size=2&gt; &lt;/FONT&gt;
&lt;OL style="MARGIN-TOP: 0pt" type=a&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Navigate to Windows SharePoint Services Central Admin page&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Select Manage Quotas and Locks&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Select Manage Site Collection Quotas and Locks&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Type in the URL of the site you need to lock and click the “View Data” button.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Select the “No Access” radio button in the “Site Lock Information” section and choose OK.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;STSADM –o backup (to backup the site collection to disk) &lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;STSADM –o deletesite (To delete the site from the current content database) &lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Visit the Content Database management page from the Windows SharePoint Services Central Admin pages. &lt;/SPAN&gt;
&lt;OL style="MARGIN-TOP: 0pt" type=a&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Select the First content database and either: &lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: Arial; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;i.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-STYLE: normal; FONT-FAMILY: Arial; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;Set it’s status to Offline or&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: Arial; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;ii.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-STYLE: normal; FONT-FAMILY: Arial; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;Set it’s max-sites and warning-sites counts to that equal to the number of current sites in the content database (Be sure to have a notebook handy to write down all of the original values so that you can re-set them in a later step.)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0pt" type=1 start=5&gt;
&lt;OL style="MARGIN-TOP: 0pt" type=a start=2&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Repeat step 4.a for each content database EXCEPT the one you are restoring to (This prevents the WSS Logic from load balancing the existing content databases, to determine which content database to restore the site in) &lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;STSADM –o restore (restore the site into the new targeted database) &lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Read/Write unlock the site to allow access to the site again&lt;/SPAN&gt;&lt;FONT face=Arial size=2&gt; &lt;/FONT&gt;
&lt;OL style="MARGIN-TOP: 0pt" type=a&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Navigate to Windows SharePoint Services Central Admin page&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Select Manage Quotas and Locks&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Select Manage Site Collection Quotas and Locks&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Type in the URL of the site you need to lock and click the “View Data” button.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Select the “Not Locked” or “Adding content prevented” radio button in the “Site Lock Information” section depending on the sites previous state, and choose OK&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Visit the Content Database management page from the Windows SharePoint Services Central Admin pages. &lt;/SPAN&gt;
&lt;OL style="MARGIN-TOP: 0pt" type=a&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Select the First content database and either: &lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: Arial; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;i.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-STYLE: normal; FONT-FAMILY: Arial; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;Set it’s status back to Online (If it was online to begin with) or&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: Arial; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;ii.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-STYLE: normal; FONT-FAMILY: Arial; FONT-VARIANT: normal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;Set it’s max-sites and warning-sites counts to their previous values (refer to the notes taken in Step 4.a.ii)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0pt" type=1 start=8&gt;
&lt;OL style="MARGIN-TOP: 0pt" type=a start=2&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Repeat step 6.a for each content database &lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Repeat steps 2-8 (unless you need to create more content databases, in which case you restart at step 1).&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Arial"&gt;In other words, do these steps ~10,000 times.&amp;nbsp; Let's see, would YOU want to do those steps manually?&amp;nbsp; Ah shucks that's easy...NOT!&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;As you can see this is a very labor intensive and time consuming process.&amp;nbsp; If you had to do this for many sites it becomes impractical to do all of this manually.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;The Solution, and birth of SPSiteManager &lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I had to come up with a solution for my customer.&amp;nbsp; Otherwise, I would not be able to sleep....It was my issue, my customer, and they were in some serious pain, and besides...my job at the time required me to work the issue to closure.&amp;nbsp;&amp;nbsp; They were experiencing the issue all the time, and the outage was a sustaining 3 minutes for every user who hit this one tiny little document library, on this VERY popular portal area :).&amp;nbsp; So what would happen, is users would notice the problem, and then keep trying to click on this document library...As soon as it would render, another user would come along and hit it, thus...down again.&amp;nbsp; They were quite literally down, completely down, until they prevented access to this document library.&amp;nbsp; I knew that we could perform the same steps needed as in the manual steps above, via the SharePoint Object Model, so off I went, &lt;A href="http://blogs.msdn.com/krichie/archive/2005/09/28/475104.aspx"&gt;Codin' till the fingers go numb&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;While I was writing the repartitioning logic, I knew we would have other customers eventually hit this before the fix, and it would also be a great tool to have around, in case you needed to move sites around regardless of the bug or not.&amp;nbsp; I also wrote a simple detection algorithm, to analyze and detect where&amp;nbsp; content databases may be in this state, thus the reason you see the lowusercount= and highusercount= attributes in the &amp;lt;database&amp;gt; element in SPSiteManagers Site Distribution Document.&amp;nbsp; I worked with MSIT to get it run on our own Microsoft internal SharePoint servers, to look for the occurrence of the problem.&amp;nbsp; The product group even gave me a mirror of their internal server (A really big heavy portal server) to work against to ensure we got the logic flawless for solving this type of problem. (And if I haven't told you enough PG, MSIT, etc.....Thanks!!!!)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Arial&gt;Heck, since I had to go examine the sites, webs, etc..I thought what the heck, I'll even go add in the checks against the capacity planning guidelines we have for SharePoint.&amp;nbsp; The result, was yet &lt;A href="http://blogs.msdn.com/krichie/archive/2006/03/25/560846.aspx"&gt;another little tool that went "Boom"&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;In the end, when the customer ran SPSiteManager (in batches) to repartition their sites out, they completed it in about 10 man hours.&amp;nbsp;&amp;nbsp;&amp;nbsp; That's ~10,000 site collections moved in 10 man hours...Now, imagine the amount of time it would have taken to do the manual steps above.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;The ultimate fix&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Now before you go off running, and telling everyone that they must repartition their large user associate sites immediately, STOP NOW.&amp;nbsp;&amp;nbsp; You do NOT have to do this.&amp;nbsp; As I noted above, a post SP2 hotfix is available to remedy this problem.&amp;nbsp; See &lt;A href="http://support.microsoft.com/?id=900929"&gt;http://support.microsoft.com/?id=900929&lt;/A&gt; .&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I will tell you right now, though, that:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The KB does not necessarily call this out, and in fact is worded improperly&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;It's currently worded as:&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;I&gt;"When you run an ad hoc query on a Windows SharePoint Services site, the CPU usage on the server that is running Microsoft SQL Server consumes 100 percent of the CPU time. Therefore, users cannot access the server."&lt;/I&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;UL&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Which is VERY misleading.&amp;nbsp; This in by NO means whatsoever implies that you should go run ad hoc queries on your database.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;We are working to get the official KB updated with the proper wording.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;It IS RECOMMENDED however, that you keep a portals site collection in it's own database, as with a portal, it is very common that you would have a large set of users associated with it, and it can get quite large, and if you need to move it later, guess what you can't.&amp;nbsp; You'll have to repartition all those team sites out of it, rather than re-locate the Portal site collection to a new database.&amp;nbsp; What I would recommend, is that when you create a new Portal, go set it's "Max Number of Sites" to 1 in the Manage Content Databases page, then create a separate content database for your team sites.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial&gt;In Conclusion&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;If you feel you may be experiencing this problem, and you do not have the Post SP2 hotfix installed as noted above, a couple of simple tests can be executed&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;While experiencing the problem, issue the following statement against the content database in question.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN id=ctl00_LibFrame_MainContent&gt;DBCC FREEPROCCACHE&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;If your hang is cleared up by this, chances are you are being impacted by this issue.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Use SPSiteManager to perform a simply analysis (Without the need to do a deep level analysis) and look at your user associates on your content databases:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPSiteManager -o analyze -allvs&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;If you see a lowusercount &amp;lt;= 1000 users and a highusercount &amp;gt;= 9,000 to 10,000 users, chances are you are being impacted by this issue.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;To put it bluntly,&lt;A href="http://support.microsoft.com/?id=900929"&gt; install the fix now&lt;/A&gt; (or the most recent rollup hotfix which will include this.) :)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Hope this helps!!&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;- Keith&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Previous Posts on this series:&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;Understanding SharePoint - Part 1 - Understanding the SharePoint Portal Server Indexer&lt;BR&gt;&lt;A href="http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx"&gt;http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx&lt;/A&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Additional References:&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;Description of the Windows SharePoint Services post-Service Pack 2 hotfix package: November 15, 2005&lt;BR&gt;&lt;A href="http://support.microsoft.com/?id=900929"&gt;http://support.microsoft.com/?id=900929&lt;/A&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;SQL Server Architecture: Execution Plan Caching and Reuse &lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/architec/8_ar_sa_4azp.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/architec/8_ar_sa_4azp.asp&lt;/A&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style2&gt;&lt;FONT face=Arial size=2&gt;SQL Server Books Online: DBCC FREEPROCCACHE &lt;BR&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/ms174283.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms174283.aspx&lt;/A&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=673197" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/krichie/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/krichie/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/krichie/archive/tags/SPSiteManager/default.aspx">SPSiteManager</category><category domain="http://blogs.msdn.com/krichie/archive/tags/Understanding+SharePoint/default.aspx">Understanding SharePoint</category></item><item><title>Understanding SharePoint - Part 1 - Understanding the SharePoint Portal Server Indexer</title><link>http://blogs.msdn.com/krichie/archive/2006/07/20/672755.aspx</link><pubDate>Thu, 20 Jul 2006 17:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:672755</guid><dc:creator>krichie</dc:creator><slash:comments>10</slash:comments><comments>http://blogs.msdn.com/krichie/comments/672755.aspx</comments><wfw:commentRss>http://blogs.msdn.com/krichie/commentrss.aspx?PostID=672755</wfw:commentRss><description>&lt;B&gt;&lt;FONT face=Arial size=3&gt;Understanding SharePoint - Part 1 - Understanding the SharePoint Portal Server Indexer&lt;/FONT&gt;&lt;/B&gt; 
&lt;P class=MsoNormal&gt;&lt;I&gt;&lt;FONT face=Arial size=2&gt;This is the first in a series of posts in regards to "Not being mislead by what your seeing :)"&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;I&gt;In the next post in this series, I'll talk about The Infamous Query Plan Bug, and the origins of SPSiteManager&lt;/I&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;hr&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Be careful not to misinterpret what your seeing in regards to the SharePoint Portal Server Indexer.&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I recently worked with a customer who was experiencing "well appeared to be experiencing" poor crawl performance from SharePoint Portal Server 2003.&amp;nbsp; I'll be following up to this posting with results from the MOSS 2007 implementation of Search, but I'm sure they results will be pretty much the same.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The key here is to ensure that you are not misinterpreting the data you are being presented with.&amp;nbsp; Keep the following two items in mind when examining your own portal&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;&lt;B&gt;Item 1: &lt;/B&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT size=2&gt;Certain IFilters can lead you to think that your crawler is not working effectively, yet some can actually have a dramatic impact on performance&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Arial&gt;
&lt;HR&gt;
&lt;/FONT&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Crawl rates can easily be misinterpreted when you have 3rd party iFilters installed.&amp;nbsp; This section will show you some guidance we give in relation to the impact that certain iFilters can have on your environment.&amp;nbsp; I am "NOT" saying that these iFilters are "BAD", and you should not misinterpret me saying that :) I'm just noting the impact that they can have on your environment that you need to be aware of :).&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Tests were run using a standalone Dell Precision 470 Intel XEON Server with CPU running at 3.0 GHZ.&amp;nbsp; Total physical memory on the Server was 3.0 GB.&amp;nbsp; SharePoint Portal Server and Windows SharePoint Services were both installed at Service Pack 2.&amp;nbsp; This is a single Server deployment of SharePoint with SQL Server 2000 at SP4 loaded on one Server.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Performance Counters Used&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Arial&gt;&lt;B&gt;SearchGathererProjects\Processed Documents Rate&lt;/B&gt; (Hence known as PDR in this document)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;This counter identifies “The number of documents processed per second”&lt;/FONT&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in" type=1&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Arial&gt;A standard set of test files was uploaded to both the default document library at the root Portal Area level and a test Windows SharePoint Services site document library at such as &lt;/FONT&gt;&lt;A href="http://server/sites/testsite"&gt;&lt;FONT face=Arial&gt;http://server/sites/testsite&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial&gt; &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The set of seed files used for testing consisted of 18 Zip files (which resulted in about 800 individual files unzipped, and a variation of .txt, .doc, .ppt, .xls, etc), 16 PDF files, and 8 standalone Word documents.&lt;/FONT&gt; 
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Initial testing with no 3rd party iFilters installed resulted in a PDR of around 22 documents per second processed with a maximum of around 116.&lt;/FONT&gt; 
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The addition of the Adobe iFilter at version 6.0 resulted in an approximate &lt;B&gt;&lt;SPAN style="COLOR: red"&gt;40 to 50 percent performance reduction&lt;/SPAN&gt;&lt;/B&gt;.&amp;nbsp; The average PDR dropped to around 9 with a maximum of 72.&lt;/FONT&gt; 
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;A Zip iFilter at version 1.2 from the I-Filter Shop was loaded and the Adobe iFilter was removed.&amp;nbsp; This resulted in about the &lt;B&gt;&lt;SPAN style="COLOR: red"&gt;same performance hit as the Adobe iFilter caused&lt;/SPAN&gt;&lt;/B&gt;.&lt;/FONT&gt; 
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The Zip iFilter only added a total of 18 items to the index, &lt;B&gt;&lt;SPAN style="COLOR: red"&gt;so the performance hit is misleading&lt;/SPAN&gt;&lt;/B&gt;.&amp;nbsp; &lt;B&gt;&lt;SPAN style="COLOR: red"&gt;In reality it added 800 unzipped items to the index&lt;/SPAN&gt;&lt;/B&gt;.&lt;/FONT&gt; 
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;With both the Zip iFilter and Adobe PDF iFilter installed and added to the list of file types to be crawled &lt;B&gt;&lt;SPAN style="COLOR: red"&gt;performance dropped again by another 10 to 15 percent&lt;/SPAN&gt;&lt;/B&gt; resulting in &lt;B&gt;&lt;SPAN style="COLOR: red"&gt;a total performance hit of around 65 percent&lt;/SPAN&gt;&lt;/B&gt;.&amp;nbsp; Again, &lt;B&gt;&lt;SPAN style="COLOR: red"&gt;this is a bit misleading as the Zip iFilter actually added an additional 800 items&lt;/SPAN&gt;&lt;/B&gt; to the index that only appear as a single item in the total for the Search catalog.&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Performance Conclusion&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in" type=1&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Installation of the PDF iFilter will have the most adverse impact on indexing performance due to the fact that it is a single-threaded iFilter.&lt;/FONT&gt; 
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Although we appear to take a large performance hit with the Zip iFilter, performance may not be hampered due to the fact that we are actually adding numerous items to the index instead of only the one that appears in the index item count.&lt;/FONT&gt; 
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The Zip iFilter provided by the I-Filter Shop does indeed run as a multi-threaded filter.&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Item 2: Don't misinterpret your gatherer logs.&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Arial&gt;
&lt;HR&gt;
&lt;/FONT&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;You may find many "Delete" entries in your gatherer log for URLs that no longer exist, but the delete entries happen all the time, and it appears to never remove the entry from the index.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;By default, SharePoint will not automatically remove an index entry until 3 consecutive crawls have occurred (whether it be full, or incremental).&amp;nbsp;&amp;nbsp; The reason for this, is we don't want to just remove the entry, as there may have been a network issue temporarily, and if we did this for every crawl, it could mislead users.&amp;nbsp; For instance, if you had an alert on a document library, the user would constantly see "New content found" alerts for the same document between crawls because of a flaky network connection.&amp;nbsp; Thus, if we can't connect to the target source after 3 attempts, then we consider it a dead link.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;What you may actually be seeing is hits to sites from the portals "Sites" content source.&amp;nbsp;&amp;nbsp; Regardless if there is an entry in the index or not, if you have a site listed in the site directory, it will "ALWAYS" be checked from the crawler.&amp;nbsp; In this case, the site is gone, so every attempt is going to fail.&amp;nbsp; Thus, after 3 times, it sends a Delete transaction to the index to remove it from the index.&amp;nbsp; The same would be true to a content source that has a target url to a site that no longer exists.&amp;nbsp; Until you get rid of that site reference, or the content source, you will continue to see those entries in the gatherer log.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;I've added some new features into SPSiteManager just for this reason, which allow you to clean up dead entries from your site directory and list of sites to be crawled.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Hope this helps!&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;- Keith&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=672755" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/krichie/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/krichie/archive/tags/Understanding+SharePoint/default.aspx">Understanding SharePoint</category></item></channel></rss>