Welcome to TechNet Blogs Sign in | Join | Help

Hello,

today it’s time to play a bit with Powershell and focus on the SharePoint Search.

First of all, i want  to show you the whole world of cmdlets in SharePoint 2010. Therefore i was interested to count all Cmdlets which comes from SharePoint 2010, means these commands are included in the namespace Microsoft.SharePoint.Powershell:

get-command | where {$_.ModuleName –eq “Microsoft.SharePoint.Powershell”} | measure

image

As you can see, at the moment we have in the public beta (build 12.0.4514) 535 cmdlets. I think the count of cmdlets will increase and not decrease in future. So it’s necessary to get a good entry point into SharePoint Powershell world.

Lets get all command which include the name “search”:

get-command *search* | where {$_.CommandType –eq “Cmdlet”} | measure

image

The result show us 131 cmdlets which only include the word “search". WOW

What’s about:

“index”
image

“query”:
image

 

“searchservice”:image

And as you know each cmdLet gives you and large list of members. E.g. get all member of the SharePoint Search Service Application:

get-SPEnterpriseSearchServiceApplication | get-member

image

An Example of a small list of display member:
image

Now lets go a bit into the deep:

List all Search Services on the farm:

Get-SPEnterpriseSearchService
image

List all Search Service Applications on the farm:

Get-SPEnterpriseSearchServiceApplicationimage

These commands are you entry point to get in contact with your Search Settings. Some Commands need the “Id” of the Search Service Application or Search Service Instance to get deeper settings.

Managing Search Topology

These nouns are available to manage the search topology in SharePoint 2010:

nouns cmdlets nouns starts with SPEnterpriseSeach*
Search Service Application SPEnterpriseSearchServiceApplication
e.g. Get-SPEnterpriseSearchServiceApplication,
Set-SPEnterpriseSearchServiceApplication
Search Service Instance SPEnterpriseSearchServiceInstance
e.g. GET-SPEnterpriseSearchServiceInstance
Search Administration Component SPEnterpriseSearchAdministrationComponent
Search Property Database SPEnterpriseSearchPropertyDatabase
e.g. GET-SPEnterpriseSearchPropertyDatabase
Search Query Topology SPEnterpriseSearchQueryTopology
GET-SPEnterpriseSearchQueryTopology
Search Query Component SPEnterpriseSearchQueryComponent
e.g. GET-SPEnterpriseSearchQueryComponent
Search Index Partition SPEnterpriseSearchIndexPartition
e.g. Get-SPEnterpriseSearchIndexPartition
Search Crawl Database SPEnterpriseSearchCrawlDatabase
e.g. GET-SPEnterpriseSearchCrawlDatabase
Search Crawl Topology SPEnterpriseSearchCrawlTopology
e.g. GET-SPEnterpriseSearchCrawlTopology
Search Crawl Component SPEnterpriseSearchCrawlComponent
e.g. GET-SPEnterpriseSearchCrawlComponent

Notice: The naming convention for Powershell include verbs and nouns in a structure like this: [VERB] - [NOUN]

In Sharepoint 2010 we have verbs like: GET, SET, REMOVE, INSTALL, UNINSTALL, NEW, ENABLE, DISABLE. ADD, START, STOP, MOVE, BACKUP, Export,Import,  …

So the table of search nouns i collect for you displays only a small subset of commands (e.g. the most known GET). For you it’s more important to have a look at the nouns to get a fast entry point..

Now lets play with these commands in detail:

  • combine SearchServiceApplication with SearchAdministrationComponent to get for each SearchServiceApplication the SearchAdministrationComponent information:

“GET-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchAdministrationComponent
image
 

  • combine SearchPropertyDatabase with SearchServiceApplication to get for each SearchSerciceApplication the SearchPropertyDatabase information:

“GET-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchPropertyDatabase

image

  • combine SearchServiceApplication  with SearchQueryTopology:

“GET-SPEnterpriseSearchServiceApplication | GET-SPEnterpriseSearchQueryTopology

image

  • combine SearchServiceApplication  with the SearchQueryTopology and SearchQueryComponent:

“GET-SPEnterpriseSearchServiceApplication | GET-SPEnterpriseSearchQueryTopology | GET-SPEnterpriseSearchQueryComponent

