BCS and SharePoint Workspaces limited to 2000 items from external list

My client and I fought these issues for about a month all said and done so I figured I would post some of the things we learned along the way to save you a month of your life. J

The BCS is limited to 2000 items

True story. Out of the box business connectivity services throttles your connection to 2000 items. Yikes. Makes sense to keep performance in check but for most of my customers this has been an immediate issue. Luckily Microsoft anticipated this and gave us some Windows PowerShell to increase the limit or even turn it off. Luckily the BCS team wrote a post on how to manipulate this and saved me the effort. http://blogs.msdn.com/b/bcs/archive/2010/02/16/bcs-powershell-introduction-and-throttle-management.aspx Thanks guys.

Workspaces only likes 2000 items also

So we got through that and then we started syncing the list with SharePoint Workspaces and were quickly greeted with:

 

Too many items were returned. The limit 2000 was enforced.

What the heck? We got rid of the 2000 item limit. We did some more playing around and also found out that Outlook also could not sync the list. UGH. After opening a support ticket with Microsoft and working with Patrick G. we found the answer. There is a special registry edit you can make to allow the client BCS framework to overcome the 2000 item limit. The key is:

[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Business Data\Synchronization]

Then you need to create a dword for “Query Instances Limit”. Then set the value you would like. This registry change is on the client machine trying to do the sync.

Pretty cool stuff. Hopefully this saves you some time.

Shane

SharePoint Consulting

How to remove the GUIDs from the SharePoint search service application databases

Update 12/6/2010 – Found an issue after you finish these steps where you get an error in logs. The error doesn’t break anything and is just annoying. To clear that error check out this post – Correcting SharePoint 2010 Search Database Error.

WARNING: This is pretty hardcore stuff and I have only tried it in a handful of environments. While the process has been successful for me that doesn’t guarantee it will be successful for you. I highly recommend you try this in a dev environment before running it in production. If you are building your farm fresh that is the best time to do this. If you screw it up you can delete the search service app and try again. If you have a running a production farm already tread lightly. Also, I am pretty sure Search will be unavailable for the entire time you are doing these steps so plan accordingly. Don’t be scared. This will work; you just need to play it safe.

So I don’t know about you but I am on to SharePoint’s game. It has a secret goal to run the world out of GUIDs. Well, being a proud citizen of the world I am here to help save unnecessarily wasted GUIDs so developers can continue to use (unnecessarily?) them for years to come. (And to think, you thought I hated developers. This is clearly for their benefit.)

My partner in crime Todd and I have been working in our secret lair on this very topic. And while we are not completely ready to share all of our findings I am proud to publish one of the first pieces. How to get rid of the GUIDs in the Search database names. There is an article on TechNet that talks about how to rename or move the service application databases but, I had a hard time following it and getting it to work so I thought I would post a little easier to follow version.

For this post I created a Search service application call Blog Search Service App using Central Administration. After it completed I was stuck with the following three databases with those unnecessary GUIDs stapled on the end.

Renaming the Crawl Store database

 

  1. In Central Admin go to manage service applications
  2. Click on your Search service application
  3. Scroll down the page and click on modify under Search Application Topology
  4. Under Databases click on your Crawl Database and from the drop down click Edit properties
  5. Find the database name and simply highlight the GUID and hit delete
  6. Click OK

When you return to the manage topology screen you will see pending update. The change will not be committed until you click the Apply Topology Changes button at the bottom of the screen. Don’t do it yet though, lets rescue another GUID first.

Renaming the Property database

 

  1. Assuming you are still on the same page from the last step
  2. Under Databases click on your Property Database and from the drop down click Edit properties
  3. Find the database name and simply highlight the GUID and hit delete
  4. Click OK

Now all that is left is to scroll to the bottom of the page and click Apply Topology Changes. This will probably take a couple of minutes to run. So just kick back for a moment and think of what better planet you left for the children by saving these two GUIDs. It may take a while to run depending on the state of your databases. Mine took about 6 minutes on empty database for my VM.

Here is a screen shot of the results. That was really pretty painless too bad the next one is not.

Renaming the Admin database

