Tag Archives: SharePoint 2013

Fuzzy / Phonetic Search Does not Work in SharePoint 2013

Issue / Symptoms

Fuzzy / phonetic name searching is not working in people search in SharePoint 2013. For example, if you search for my name as “myree” (which is how it sounds), you would not get my profile as a result.

Here is a good reference on finding if your farm is having this issue (however the fix suggested is no longer the recommended solution): https://blogs.msdn.microsoft.com/ronalg/2015/02/25/sharepoint-2013-fuzzy-and-phonetic-people-search-dont-appear-to-be-working/

How to Reproduce the Issue

  1. Turn up logging level by running the following command (do this on non-prod or off hours)
Set-SPLogLevel –TraceSeverity:VerboseEx
  1. Open ULS log viewer and create a filter on “EN_EN.mdl” OR “fuzzy”
  2. Browse to the people search page and enter a name
  3. You will see entries similar to the following if your farm has this problem
On Query Server:

10/25/2016 13:07:45.13 NodeRunnerQuery2-936ea3ce-afa6- (0x0C0C) 0x270C Search Fuzzy Name Search ajyfa Unexpected CCANameProjector : Exception:Exception : Access to the path ‘E:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\CanonicalResources\ProjectionModels\EN_EN.mdl’ is denied. encountered while attempting to load the Projection Model Catalog E:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\CanonicalResources\ProjectionModels\EN_EN.mdl for Language : en encountered while attempting to load the projection model. 3af3b09d-aa93-906f-2913-467b8e5e0f93

On Crawl Server:

CCANameProjector : Exception:Exception : Access to the path ‘E:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\CanonicalResources\ProjectionModels\EN_EN.mdl’ is denied. encountered while attempting to load the Projection Model Catalog E:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\CanonicalResources\ProjectionModels\EN_EN.mdl for Language : en encountered while attempting to load the projection model.
CCAMetadataProducer : Fuzzy metadata generation failed to load resource for language: en.
CCAMetadataProducer : Fuzzy metadata generation failed for the current record. Check logs for more details.

  1. Remember to turn log levels back down!
Clear-SPLogLevel

If you watch the search index directory using procmon while running searches or profile crawls, you will see the access denied messages.

Cause

This is a known bug in SharePoint 2013.  It has been there since RTM.  The good news is that it is finally fixed in the July 2016 CU for SharePoint 2013.  This happens in scenarios when you run in the recommended way of having a separate service account (domain account) for the service service.  Under this condition, the service account does not have the permissions that the code requires.  The fix in the July CU changes the code so that read only access is all that is required on the search index directory.

Solution

Upgrade your farm to at least the July 2016 CU.  Once this fix has been applied, you will likely need to wait 1 day for all of the indexing / processing to take place before fuzzy / phonetic searches start working.

Test

After waiting a day, test this out using the SharePoint Search Query Tool.  Make sure you have nicknames and Phonetic enabled as shown below:

searchtool

Workarounds

If you can’t upgrade your farm for whatever reason, a temporary workaround would be to add your search service account to WSS_ADMIN_WPG local security group.  This change would require a reboot (or a service restart).

Error Processing the PowerPivot Management Dashboard

Symptoms

There is a timer job called “PowerPivot Management Dashboard Processing Timer Job” that, by default, runs daily.  This process relies on the secure store service to authenticate to the data source.  If the permissions on the SSS target application are not correct, you will receive an “Access is denied to the secure store service” error when this timer job runs.

clip_image002

Solution

Check the SSS ID for the Refresh Account

$ppv = Get-PowerPivotServiceApplication

$ppv | fl *Account*

Next, open the SSS and edit the Target Application that corresponds to the one that the PowerPivot service application is using.

clip_image004

On the third page of the edit wizard, ensure that the farm account and the service application account for PowerPivot are in the Members list:

clip_image006

Lastly, Re-Run the Dashboard Processing Timer Job by clicking Run Now on the timer job definition page, or you can run script below.

Get-SPTimerJob “PowerPivot Dashboard Processing Timer Job” | Start-SPTimerJob

clip_image008

Result

You should now see that the cube has been processed on the PowerPivot management dashboard!

clip_image010

Incoming Email not Processing After 2013 Upgrade

Issue