image

  • combine SearchServiceApplication  with the SearchQueryTopology and SPEnterpriseSearchIndexPartition

“GET-SPEnterpriseSearchServiceApplication | GET-SPEnterpriseSearchQueryTopology | SPEnterpriseSearchIndexPartition

image

  • combine SearchServiceApplication  with the SPEnterpriseSearchCrawlDatabase

“GET-SPEnterpriseSearchServiceApplication | GET-SPEnterpriseSearchCrawlDatabase

image

  • combine SearchServiceApplication with SearchCrawlTopology:

“GET-SPEnterpriseSearchServiceApplication | GET-SPEnterpriseSearchCrawlTopology

image

  • combine SearchServiceApplication with SearchCrawlTopology and SearchCrawlComponent:

“GET-SPEnterpriseSearchServiceApplication | GET-SPEnterpriseSearchCrawlTopology | GET-SPEnterpriseSearchCrawlComponent

image

And at the end of the post we get a in touch with 10 search cmdlets of 535 SharePoint cmdlets, so only 525 left. ;-)

Regards

Patrick

Hello,

now it’s time to play with SharePoint 2010. The product group release the Public Beta for WSS v4 called as SharePoint Foundation 2010 and Microsoft SharePoint Server 2010. Below you see the complete list of the whole SharePoint 2010 family.

The Public Beta has build level 14.0.4514.1004.

 

SharePoint Foundation 2010 (Windows SharePoint Services 2010 Beta)
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=906c9f5a-6505-4eba-bf24-95e423ac1703

Microsoft SharePoint Server Enterprise 2010 Beta
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=77c30c6c-47fc-416d-88e7-8122534b3f37

Microsoft SharePoint 2010 Products (Beta) Management Pack
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c8a9d749-b7a8-412a-b2db-f3e464ed3fcf

Microsoft SharePoint Foundation 2010 (Beta) Management Pack
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=43d5ee9a-b9a6-441d-a35e-8a7b9b15e20c

Microsoft FAST Search Server 2010 for SharePoint Beta
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=bcc37c48-11fb-40a2-8cfb-743de20260f6

Microsoft SharePoint Server for Internet Sites Enterprise 2010 Beta
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=580fc452-4948-44ab-9995-a0599271ad48

Microsoft SharePoint Designer 2010 Beta (64-bit)
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=eeda9ab1-ac53-4870-9e1c-38940343d677

Microsoft SharePoint Designer 2010 Beta (32-bit)
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=82df15bd-16a5-460e-a7c4-22599c669bb1

 

And for the ones who want to start with customizing SharePoint 2010, this help:

Visual Studio 2010 Tools for SharePoint Development (Download VS 2010 Beta2)
http://msdn.microsoft.com/en-us/magazine/ee309510.aspx


Enjoy it.

 

regards

Patrick

Hello,

last time i need to identify all Publishing Pages in a site collection and do some actions on all of them. Therefore i wrote a short tool for this.

To do this action you can normally use more than one way to reach the target. But in my case the site collection has a size of 60 GB and the code need to run over more then 26000 Pages.

So it makes a difference to have execution time of 8 hours or less than 2 hours. :-)

My first solution was to identify Publishing pages on their “Pages” Library. Such an implementation runs completely on WSS, so on Microsoft.SharePoint namespace and is not optimized.

using (SPSite site = new SPSite(url))
{ 
    foreach (SPWeb web in site.AllWebs)
    {
        try
        {
            SPList list = web.Lists["Pages"];
            foreach(SPListItem item in list)
            {
                // do my stuff on each Pages
                // ...
            }
        }
        catch (exception e)
        {}
    }
}

Disadvantage of using only WSS namespace

Multi-Languages SPWeb-object have difference Pages-Library names like (Pages, Seiten, Paginas, …), so your code need to be aware of each languages.

 

It’s more efficient to use the Publishing namespace: Microsoft.SharePoint.Publishing