Put on your big boy pants because this one is going to require some ninja like SQL and PowerShell skills. (Or I guess you can just cut and paste what I have here.)

  1. On your SQL Server open SQL Server Management Studio
  2. Find your Search admin database. From the screen shot mine was named Blog_Search_Service_App_DB_fe289c49b61344b48952a546e48e0135. Right click on it on the database and select Tasks > back up…
  3. Back the database up. If you are unsure how to do this the defaults should work fine so click OK.
  4. At the backup successful message click OK
  5. Scroll up to Databases, right click and select Restore Database…

  6. Click the radio button for From device: and the click the … button to the right.

  7. Click Add
  8. Now select the backup file you just created. If you just clicked OK on the backup screen SQL should open right to the file for you. Once you find it click OK.
  9. Click OK on Specify Backup
  10. Check the box under Restore next to your backup
  11. Now look toward the top of the window and enter your new database name in the To database field. For the example I entered Blog_Search_Service_App_DB. Double check yourself in the screen shot below.

  12. Click OK
  13. At the successful screen click OK

The SQL hard work is over but don’t close management studio quite yet. You will need to come back to delete the old database in a little bit.

  1. Now go back over to your SharePoint server
  2. Open the SharePoint Management Shell by clicking Start > All Programs > Microsoft SharePoint 2010 Products > SharePoint 2010 Management Shell
  3. Now enter the following line of PowerShell remembering to change the identity to your service application name:

    $searchapp = Get-SPEnterpriseSearchServiceApplication -identity “Blog Search Service App”

  4. Now enter the following line of PowerShell (it might take a minute to run):

    $searchapp.Pause()

  5. Now enter the following line of PowerShell remembering to update your database name and database server:

    $searchapp | Set-SPEnterpriseSearchServiceApplication -DatabaseName “Blog_Search_Service_App_DB” –DatabaseServer “2010server”

  6. Now enter the following line of PowerShell:

    $searchapp.Resume()

  7. Double check yourself in the screenshot below.

  8. Now before you continue you need to make sure the database change is complete. The best way to do this I believe is to use this PowerShell:

    Do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Local} while ($searchInstance.Status -ne “Online”)

     

This will display a . every 10 seconds until all of the search components return to an online state. It might take a few minutes but be patient.

 

Now jump back over to the SQL Server to delete that final database with a GUID and restore peace and order to society.

  1. In SQL Management Studio find the database with the GUID, right click on the name, and click Delete. (If you are the nervous type backing it up first isn’t the worst idea you have had today.)
  2. Check the box at the bottom for Close existing connections and click OK.

 

Hooray! No more nasty GUIDs.

 

<Insert witty ending here. Something of the style of Batman and Robin. Todd is Robin of course, he makes a great boy wonder in his shorty shorts. >

 

Shane

SharePoint Consulting

What service accounts do you need to install SharePoint 2010?

I have been asked this question a lot lately so I thought I would throw something up. Now I can tell you I am not in love with writing this yet because 2010 RTM is still fresh on the streets and I am never happy until I have at least 50 clients running 2010 farms to get a feel for what is really going on. But Shane you have been using the early builds forever why don’t you have this all worked out? Because until the bits went RTM some of the account issues were touch and go so I used test farms with one account way too often. ๐Ÿ™ It was a crutch but got me through those early builds. So get over it.

Now when I was first asked the question I did the responsible thing and started asking questions of people that were smarter and to be honest better looking than me if they had any ideas. Unfortunately none of them did so I then I asked Todd who had actually also been talking to Spence about said topic. (For the record neither of them is better looking than me.) They had some input that went along with what I was thinking. I also got real crazy and read the TechNet article on Account Permissions. While it looks really good it is way too detailed and most of you aren’t going to read it. So here is what I am doing these days.

  1. Running setup.exe/farm configuration wizard(grey wizard) โ€“ In 2007 this account was crucial for you to get correct. You needed a dedicated account. In 2010 this is not as important thanks to the introduction of the passphrase. The key thing about this account is it must be a domain user and a local administrator on all of your SharePoint servers. For the SQL Server it needs the SQL roles of securityadmin and dbcreator. It does not need to be a domain administrator and it does not need to be a SQL server administrator. This account could be your account but I still like to defer to my 2007 style and create a dedicated sp_admin type account for this.

    ย 

  2. When you get to this screen:

    You need to specify what we call the farm account. I like to use domain\sp_farm but you can do as you like. This account needs to just be a regular domain user. This account for right now doesn’t need any other access. SharePoint will use the install account you are logged in with to make this account a member of some local server groups and give it the dbcreator and securityadmin SQL roles. This account is then used as the central administration application pool account and the SharePoint timer service. Now something to keep in mind. If you are going to configure profile imports read my last blog article, this account has to be a local administrator on the SharePoint server when you provision the service and needs some weird AD permissions to get your started. Akward.

    ย 

  3. When Central Admin opens for the first time you will probably use the initial farm configuration wizard (white wizard) and you will be prompted to setup a managed account as shown here.

    This account will be the default account for the different service applications and will be the identity of the service applications app pool account. This account is just a regular domain user with nothing special for you to do.

    ย 

  4. Now when you create your first web application you will need to create a new application pool. I recommend that when you do this you create a dedicated account for your application pool. Every unique app pool I create I always use a unique account. This account is just a regular domain user. SharePoint will give it the permissions it needs.

    ย 

  5. When you start to configure your Search service application you should change the default content access account, you do this from the manage service applications screen and click on the search service app you want to change. By default it will be the account you used in step 3. What you want is to change it to a dedicated account that has read, and ONLY READ access, to all of the content you want to crawl. If you don’t you will end up with trash in your index you don’t want.

    ย 

  6. In the same train of thought when you configure your user profile service application connection you will need to specify an account. This account will need some funky AD rights so using a dedicated account isn’t a bad idea.

    ย 