After upgrading my SharePoint 2010 databases to SharePoint, I noticed that incoming email was not processing. The timer job was running every minute as it should, but it would throw and error for each message in the drop folder:

clip_image002

Message: Error occurred processing 1 message(s).

In my case, my 2013 farm was running the December 2014 CU, which is version 15.0.4675.1000.

Cause

There is a bug that was likely introduced in the December 2014 CU that incorrectly checks the Sandbox Solution Code Limit on the site’s quota. The key here is that the quota template needs to have values specified in the Sandbox Solutions with Code Limit section.

This won’t work

clip_image004

This will work:

clip_image006

Resolution

Update the site’s quota template to include both storage and sandbox solution code limits.

A bug report has already been filed with Microsoft on this issue.

UPDATE 4/15/15: A fix for this issue is included in the April 2015 CU for SharePoint 2013

SharePoint 2013 – Access to WSS Virtual Directory Denied – Event 7888

Symptoms

  • SharePoint web app won’t load
  • Event 7888 in your SharePoint Operational Event log

 

 

Event Details:

Log Name:      Microsoft-SharePoint Products-Shared/Operational
Source:        Microsoft-SharePoint Products-SharePoint Server
Date:          3/11/2015 2:34:29 PM
Event ID:      7888
Task Category: General
Level:         Warning
Keywords:     
User:          NT AUTHORITY\IUSR
Description:
A runtime exception was detected. Details follow.
Message: Access to the path ‘D:\Web\wss\VirtualDirectories\SiteName\bin’ is denied.
Technical Details:
System.UnauthorizedAccessException: Access to the path ‘D:\Web\wss\VirtualDirectories\MySite\Default\bin’ is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.DirectoryInfo.InternalGetFiles(String searchPattern, SearchOption searchOption)
   at System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
   at System.Web.Configuration.AssemblyInfo.get_AssemblyInternal()
   at System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
   at System.Web.UI.ScriptManager.get_DefaultAjaxFrameworkAssembly()
   at System.Web.UI.ScriptManager..ctor()
   at ASP.MYSITE15_MASTER__373277105.__BuildControlScriptManager()
   at ASP.MYSITE15_MASTER__373277105.__BuildControl__control29()
   at ASP.MYSITE15_MASTER__373277105.__BuildControlSPHtmlTag()
   at ASP.MYSITE15_MASTER__373277105.__BuildControlTree(MYSITE15_MASTER__373277105 __ctrl)
   at System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection)
   at System.Web.UI.Page.ApplyMasterPage()
   at System.Web.UI.Page.PerformPreInit()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 

 

Solution

Run the SharePoint products configuration wizard.  The configuration wizard applies the needed local permissions for SharePoint to function. 

Search Host Controller Service stuck in ‘Starting’

Symptoms

When you try to create a new search service application in SharePoint 2013, you get an error back from New-SPEnterpriseSearchServiceApplication that indicates that the search services are not running on the computer.

If you look at the “Services on Server” page, you will notice that the “Search Host Controller Service” is stuck in the Starting state.

image 

Looking at the event log, you will see repeated errors from the service:

 

Event 1000

Log Name: Application

Source: Application Error

Level: Error

Description:

Faulting application name: hostcontrollerservice.exe, version: 15.0.4521.1000, time stamp: 0x519e34b6

Faulting module name: KERNELBASE.dll, version: 6.3.9600.17415, time stamp: 0x54505737

Exception code: 0xe0434352

Fault offset: 0x0000000000008b9c

Faulting process id: 0xd8c

Faulting application start time: 0x01d0584c573dbfcd

Faulting application path: D:\Program Files\Microsoft Office Servers\15.0\Search\HostController\hostcontrollerservice.exe

Faulting module path: C:\Windows\system32\KERNELBASE.dll

Report Id: 95d19148-c43f-11e4-80dd-005056851adf

 

Event 1026

Log Name: Application

Source: .NET Runtime

Level: Error

Description:

Application: hostcontrollerservice.exe

Framework Version: v4.0.30319

Description: The process was terminated due to an unhandled exception.

Exception Info: System.ServiceModel.CommunicationException

Stack:

at Microsoft.Ceres.HostController.WcfServer.WcfService.StartService()

at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)

at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)

at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)

at System.Threading.ThreadHelper.ThreadStart()

 

Event 8193

Log Name: Application