using (SPSite site = new SPSite(url))
{ 
    foreach (SPWeb web in site.AllWebs)
    {
        try
        {  
            if (PublishingWeb.IsPublishingWeb(web))
            {
                PublishingWeb pubweb = PublishingWeb.GetPublishingWeb(web);
                PublishingPageCollection pages = pubweb.GetPublishingPages();
    
                foreach (PublishingPage page in pages)
                {
                    // do some stuff 
                    // ...
                }
            }
        }
        catch (exception e)
        {}
    }
}

the second solution is faster &  multilingual.

regards

Patrick

Hello again,

next question from TechEd:

How to enable Developer Dashboard and how to use this?

 

Enable / Disable over stsadm:

stsadm –o getproperty –pn developer-dashboard

get the current setting from developer dashboard (On |Off | OnDemand )
image

stsadm –o setproperty –pn developer-dashboard –pv “On”

set the setting from developer dashboard (On |Off | OnDemand)
image

Enable / Disable over powershell

Turn On: Set-SPFarm –DeveloperDashboardEnabled

Turn Off: Set-SPFarm –DeveloperDashboardEnabled $false

 

Mode of developer dashboard:

On – creates everytime the output at the end of the page content

Off – switch off developer dashboard and nothing is rendered

OnDemand – creates a DeveloperDashboard icon to make dashboard output visible as needed

image
example of an oob publishing page

 

Now with the next Page Load, the troubleshooting output is created:

DeveloperDashboard Icon is displayed at the upper right side

image(exist only in OnDemand-Mode)

image

 

 

How to use the Developer Dashboard?

Developer dashboard is designed to find performance bottleneck during the page load.

To get an overview about the whole page load performance take a look in the upper right side  on category “web server”. On my test environment the total time of page rendering  is 438.79 milli seconds.

image

At the left side you will see the ASP.NET rendering process of all involved controls with their time to render. Here is makes sense to focus only on long running controls.

image
In this case the longest operation is “EnsureListItemsData with 293,34 ms)

Because sharepoint controls will request data from database, the developer dashboard lists also corresponding sql requests with their execution time.

image

If you click on the sql command than a popup windows display more details. The long running sql request on my test environment is “Declare @…”

image
During this request i see the complete SQL query and the corresponding call stack to identify the correct control. Additionally at the end we see the IO Stats in case of a slow running SQL server based on too many IO-operations. 

One additional category exist for webparts to identify the slow running ones. In this case the ListView-Webaprt of the “Shared Document Library” is the slowest one.

image

Regards

Patrick

Hello,

today is my first day after TechEd Berlin and here you will see the answer of the most common question: What’s the Top-10 Features in SharePoint 2010?

My Answer is now:
Nice Videos from Richard Riley & Arpan Shah – SharePoint 2010 Top Features for ITPro (Duration 30 min)
Topics: SharePoint – Best Practise Analyzer, Performance Troubleshooting in 2010, Large Lists, using Health Analyzer, Using new UI, Upgrade Process, using Powershell, …

Enjoy it.

Regards

Patrick

Hello @all,

today i play a bit with our new powershell cmdlets in O14.

1) how to get a list of all available cmtlets?
Answer: get-help *
(i prefer to write the output into a text file by: get-help * > c:\o14_pws_cmdlet.txt)

As next step how to create new contentdbs, attach, detach and remove them

2) How to create new contentdb for a web application:
Answer: New-SPContentDatabase

image

e.g: New-SPContentDataBase –webapplication http://o14-4514 –Name o14_4514_WSS_Content_3

image

3) enumerate all contentdbs of one WebApplication:
Answer: GET-SPContentDatabase –webapplication http://o14-4514

image

4) how to detach a contentdb?
Answer: Dismount-SPcontentdatabase –identity <GUID>

image

Note: the contentdb exist still in SQL server.
image

5) how to attach a contentdb?
Answer: mount-SPcontentdatabase –name o14_4514_WSS_content_3 –webapplication <url>

image

The next command is new, please be careful with
6) how to delete a database on SQL server?
Answer: Remove-SPcontentdatabase –identify <guid>

image

image

Now , take a  look on SQL Server: *RIP for “o14_4514_WSS_content_3”, it’s deleted on SQL server
image

Regards

Patrick

Hello @all,

end of last week the SharePoint conference in las  vegas ends. One of the speaker was Arpan Shah and he publish his SharePoint 2010 powerpoint slides on his blog.