That should be more than enough to build a decently segregated farm from an account perspective. Some people will use less some more so take this for what it is.

One struggle people run into when they do least privilege type installs is they struggle how to get Windows PowerShell to work properly. They do cmdlets like get-spsite and get weird access denied responses. The reason is a lack of rights in SQL Server. Instead of me telling you how to get those rights I will give you a link to Zach’s post on the topic. It is a quick read and will make your life easier.

Anyway, I hope that helps. If you have any feedback let me know. I am sure I will insult someone with my over simplicity of this post. ๐Ÿ™‚ Or I missed something simple.

Shane โ€“ SharePoint Consulting

Configuring profile import in SharePoint 2010

So I keep smashing my head into this and it drives me nuts. So I am going to try to throw together some quick nuggets. I have gotten this to successfully work about a dozen times so I have hopefully seen all of the craziness. I have also worked with Todd Klindt to compile some of these notes.

The first one is for goodness sakes read this TechNet article. http://technet.microsoft.com/en-us/library/ee721049.aspx If you read it slowly and do everything it says you can do very little wrong. But no one wants to read it so here are my notes.

  1. The farm account HAS TO BE A LOCAL ADMINISTRATOR. I am sorry but there is no way around this right now so quit trying to avoid it. Having a problem figuring out what account is your farm account? I can help with that.
    1. Central Admin > System Settings > Manage services on server
    2. Scroll down and find the User Profile Synchronization Service and click Start
    3. You will see an account listed. This is the account that must be a local administrator account
    4. If you are adding this account to the local administrators group for the first time right now you should reboot your server after you finish. If you don’t you will get some nasty DCOM errors that will not go away until you are a local admin and reboot.
  2. The farm account has to be able to logon as a service. By default a local administrator can but just in case you have locked down your server extra tight this might come up as it did for Todd the other day.
  3. This same farm account has to have the Replicate Directory Changes permission in active directory. This is also not optional. I also ran into an issue when the forest functional level in active directory was still 2000 but I cannot find the notes on that. Something about this Replicate Directory Changes not being possible.
  4. An oddity I don’t really understand but have seen once. In one case I had to log onto the server as the farm admin account one time before I was able to get the service to start. Most of the time this is the case but once it was. Very odd. This blog post had the same issue.
  5. If you get the service started and then try to manage the user profile service application and get some silly error pop up you just need to do an IISRESET.
  6. A couple of MSDN forum posts and other stuff that I looked at along the way:
    1. Post 1
    2. Post 2
    3. Blog post
    4. Blog post from Twitter
  7. If you are getting goofy DCOM issues check out this blog post for getting rid of them.
  8. There are two Forefront Identity Manager (FIM) services that get installed as Windows services by SharePoint. If you are troubleshooting profile imports and see FIM errors they are related to your problem. Don’t try to manipulate these services manually.
  9. If you have a multi-server farm you only need to start the service on the server you want it running on, not all of them.
  10. (Added 10/18/2010) You can manually launch the ForeFront client by C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe.
  11. The quick steps
    1. Make sure your farm account has all those super permissions, domain admin might be easiest ๐Ÿ˜‰
    2. If you had to update your farm account permissions reboot now and save yourself the headache
    3. Start the User Profile synchronization service, yes it will take 5 to 10 minutes to start the service
    4. Do an iisreset
    5. Go to manage your user profile service application
    6. Click on Configure Synchronization Connections
    7. Create a new connection to your domain
    8. Fill in all the info and then select what OUs you want to import and click OK
    9. From the manage profile service screen click on Start Profile Synchronization
    10. Cross your fingers and be patient. It takes a while