Source: VSS

Level: Error

Description:

Volume Shadow Copy Service error: Unexpected error calling routine RegOpenKeyExW(-2147483646,SYSTEM\CurrentControlSet\Services\VSS\Diag,…). hr = 0x80070005, Access is denied.

Operation:

Initializing Writer

Context:

Writer Class Id: {0ff1ce15-0201-0000-0000-000000000000}

Writer Name: OSearch15 VSS Writer

Writer Instance Name: OSearch15 Replication Service

Writer Instance ID: {d3326e3d-2c07-4bab-8019-d0c197d8bc4e}

 

Resolution

Correct the permissions issue in the registry

1. Open RegEdit

2. Edit the permissions on the following key to grant the local group called WSS_WPG full control of the following keys

HKLM\System\CurrentControlSet\Services\VSS\Diag
HKLM\System\CurrentControlSet\Control\ComputerName

This is needed so that SharePoint can create the following key:

image

Stop and then re-provision the service

1. Run the following script to force stop the service that is stuck in starting:

$server = Read-Host “Server Name”

$ServiceInstance = Get-SPServiceInstance -Server:$server | ? {$_.TypeName -eq “Search Host Controller Service”}

$ServiceInstance.Unprovision()

2. Start your process of creating the search service application over again. For example, you can run:

Start-SPEnterpriseSearchServiceInstance $server

Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $server

3. You should then see that the host controller has successfully started

image

Office Web Apps 2013 – Error Opening File from SharePoint 2013

Office Web Apps 2013 still seems to have issues if you like to follow basic IT standards and not install applications on the system drive. Originally, I setup an Office Web Apps 2013 SP1 farm to support Lync 2013. I installed Office Web Apps to the D drive as well as configured the cache and logging directories to go to the D drive. OWA is running on Server 2012 R2. Everything worked great with Lync. Then, I added SharePoint 2013, which produced the following errors after a long pause when trying to open PowerPoint and Word files:

Sorry, we can’t open this presentation because we ran into a problem. To view or edit this presentation, open it in Microsoft PowerPoint.

 

Sorry, Word Web App ran into a problem opening this document. To view this document please open it in Microsoft Word.

 

Looking in the security event log on the server, you could find errors such as the one below:

Log Name:      Security
Source:        Microsoft-Windows-Security-Auditing
Date:          6/13/2014 6:42:20 PM
Event ID:      4656
Task Category: Removable Storage
Level:         Information
Keywords:      Audit Failure
User:          N/A
Computer:      server.fqdn
Description:
A handle to an object was requested.

Subject:
    Security ID:        NETWORK SERVICE
    Account Name:        NETWORK SERVICE
    Account Domain:        NT AUTHORITY
    Logon ID:        0x7A77C

Object:
    Object Server:        Security
    Object Type:        File
    Object Name:        D:\Cache\OfficeWebApps\waccache\LocalCacheStore\NT AUTHORITY_NETWORK SERVICE\9f9212ad37014cdf8eb6964be32f90d2\output.docx
    Handle ID:        0x0
    Resource Attributes:    -

Process Information:
    Process ID:        0x1c7c
    Process Name:        D:\Program Files\Microsoft Office Web Apps\WordConversionService\bin\Converter\AppServerHost.exe

Access Request Information:
    Transaction ID:        {00000000-0000-0000-0000-000000000000}
    Accesses:        READ_CONTROL
                SYNCHRONIZE
                ReadData (or ListDirectory)
                ReadEA
                ReadAttributes
                
    Access Reasons:        -
    Access Mask:        0x120089
    Privileges Used for Access Check:    -
    Restricted SID Count:    6

 

 

First, I reinstalled the OWA farm to the C drive (System). I can’t stand when applications log to the system drive, so then I started moving one thing at a time over to D. This can be accomplish with the Set-OfficeWebAppsFarm cmdlet. What I found was that changing the ‘RenderingLocalCacheLocation’ is specifically what breaks OWA. Setting the ‘LogLocation’ and the ‘CacheLocation’ to the D drive seems to still work okay.

So, you can still move Logs and Cache to the D drive using the following cmdlet:

Set-OfficeWebAppsFarm -LogLocation:"D:\Logs\OfficeWebApps" -CacheLocation:"D:\Cache\OfficeWebApps\Working\d\"