Playing with SharePoint 2010 is great and here come some more details why:

Upgrading from MOSS2007 to Sharepoint2010 prevent you for upgrade errors:
- using stsadm –o preupgradecheck

image
(Note: detect SiteOrphans, Content Orphans, Invalid Hostnames, …)

Visual Upgrade: During the upgrade you can decide between 2 UI Types of SharePoint 2010 (MOSS 2007 Style & SharePoint 2010 Style)

image 
Tip: upgrade first your content before upgrading UI. Use first MOSS 2007 UI style before all Users are ready for 2010 Style.

For Developer: using SharePoint feature “Developer Dashboard” to check custom code performance.

image

Additionally my colleague Steve Chen creates a good summary of available SharePoint 2010 content in this blog.

 

regards

Patrick

Hello,

today it's time to focus a bit into a topic scalability. To make your content available it's nice to use content query webparts or custom webparts which create a CAML-Query to display specific content like:

- display content from many Lists of a specific type over the SiteCollection

This can be done very easy with a CAML-Query objects like SPQuery or SPSiteDataQuery.  It's a very fast way to get in contact with all requested items and it's better then iterations. But what happens if your CAML-Query runs over larger content/Scopes? 

SPQuery - Scope - represent a Query in a ListView -> soft limit for Performance= 2000 Items per list view, so you should be aware of performance issues in case your query collects more then 2000 items as result.

SPSiteDataQuery - Scope - perform across multiple lists in mutiple web sites on the same site collection -> soft limit for Performance=2000 Items per list view as result & think about the content source on which in query will be executed! (because the Scope is a Site Collection!)

Why it's important to check the content source size of the SPSiteDataQuery?

A site collection is bind to one contentdb. MS recommendation is to have not more then 100 GB in one contentdb because of backup/restore time. Normally a developer of custom code is not aware of performance in case the content is very small and a CAML query is the best way to collect data. Day per Day and many user can create much more Data (e.g. Subsites, Lists, ListItems) and it comes the day that you will have a large content size inside your site collection.

At the end of the Scenario / Information design it looks like this:

1 site collection = in one Contentdb
   |
  200 subsites (recommendation not more then 2000 Subsites per SPWeb)
              |
           10 List on each subsite
                   |
               1 of these list exist with a our suffice templateID (e.g. 115 - XML Form library) 

You should see that in the beginning your query (SPSiteDataQuery) run in a empty site collection much fast then over a full filled site collection.

Back to this information design:
What's do the SPSiteDataQuery in case you want to search over the whole site collection inside all Lists with template ID 115?

The CAML query will be transformed to a SQL query by SharePoint-API. Using SQL profiler Trace you are able to see the query. The created sql query looks like this structure:

exec sp_executesql N'
       Declare @temporaryTable(... some coumns, ... ,... )
              
       -- insert into temporary table (this is done for each of the 200 Form sites that are children of the site collection root site)
       insert into @temporaryTable Select ... ,... , ...

     -- Select statement to retrieve form column values that were specified in CAML query
      Select UserData.[column], ... ,.... from ... inner join .... where .... order by ...

    -- Select output of tempTable
    Select [column1],[...],[columnsX] from @temporaryTable
'

The SQL query runs over each subweb and on each List inside your site collection. In case you have a site collection with a size of 1, 5, 10 or 50 GB then the execution time of the SQL query takes seconds until minutes.

With each second the user need to wait on the content, you will lose user experience.

To avoid such long running query which decrease the usability, try to split such a long query into smaller parts or let a custom timer job run the query.

How the timer job can  help here?

  1. create a timer job and a hidden list
  2. let the timer job execute such a big query every 10 minutes or what time you want
  3. timer job: store the result of the big query into the hidden list
  4. to render the content for a user, you should be able to use now the query result from that hidden list. This increase the usability because the hidden list has already the content you need.

I hope this help you for further performance issue in long running queries.

regards

Patrick

Hello @all,

it's every time good to see large SharePoint environments where every feature inside the farm was activates and each of them is completely used, Languages Packs were installed and so on...

Such a farm blow up with the time but unfortunately the farm documentation increase with a documentation gaps.

