Unable to delete Search Service Application (SSA) in SharePoint 2010

Hello,

If you have a bull headed Enterprise Search Service Application and you can not able to delete this service application by Central Administration or fallowing powershell script
$ssa = Get-SPServiceApplication -name “<Search Service Application  Name>”
Remove-SPServiceApplication $ssa

The symptoms is when you attempt to  delete this service application powershell or web GUI is hanging  until timeout.

So you may try fallowing powershell command to force to delete:

1) Open the SharePoint PowerShell on the SharePoint server and run the following commands:
2) Run fallowing command which will list all Enterprize search applications and their GUIDs
Get-SPEnterpriseSearchServiceApplication
Take note of problematic service application guid
3) Type fallowing command:
$ssa = Get-SPEnterpriseSearchServiceApplication -id “<noted guid here>”
$ssa.unprovision(1)

if the above command is successful the SSA will be deleted, if it is hung, then try fallowing:
1) Open a new PowerShell:
2) Run fallowing command which will list all Enterprize search applications and their GUIDs
Get-SPEnterpriseSearchServiceApplication
Take note of problematic service application guid

$ssa = Get-SPEnterpriseSearchServiceApplication -id “<noted guid here>”
$ssa.Delete()

I hope this will resolve your issues.

Failed to create the Pages library – SharePoint 2010

When try to create a new site ( Publishing Site ) under your site collection Event log message was: ‘Failed to create the ‘Pages’ library.’.
Exception was: ‘Microsoft.SharePoint.SPException: User cannot be found.
at Microsoft.SharePoint.SPUserCollection.get_Item(String loginName)
at Microsoft.SharePoint.Workflow.SPWorkflowNoCodeSupport.LoadWorkflowBytesElevated(SPFile file, Int32 fileVer, Int32& userid, DateTime& lastModified)

the error caused by the user who created the latest revision of the workflow no longer exists in the site collection.

1) Download and install Sharepoint Designer 2010 if you already do not have it on your system.
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=16573

2)In Sharepoint Designer, please open the root web

3)Go to All files > _Catalogs> wfpub

4)Check out and then Check in all Publishing Workflow configuration files:

5)De-activate and re-activate the publishing Feature from Site Settings

Important: Please proceed with a full farm backup before proceeding with this . It would also be beneficial for your users if you could implement the action plan outside of your regular business hours.

The settings for this list have been recently changed. Refresh your browser before editing this list

Hello Everyone,

In this article,i am going to talk about one of SharePoint development issue with object model if you faced this annoying error :
“The settings for this list have been recently changed. Refresh your browser before editing this list”

Here a sample scenario:
* You have a C# application from which you are frequently uploading documents to a SharePoint Foundation 2010 Document Library while updating or deleting the list item getting this error.

You may encounter possible 3 issue:

1) Your event recievers is executing something wrong.
Check your event handlers code. for detect the problem you may try to remove the event reciever(s) and test that issue is happening again.
It may cause by some buggy code belongs to triggered eventreciever or this event reciever has activated more than one time or not an appropriate time.if you have this kind of issue
i suggest  that use SPEventReceiverBase.EventFiringEnabled property to prevent unnecessery code execution when your event recievers triggered.

2) You may changing some  property of a list which is not to done in item level operations.
somehow you change high level setting or property of this list object  like SPList.EnableThrottling property , by design you should get fallowing error “The settings for this list have been recently changed. Refresh your browser before editing this list.” This is same scenario as while UserA who already editing a document metadata , changing Versioning settings of the current list by an administrator, UserA will get the error when he/she try to save his/her changes.

Check your source code for to be dangerous changes of list settings.So there is not any way to escape from this error while changing this kind of settings .Main rule is simple do not change list settings while you are working on list items.

3) It caused by a bug. Consider the following scenario:

  • You click the Variation link to configure the variation setting in a Windows SharePoint Services 3.0 publishing site.
  • You click the Variation Labels link to create two variation labels.
  • You click the Create Hierarchies link to create hierarchies.
  • You create a new publishing page in the source variation site.
  • You publish the new publishing page, and then you wait until the page propagation ends.
  • You edit the page in the destination variation site, and then you try to save it.

In this scenario, you receive the following error message.it is fixed by June CU 2011
http://support.microsoft.com/kb/2536591

If you have another one , please inform me .)

How to collect IIS Logs for a SharePoint Web Application