So hopefully my cheat sheet of issues helps you on your quest. I promise to make updates to this cheat sheet as I find them. Heck, I am guessing as soon as Todd gets back from lunch he will remind me of something else we had to figure out. If you run into something you think should be added leave it in the comments. I will try to work those back up into the main blog post and give you the fame and glory you deserve.

Shane – SharePoint Consulting

SharePoint 2010 IT Pro Resources

So admittedly my blog has been very quiet for a while. That is because I have been knee deep in 2010 for longer than I care to remember. I am been creating new materials and I have even been traveling the country doing the SharePoint 2010 IT Pro Ignite tour. Five extended days of IT Pro training put on by Microsoft. Todd and I have had the privilege of both writing and teaching parts of this class along with some really great folks at Microsoft, both MCS guys and Product team. Hopefully most of that stuff will make it to TechNet one day for your learning pleasure. Until then here are some of the other materials the team at SharePoint911 has created for Microsoft to get you going.

IT Pro Reviewers guide: http://technet.microsoft.com/en-us/library/cc262881(office.14).aspx

Experiencing the Microsoft SharePoint 2010 User Interfaceย (E-learning): http://www.microsoft.com/learning/_silverlight/learningsnacks/SP10/snack02/Default.html

Managing and Troubleshooting with Microsoft SharePoint 2010 (E-learning): http://www.microsoft.com/learning/_silverlight/learningsnacks/SP10/snack03/Default.html

Series of videos on 2010 IT Pro features by SharePoint MVPs: http://technet.microsoft.com/en-us/sharepoint/ee518660.aspx

Once you get through all of that I am sure you will be chomping at the bit for that Beta that will show up in November. Be sure to preregister for the beta here. http://sharepoint2010.microsoft.com/try-it/Pages/Trial.aspx Oh yeah, that site is running on SharePoint 2010.

And finally if you are looking for full scale 2010 training to get you on the road to being kick butt at 2010 look here. http://www.criticalpathtraining.com/Courses/Pages/SharePoint2010AdministratorsSurvivalCamp-Agenda.aspx Todd and I writing this course as we speak and it will be available for web and inperson delivery starting December 7 with a webcast and then December 14 in sunny Tampa Florida. Come join in the fun.

Shane

SharePoint Consulting

ย 

Speaking at the Atlanta SharePoint Usergroup September 21, 2009

http://www.atlspug.com/default.aspx

I will be in town to teach a 2010 class and got invited to speak on some 2007 stuff. I will be doing my server auditing session. No PowerPoint just working throuh SharePoint Central admin and SQL. Fun stuff.

Hope to see you there.

Shane

SharePoint Consulting

Downloads of my SPTechCon Boston Sessions

Last week I had the privilege of speaking at the SharePoint Technology Conference in Boston. Too cool. Got to meet several new people from the Twitterverse (I am @ShanesCows in case you were wondering). I would list the people but I never know if that is appropriate or not. Anyway.

I promised a download PDF of all of the sessions I did so here they are.

Todd Klindt and I did a whole day workshop on being a SharePoint administrator. For that session I have two decks. The SharePoint Admin deck is old faithful. It is all of the core Admin stuff we have delivered around the world brought back to glory once again. Good stuff. The other deck is stolen straight from my SharePoint Administrator’s Class and it all of the dev things we admins need to know, like Features, Solution Packages, and Code Access Security (EEK!). You can get that deck here. Dealing with developers is fun. ๐Ÿ˜‰

The following day I had to do my search session all by myself. Very sad. You can grab that deck here.

Shane

SharePoint Consulting

Upcoming speaking and webcasts

Wow the weeks are getting away from me. Thought I would quickly list out some of my upcoming usergroups, webcasts, trainings, and conferences. Just so you know what to avoid. ๐Ÿ˜‰

Available now from your desk:

Todd and I while at TechEd recorded a quick TechTalk โ€“ SharePoint: What could possibly go wrong? “SharePoint environments are like snowflakes. Each one is intricate and it seems no two are alike. In this TechTalk, Shane and Todd talk about some of the things done wrong in SharePoint installations they’ve seen. They also talk about how to fix those things.” Available for a free viewing at http://www.msteched.com/online/view.aspx?tid=8d46ef7a-7455-4854-a66d-0fd692766b58

May 21, 2009 Columbus, Ohio:

I will be presenting at the Columbus Usergroup monthly meeting at 5:30 pm. This will be my second trip to hang out with this group so it should be fun. Someone has graciously offered to let me odd their server farm in front of everyone. Yikes! So I will be looking for mistakes in the install and config and giving guidance on common mistakes along the way. http://www.sharepointgroups.org/cospug/default.aspx

May 22, 2009 Columbus, Ohio:

I get to do my first keynote! The COSPUG is having a one day FREE SharePoint Show-n-tell event! http://www.sharepointgroups.org/cospug/Pages/Show-N-Tell.aspx I know this is late notice but if you can register now before spots fill up. This will be an awesome day of practical experience.

June 1, 2009 your desk:

I will be doing a virtual usergroup presentation for SharePoint Nation. http://www.facebook.com/home.php#/event.php?eid=83970739778 Will be those core admin topics making sure that deployment was done right.

June 1, 2009 โ€“ June 5, 2009 your desk:

My world famous admin webcast is running this week. With everyone having their training budgets (especially travel) being cut so hard the online class has become quite popular. Need hardcore admin training you have come to the right place. http://www.criticalpathtraining.com/Schedule/Pages/090601-WC-SPA401-Webcast.aspx

June 15, 2009 โ€“ June 19, 2009 Dallas, Texas:

Todd Klindt and I are doing the SharePoint Survival Camp in beautiful Dallas Texas. http://www.criticalpathtraining.com/Schedule/Pages/20090615-SSC401-Dallas.aspx You can’t have more fun (or learn more) about SharePoint administration in five days anywhere else.

June 22, 2009 โ€“ June 24, 2009 Boston, Massachusetts:

SPTechcon rules! Enough said. http://www.sptechcon.com Lots of top notch speakers talking about lots of fun things. Todd and I will be there doing a one day workshop and then some other scattered sessions. This will be a party. Use ShanesCows as your registration code to save some $$$.

I have a few other things in the hopper but that is enough for now.

ย 

Shane SharePoint Consulting

Install Guide: SP2 for SharePoint (WSS v3 and MOSS 2007)

Service Pack 2 was released today (as I am guessing the whole world knows by now). Instead of making that profound announcement I would recommend you check out this post on the SharePoint Team blog for the official announcement. I will spare you the crazy details other than you should install it. J

Just like when the last updates came out I figured I would write a quick guide on the steps I am taking to install. Something to ponder before you get started. When was the last time you did a backup? Knock on wood as you answer.

  1. Start time 11:11 PM
  2. I am checking Windows Update for the latest patches. Looks like SQL Server 2008 SP1, IE8, and a random other Office update is waiting to install. I think I will let them sit for another evening; I have to get up early in the morning.
  3. This environment is a single box with both MOSS Enterprise and SQL Server 2008. MOSS is currently running the February cumulative updates build 12.0.0.6341.
  4. Downloading WSS SP2. 32.9 MB in 29 seconds. Make sure you download the 32bit or 64bit version you need. Both are available from the linked page.
  5. Downloading MOSS SP2. 270 MB in 3 minutes 54 seconds. Make sure you download the 32bit or 64bit version you need. Both are available from the linked page.
  6. Launched the WSS SP2 EXE I just downloaded.
  7. Agreed to the license terms and clicked Continue
  8. Started 11:22 PM. Ended 11:24 PM.
  9. When configuration wizard opens click Cancel and Yes at the warning. We will run config wizard after the MOSS update is installed also.
  10. Launched the MOSS SP2 EXE I just downloaded
  11. Agreed to the license terms and clicked Continue
  12. Started 11:25 PM. Ended 11:36 PM.
  13. Configuration Wizard opens automatically when the update finished installing.
  14. Click Next at the welcome screen
  15. Click Yes to stopping IIS, SharePoint Admin Service, and SharePoint Timer Service
  16. Click Next at the completing screen
  17. You will get a popup warning that you need to install the updates on all servers in your farm before continuing. Be sure to do that if you have multiple servers.
  18. Click OK.
  19. Start at 11:38 PM. About 3 GB of content in this farm. End at 11:48 PM.
  20. Click Finish
  21. Looks like I am left with build 12.0.0.6421