Such a documentation is necessary in case you need to upgrade your farm to the next version. losing such a info will bring you in trouble for the many scenarios like:

  • disaster recovery
  • Patching
  • Upgrades
  • ...

To fill the gap, here comes my favorites:

1. In which architecture SharePoint is installed

Answer: check registry,

32bit:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\WSS\InstalledProducts\90120000-110D-0000-0000-0000000FF1CE

64bit:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\WSS\InstalledProducts\90120000-110D-0000-1000-0000000FF1CE

2. In which language SharePoint was installed?

Answer: check registry

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\WSS\ServerLanguage\<LCID>

here you should see only one LCID

3. Which SharePoint language packs were installed?

Answer: check registry

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\WSS\InstalledLanguages\<LCID>

here you will see something like this:

LCID - Reg_SZ - {language pack build level}

1033 - Reg_SZ - 12.0.4518.1000

1031 - Reg_SZ - 12.0.4518.1000

...

or

LCID - Reg_SZ - {language pack build level}

1033 - Reg_SZ - 12.0.6219.1000

1031 - Reg_SZ - 12.0.6219.1000

...

Note: It's important to have all language packs on the same build level!

4. Which server role is installed on each the server?

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\WSS\ServerRole

Value = {Application || WebFrontEnd ||Standalone}

To get an overview about all Microsoft LCIDs you can use this article: Local ID (LCID) chart

Here are my favorites:

Locale description

Short string

Hexadecimal value

Decimal value

English - United States

en-us

0x0409

1033

French - France

fr-fr

0x040C

1036

German - Germany

de-de

0x0407

1031

Spanish - Spain (Traditional)

es-es

0x040A

1034

Italian - Italy

it-it

0x0410

1040

5. Which Custom Code was installed on the farm?

Answer:

a) Get All WSP-Files from FARM using SharePoint Farm Solution Extractor 

b) Check if features were installed without wsp files!

using WssAnalyzeFeatures to get a list of all featureID's inside the farm. Then you need to compare the featureID's with the 12-Hive-Features-folder. Here you should find for each featureID the feature binaries.

c) In case you do not have the feature binary any more it's important to remove the feature completely from SharePoint using WssRemoveFeatureFromSite.

regards

Patrick

[update: 02.10.2009] the product group release a new version of AugustCU with build level 12.0000.6514.5004 

Hello @all,

today we could investigate an important issue with upgrade to AugustCU. (this happens only with AugustCU build level: 12.0000.6514.5002)

Normally it's every time a good idea to detach the contentdb's before installing the patches/service packs. Reattach them after the update of the Farm was successful.

  1. detach contentdb
  2. install wss / moss patches
  3. run psconfig / configuration wizard
  4. reattach contentdb back to sharepoint

On upgrading to AugustCU you can see something like this on point 4.

stsadm -o addcontentdb

Callstack from ULS logs:

General                        72ju High     stsadm: Index was outside the bounds of the array. Callstack:    at System.Data.SqlClient.SqlDataReader.ReadColumnHeader(Int32 i)     at System.Data.SqlClient.SqlDataReader.IsDBNull(Int32 i)     at Microsoft.SharePoint.Administration.SPContentDatabase.GetDatabaseInformation(String name)     at Microsoft.SharePoint.Administration.SPContentDatabase.get_DatabaseId()     at Microsoft.SharePoint.Administration.SPContentDatabaseCollection.UseDatabaseId(SPFarm farm, SPContentDatabase db)     at Microsoft.SharePoint.Administration.SPContentDatabaseCollection.Add(Guid newDatabaseId, String strDatabaseServer, String strDatabaseName, String strDatabaseUsername, String strDatabasePassword, Int32 warningSiteCount, Int32 maximumSiteCount, Int32 status, Boolean provision, Boolean allowUpgrade, Boolean fl...

To avoid this problem it requires an other migration path:

    1. detach contentdb
    2. install wss / moss patches
    3. run psconfig / configuration wizard
    4. reattach contentdb back to sharepoint

If it's not possible to do this on production then you can also upgrade the contentdb over a TEST-Farm to upgrade the content database schema to augustCU. Then it looks like:

    1. detach contentdb
    2. install wss / moss patches on production farm
    3. run psconfig / configuration wizard on production farm
    4. attach contentdb to TEST-FARM
    5. upgrade TEST-FARM
      1. install WSS / MOSS augustCU
      2. run psconfig
    6. if upgrade of TEST-FARM runs successful then
      1. detach contentdb from TEST-FARM
      2. attach contentdb to product-FARM

kind regards

Patrick

[update 02.10.2009] - AugustCU is back online. the new Build Level is 12.0000.6514.5004

[update 17,09,2009] - AugustCU was pulled out of a regressions.

Hello @all,

last night the product group completed the creation and tests of the august CU ueber packages of WSS and MOSS and publish the packages.

KB Download Build number
973400 WSS ueber package 12.0000.6514.5004
973399 MOSS ueber package 12.0000.6514.5004

Inside the AugustCU we have a new stsadm command: MigrateGroup. We all know the nice feature to migrate users using:

stsadm.exe -o migrateuser -oldlogin <NTSHAREPOINT\Jsmith> -newlogin <NTSHAREPOINT\bway> -ignoresidhistory

In the past it was not possible to migrate AD groups, now the time is ripe to migrate AD groups too:

stsadm.exe -o migrategroup -oldlogin <Domain1\groupA> -newlogin <Domain1\GroupB> -ignoresidhistory

kind regards

Patrick

Hello @all,

today I want to publish my tool on MSDN Code Gallery. In the past I found some SharePoint Server were nobody has the customization stored in a separate Storage.

This tool "SharePoint Farm Solution Extractor" will extract/download the installed solution as wsp file from SharePoint Farm to a specified path. In farm Migration scenarios it's very easy to build a duplicate farm, like for testing, etc..

Usage

SharePointFarmSolutionExtractor.exe -list
(This command list all WSP-Solution installed on the SharePoint Farm)

SharePointFarmSolutionExtractor.exe -extractAll c:\SharePointSolutions
(This command download all WSP-Solutions installed on the SharePoint Farm to the specified path)

SharePointFarmSolutionExtractor.exe -extractById c:\SharePointSolutions <GUID of the Solution>
(This command will download all WSP-Solution with matching the SolutionGUID to the secified path)

SharePointFarmSolutionExtractor.exe -extractByName
c:\SharePointSolutions <Name of the Solution>
(This command will download all WSP-Solution with matching the SolutionName to the secified path)

Requirements:
- .NET 2.0
- Microsoft.SharePoint.dll

regards

Patrick

Hello @all,

this week the SharePoint product group release the JuneCU for WSSv3 and MOSS2007 with Build number of the 6510.

WSS v3
- KB 971538
- KB 970946

MOSS 2007
- KB 970948
- KB 972569 
- KB 970947 (language specific)
- KB 972562 (language specific)
- KB 972564 

Currently the ueber package is not released.

regards

Patrick

Hello @all,

may you can remember the SharePoint Side Effect in installing Service Pack 2? If not here is my last post: MOSS 2007 Service Pack 2 side effect

We have a Manual Workaround: KB 971620 and now the product group release a Hotfix to solve the issue:

KB 971620 - When you install the 2007 Microsoft Office servers Service Pack 2, the product expiration date is activated incorrectly

And here is the direct download link:

32-bit version: Download

64-bit version: Download

Regards

Patrick

Hello @all,

the installation of Office Server Service Pack 2 (incl. Office SharePoint Server 2007, Project Server 2007, Form Server 2007, Search Server 2008 and Search Server 2008 Express) has a side effect.

The installation of SP2 properly activate the licence expiration date. To resolve the issue you need to reenter the licence information on the "Central Administration / Operation / Convert License Type".

What does it means for your farm?
A trial version runs 180 days before you need to add the licence key. An Enterprise farm with properly activate the licence expiration date will run 180 day. In case you did not reenter the licence key in the 180 days limit (expiration date) then the SharePoint farm is down/inaccessible for users. The content in the farm is not effected.

Additionally we are trying to fix this problem in the next release builds of Service Pack2.

Windows SharePoint Services 3.0 SP2 is not affected on the problem.

Original link to product group post: Link

Manual Workaround: KB 971620

Regards

Patrick

[UPDATE] - Hotfix available for SP2 Side effect: read more...

More Posts Next page »
 
Page view tracker