Hello All,

When working with Microsoft Support for some cases the support engineers ( like me ) may request IIS Logs for investigation.
So in this article i am going to tell how you can collect IIS Logs correctly.

1) You have to detect your IIS Web site on IIS Console because your site url and your web application name can be different.
First connect your Central Administration and click “Managed Web Application”‘s link .

but my Web Application Name is SharePoint – 8080

2) Open your IIS Manager and find and click your webapplication name

3) Click the “Advanced Settings” in Action pane.

4) Please not your IISsite ID for this example is 1442344892

5) Click “Logging” icon

6) Detect where the IIS logs are kept in which folder

7) Open this folder in Windows Explorer and find your related folder in it according your IISSite ID. In this scenario the folder is W3SVC1442344892
You can open windows explorer by “Start” -> “Run” and copy paste highlighted path on above screenshot and press enter.

8) Open that folder and order by “Modified Date” as descending order

9) Collect your files according to occurrance time of your problem or issue. If you have a workspace opened by Microsoft and your file size are big , you can compress the files with a compression program.

Notes: IIS buffers the logs in memory for a while before write to the log file (until log buffer chuck size has reached its max size). If you want to catch latest records you may need to do an iisreset or open a command prompt and type  “netsh http flush logbuffer” (this command will provide http.sys to flush logs.)
to force iis write cached log chunk to log file. If you are searching for old records that “Modifed Date” earlier than last log date you dont need this operation.

Have a nice log hunting 🙂

If you are getting “Method not found” (MissingMethodException) error in SharePoint 2010

“Method not found” error i admit its my favorite 🙂 If you get this MissingMethodException from any of your build in SharePoint assembly for example below “Microsoft.SharePoint.Library” the first place you may check the dlls versions. This error usually caused by some version mismatch between your related dll version and SharePoint version.

You can see the error samples below:
Exception information:
Exception type: MissingMethodException
Exception message: Method not found: ‘Void Microsoft.SharePoint.Library.SPRequestInternalClass.AddOrUpdateItem(System.String, System.String, Boolean, Boolean, Boolean, Boolean, Boolean, Int32 ByRef, System.String ByRef, System.Guid, Boolean, System.String, System.Object ByRef, System.Object ByRef, System.Object ByRef, Boolean, Boolean, Boolean, Boolean, System.String, Microsoft.SharePoint.Library.ISP2DSafeArrayWriter, Microsoft.SharePoint.Library.ISP2DSafeArrayWriter, Microsoft.SharePoint.Library.ISP2DSafeArrayWriter)’.

Stack trace:    at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bPreserveItemUIVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback)
   at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32& ulID, Object& objAttachmentNames, Object& objAttachmentContents, Boolean suppressAfterEvents, String filename, Boolean bPreserveItemUIVersion)
   at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents, String filename, Boolean bPreserveItemUIVersion)
   at Microsoft.SharePoint.SPListItem.Update()
   at Microsoft.SharePoint.WebControls.SaveButton.SaveItem(SPContext itemContext, Boolean uploadMode, String checkInComment)
   at Microsoft.SharePoint.WebControls.SaveButton.OnBubbleEvent(Object source, EventArgs e)
   at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

So what could cause this issue
1) Unsuccessful upgrade or a corrupted installation.
2) Custom solutions that referenced old dlls
3) Deploying SharePoint solutions which is accidentally overwriting old dll on new version.
4) Unnecessery GAC registrations for build-in SharePoint DLLs

In this scenario we don’t have any custom solutions . So we may facing with first issue above, so how to fix the issue:
1) Define that which dll in use and this exception has thrown up. Answer for this scenario is “Microsoft.SharePoint.Library.dll”
2) Check the all dll versions in your system and compare with your SharePoint Build Number from Central Administration- > Migration and Upgrade -> Check product installation and patch status.
Here you can find powershell commands for searching versions of specific file in your system.
https://blog.bugrapostaci.com/2011/12/26/powershell-find-files-with-versions/
3) Correct dll version if you have orginal version of this old dll.
or
4) Upgrade your SharePoint for  newer version of Cumulative Update than your build will solve this issue.

By the way if you are thinking the problem caused by a Custom Solution you may check fallowing article:
https://blog.bugrapostaci.com/2011/12/28/getting-null-reference-exception-when-try-to-open-list-settings-listedit-aspx-for-sharepoint-2010/

Have a nice day.