Remember these are the steps I took on my server. They are put here to give you basic guidance, if you feel you want to read about applying updates in excruationing details then check out these links from the Team blog.

Deploy software updates for Windows SharePoint Services 3.0
http://technet.microsoft.com/en-us/library/cc288269.aspx

Deploy software updates for Office SharePoint Server 2007
http://technet.microsoft.com/en-us/library/cc263467.aspx

OK so a question for you. Do you like these update install guides with so many details or would you prefer I leave out everything and just make it quick. You really don’t care about my Windows updates or how long it takes to install?

Shane SharePoint Consulting

Fixing MOSS Search

Had a client today (last week now) who broke search all the way. And in their attempts to straighten it out they changed some pieces that weren’t broken. Then while they were in the process of trying to put it all back together I called and said let me at it so they just stopped. Needless to say I picked up the farm in an odd state or more exactly Search was dead.

So the first step always when Search is broke is to go to the SSP Admin and check out things.

  1. Open the SSP Administration page
  2. Click on Search Administration and see what it has to say. (if you don’t see Search Administration this means you have not installed the infrastructure update. I would highly recommend at a minimum you have that installed. Get the latest update install guide here)

When I opened the page I saw a Crawl status of Error. That is about worthless.

That is pretty much as generic as they come. You get the same Error when the server is on fire as you do when there is small hiccup. So a much better thing to do is:

  1. Go back to the SSP administration page
  2. Click on Search Settings (which is what we used pre infrastructure update)

This page does a much better job of giving you tangible errors. Here is what I got:

ย 

Error: An indexer is not assigned to the Shared Services Provider ‘SharedServices1’.

Link to: Configure an indexer and a search database for this Shared Services Provider

Well that is fixable but how did they end up like this? They stopped the Indexing service in the farm by:

  1. Go to Central Admin
  2. Click on Operations
  3. Click Services on Server
  4. They choose their Index server
  5. Then clicked Stop to the right of Office SharePoint Search Service

This doesn’t just stop the service. This actually removes the service completely. This also removes the Index server from any SSP configured to use it. Now if you did want to just start and stop the service there is a way to do this:

  1. Open a command prompt
  2. Type net stop osearch and press enter
  3. Type net start osearch and press enter

This will cycle the search service. Usually the only time you need to do something like this is after installing a new ifilter but sometimes it makes you feel better to give it a shot and see if that helps your problem. I do it more often than I should just for that reason.

Back to the task at hand clearing up that error! I double checked and they had already reconfigured the Office SharePoint Search Service on the Index server so all I need to do is go back to the Index server and re-associate the indexer.

  1. From Central Administration click on Shared Services Administration from the left hand side of the page.
  2. Hover over the SSP name, click the drop down arrow and click Edit properties

  1. Scroll to the bottom of the page and select your Index server from the Index Server dropdown. If you see No Indexers in red you need to go back to your Services on Server and make sure you have the Office SharePoint Search service started and configured for the Index role.
  2. Confirm that you have the correct index location. Usually the C: drive is less than ideal.
  3. Click Ok

The SSP is now configured with an Indexer. Let’s go make sure Search is happy.

  1. Now click on the Shared Services Provider name to open the SSP admin site.
  2. Click Search Settings

Don’t be surprised if you get this error:

Error: The search service is currently offline. Visit the Services on Server page in SharePoint Central Administration to verify whether the service is enabled. This might also be because an indexer move is in progress.

Typically this is because the wheels of Search can move slowly. I have seen this error come up for 10 minutes or so in some farms. What Search is really telling you is it is busy getting the index and the database ready to go so you can start indexing. Be patient grass hopper. At the client this was gone after about 2 minutes.

Once I was able to get to a happy Search Settings page I went ahead and reset the Index back to zero. Not always necessary but they had 33,000 items in the index and 140,000 or errors. I thought better to start everything back to 0.

In order to reset the Index.

  1. From the SSP admin screen click Search Administration
  2. From the left hand column (quick launch for those who know terminology) click Reset all crawled content
  3. Select Deactivate search alerts during reset
  4. Click Reset now

Now you have a completely blank index. Why did we choose to deactivate search alerts? This is to keep from annoying the users. We don’t want them all to get new alerts when new content is discovered when we recrawl in a minute. Once the index is back to normal we will re enable the alerts for them.

Ok so now the next step should be doing a full crawl. So let’s try that.

  1. From your SSP Administration home page click Search Administration
  2. From the Quick Launch bar (on the left) click Content Sources
  3. Hover over your Content Source, click the drop down arrow, and select full crawl
  4. Now go back to the home page of Search Administration and watch to see if the crawl is running

Unfortunately in our case after about a minute I was left with 0 items in the index and 3 errors. After checking the errors I got Access Denied. L If you haven’t done any monkeying around with changing your default content access account then it should have been automatically granted full access to your content source. You can confirm this by checking your Policy for web application in Central administration. If you forget how to do that check this blog post for a reminder. http://msmvps.com/blogs/shane/archive/2007/01/21/become-administrator-of-the-entire-web-application.aspx

If that checked out ok then the next thing I would check is to make sure your web application is set to integrated authentication and not basic authentication. MOSS will not pass basic authentication by default. So if you changed your web application from integrated to basic, so people users don’t have to enter their domain for example, then you need to setup a custom crawl rule to pass basic authentication.

  1. From your SSP Administration home page click Search Administration
  2. In the Quick Launch bar click Crawl rules
  3. Click New Crawl Rule
  4. For path enter your web app URL ex: http://portal.company.com/*
  5. For Crawl Configuration select Include all items in this path
  6. For Specify Authentication select Specify a different content access account
  7. Now fill in username and password remembering your domain\username form. I would recommended using your normal search account as you know it already has read access to the content.
  8. Key step de-select the box to Do not allow Basic Authentication
  9. Now do a full crawl. Also, remember if you have multiple web apps you may need more than one of this rules.

For the client this was not this issue but it is an important and often over looked troubleshooting step so I thought throwing it in here would be helpful.

The next thing I take a look at is the dreaded loopback fix. I showed this one to Todd Klindt one time and he wrote a nice post on the issue and a like to the KB for fixing it. http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=107 It is all but a guarantee these days if you have the WFE and Index role on the same server you are going to need to do this. A lot of farms have ran fine for a long time and just recently they have started requiring it. Must have been a Windows update that is causing this to be needed more but I haven’t identified it. Another note even though this fix is only listed as applying to Windows 2003 it also applies to Windows 2008, had a different client need it last week. J

Loopback fix in and the server rebooted I tried another Full crawl. Success! Seems this was the root of their issues but as is often the case that happens to all of us, trying to fix it only made the problem worse. LOL

Don’t forget to re-enable those search alerts.

  1. From your SSP administration home page click Search Administration
  2. In the System Status section in the center of the page click Search alerts status Enable

Another troubleshooting step I skipped, because the client had already done it was resetting search permissions. Read the blog post John Ross did summing up the steps to get permissions back on the up and up for the Search Service. http://www.sharepoint911.com/blogs/john/archive/2009/04/03/change-to-group-policy-broke-sharepoint-search-โ€“-thanks-conficker-scare.aspx

Something I learned that was new

I am guessing since I didn’t realize this is an option (or more probably I knew and forgot) you probably didn’t either. So run stsadm โ€“o help like below and take a look at the output.

Use Stsadm.exe from the 12 hive (c:\program files\common files\Microsoft shared\web server extensions\12\). Actually 12\bin to be exact.

C:\ >stsadm -help osearch

stsadm -o osearch

[-action <list|start|stop|showdefaultsspadmin>] required parameters for ‘start’ (if not already set): role, farmcontactemail, service credentials

[-f (suppress prompts)]

[-role <Index|Query|IndexQuery>]

[-farmcontactemail <email>]

[-farmperformancelevel <Reduced|PartlyReduced|Maximum>]

[-farmserviceaccount <DOMAIN\name> (service credentials)]

[-farmservicepassword <password>]

[-defaultindexlocation <directory>]

[-propagationlocation <directory>]

[-cleansearchdatabase <true|false>]

[-ssp <ssp name>] required parameter for ‘cleansearchdatabase’

So really very similar to the options you have available to you from the GUI. The reason I used it was one of the Query servers was stuck in the starting state. In the GUI there is no stop until the service gets too started, not even a reboot will help. With stsadm you can do a stop and get out of the perpetual starting. J A very helpful trick.

If you are still fighting with Search here are couple of other Search troubleshooting things I wrote a while back

Hope you enjoy what feels like a small book

ย 

Shane โ€“ SharePoint Consulting

« Previous PageNext Page »