Monday, March 31, 2014

SQL Server 2012: An error occurred creating the configuration section handler for userSettings

Problem

You are performing an installation of Microsoft SQL Server 2012 Standard as part of deployment of a SharePoint Server 2013 farm.  On completion of the installation, you exit the installer and experience the following error message prompt on your desktop:
Unhandled exception has occurred in your application.  if you click Continue, the application will ignore this error and attempt to continue.  If you click Quit, the application will close immediately.

An error occurred creating the configuration section handler for userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings:Could not load file or assembly 'System, Version 4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.  The system cannot find the file specified. (C:\Users\[username]\AppData\local\Microsoft_Corporation\Landingpage.exe_StrongName_ryspccglaxmt4nhllj5z3thycltsvyyx\11.0.0.0\use
.
.
.
Solution
  1. Remove the folder %localappdata%\Microsoft_Corporation.

References

Tuesday, March 25, 2014

SharePoint 2013 Health Analyzer: Missing server side dependencies.

Problem

You find the following entry in the SharePoint 2013 Central Administration Review problems and solutions All Reports listing:

TitleMissing server side dependencies.
Severity1 - Error
CategoryConfiguration
Explanation[MissingWebPart] WebPart class [8307a780-2546-f10b-551f-0e692d0fce39] (class [Microsoft.Office.Server.Search.WebControls.SearchApplicationShortcutsList] from assembly [Microsoft.Office.Server.Search, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced [1] times in the database [CA Content], but is not installed on the current farm. Please install any feature/solution which contains this web part. One or more web parts are referenced in the database [Content CA], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
[MissingWebPart] WebPart class [63104819-a32f-88b6-ab4a-7bbd4fbb40e8] (class [Microsoft.Office.Server.Search.WebControls.FarmSystemStatus] from assembly [Microsoft.Office.Server.Search, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced [1] times in the database [Content CA], but is not installed on the current farm. Please install any feature/solution which contains this web part. One or more web parts are referenced in the database [Content CA], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
[MissingWebPart] WebPart class [9328cc53-be2c-1cca-f310-ddd573a106a5] (class [Microsoft.Office.Server.Search.WebControls.FarmSearchApplicationList] from assembly [Microsoft.Office.Server.Search, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced [1] times in the database [Content CA], but is not installed on the current farm. Please install any feature/solution which contains this web part. One or more web parts are referenced in the database [Content CA], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
[MissingWebPart] WebPart class [4465f30a-0604-4d3c-39fd-ecdb8812f3f3] (class [Microsoft.Office.Server.Search.WebControls.SearchTopologyOverview] from assembly [Microsoft.Office.Server.Search, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced [1] times in the database [Content CA], but is not installed on the current farm. Please install any feature/solution which contains this web part. One or more web parts are referenced in the database [Content CA], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
[MissingWebPart] WebPart class [a9bc1035-cf56-e003-8a4d-fff0bb3da148] (class [Microsoft.Office.Server.Search.WebControls.SearchApplicationSystemStatus] from assembly [Microsoft.Office.Server.Search, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced [1] times in the database [Content CA], but is not installed on the current farm. Please install any feature/solution which contains this web part. One or more web parts are referenced in the database [Content CA], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
RemedyFor more information about this rule, see "http://go.microsoft.com/fwlink/?LinkID=142689".
Failing Servers
Failing ServicesSPTimerService (SPTimerV4)
Rule SettingsView
 
Checking the the server's Application log, you see the following entry:

Log Name:      Application
Source:        Microsoft-SharePoint Products-SharePoint Foundation
Date:          12/29/2014 9:29:55 AM
Event ID:      6610
Task Category: Runtime
Level:         Error
Keywords:      
User:          NOS\OCS.SVC.SPFARMP13
Computer:      OCS-VS-WFE13P1.nos.noaa
Description:
Safe mode did not start successfully. Microsoft.SharePoint.WebPartPages.
WebPartPageUserException: This page has encountered a critical error. 
Contact your system administrator if this problem persists.
   at Microsoft.SharePoint.ApplicationRuntime.SafeControlsList.
GetSafeControlsListFromPath(SPWebApplication app, SPUrlZone zone)
   at Microsoft.SharePoint.ApplicationRuntime.SafeControlsList..
ctor(SPWebApplication app, SPUrlZone zone)
   at Microsoft.SharePoint.ApplicationRuntime.SafeControls..
ctor(SPWebApplication app, SPUrlZone zone)
Event Xml:
 
Searching the ULS for "WebPartPageUserException" you find this entry occurring at about the same time as the server event:

Safe mode did not start successfully. Microsoft.SharePoint.WebPartPages.
WebPartPageUserException: This page has encountered a critical error. Contact 
your system administrator if this problem persists.    
 at Microsoft.SharePoint.ApplicationRuntime.SafeControlsList.
GetSafeControlsListFromPath(SPWebApplication app, SPUrlZone zone)    
 at Microsoft.SharePoint.ApplicationRuntime.SafeControlsList..
ctor(SPWebApplication app, SPUrlZone zone)    
 at Microsoft.SharePoint.ApplicationRuntime.SafeControls..
ctor(SPWebApplication app, SPUrlZone zone)
 
Further searching the ULS using the correlation ID from the above entry, you find a variety of other related entries, such as:

SharePoint Foundation Upgrade SPManager ajxka WARNING WebPart class 
[8307a780-2546-f10b-551f-0e692d0fce39] 
(class [Microsoft.Office.Server.Search.WebControls.SearchApplicationShortcutsList] 
from assembly [Microsoft.Office.Server.Search, Version=15.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c]) is referenced [1] times in the database 
[OCSSP_Content_CA], but is not installed on the current farm. Please install 
any feature/solution which contains this web part. 
0c8ada9c-a30f-2064-a6e5-363947a1b323

Note the Microsoft.Office.Server.Search.WebControls class denoted in this last entry.  This indicates the source of the problem.  There are two solutions that have worked for me in the past: one involves simply navigating to the Farm Search Administration and Search Service Administration pages and refreshing them (CTRL+F5).  The other involves making minor edits to these pages.  Both are presented here.
 
Solution
  • Refresh Search Administration pages
    1. Launch CA as a farm administrator with sharepoint_shell_access role.
    2. Navigate to: General Application Settings > Search > Farm Search Administration.
    3. Press CTRL + F5 a few times.
    4. On the Farm Search Administration page, click the Search Service hyperlink.
    5. Press CTRL + F5 a few times.
    6. Navigate back to: Central Administration landing page > Monitoring > Review problems and solutions.
    7. Click the title hyperlink, Missing server side dependencies.
    8. On the ribbon, click the Reanalyze Now button.
    9. Click Close.  Wait a few minutes.
  • Edit the Search Administration Pages
    1. Launch Central Administration.
    2. Navigate to: General Application Settings > Search > Farm Search Administration.
    3. Click Settings > Edit page.
    4. Make any change to a web part (e.g., change the title of a web part), and then undo (don't worry: this won't break anything).
    5. Save the web part, and then exit edit mode.
    6. Navigate to: General Application Settings > Farm Search Administration > Search Administration.
    7. Click Settings > Edit page.
    8. Make any change to a web part (e.g., change the title of a web part), and then undo.
    9. Save the web part, and then exit edit mode.
    10. Navigate to: Monitoring > Health Analyzer > Review problems and solutions.
    11. Click on the error, Missing server side dependencies.
    12. Click the Re-analyze Now button.
    13. Click Close.
    14. Wait a minute or two.
    15. Click the error link again.
References
Notes
  • Unlike in 2010, navigating to the page and refreshing it is sometimes insufficient for resolving this issue in 2013.
  • You will find this issue cropping up again after running the SharePoint Products Configuration Wizard or psconfig.exe.  Or After rebuilding the Search Service application.
  • In step 15) above, if the error persists, try navigating to the Farm Administration page and refreshing it a couple of times, then do this for the Search service page as well.  Then re-analyze the rule.  I have found this to work.
  • UPDATE (6/13/15): I see this rule violation appear after every monthly farm update.  This time, after the May 2015 patch, I let it sit without trying to resolve it.  Recently, I used the old simple refresh search administration pages method to resolve it, and this worked (to my amazement).  I don't know why it sometimes works and doesn't at other times.  

SharePoint 2010: The view cannnot be displayed because it exceeds the list view threshold

Problem

You have a high-volume transactional SharePoint 2010 list that you use to track various items, such as, for example, service tickets.  You have a dashboard that provides filtered views onto this list.  The dashboard uses List View web parts to provide these filtered views.  Filtering is performed using simple values in list fields, such as Persons (usernames), text, etc.  When the number of service ticket items in this list exceeds the web application's List View Threshold, the dashboard web parts display errors:
This view cannot be displayed because it exceeds the list view threshold (5000 items) enforced by the administrator.
To view items, try selecting another view or creating a new view. If you do not have sufficient permissions to create views for this list, ask your administrator to modify the view so that it conforms to the list view threshold.
Learn about creating views for large lists.
None of your users can use the dashboard page to view tickets.

A temporary solution to this problem is to raise the web application's List View Threshold using Central Administration (see Note below).  This will enable your users to resume using the dashboard page, while you work on the problem.  A more permanent solution is to configure list column indices.  The permanent solution is discussed next.

Solution
  1. Logon as site collection administrator
  2. For each List View web part that exhibits the above error, identify the fields on which it is filtering the list.
  3. Navigate to the list's Site Settings.
  4. Scroll down below the Columns section until you find the Column options below it.
  5. Click Index Columns
  6. Click Create a new index.
  7. Select a Primary Column from the dropdown and do not select a Secondary Column.  The column that you select should be one of those columns that you found in

    Configure a single index if the problematic web part filters on one column. Configure a compound index if the web part filters on more than one column.
    Note: do not create a single index on a column that is filtered for blank values.  I have found that, if you do, the blank value filter will no longer function. This is not the case though if you create a compound index on this column.
  8. Click Create.  A new index will be shown.
  9. Using a standard domain account, go back to the dashboard page and press CTRL-F5.  The affect will be immediate.
  10. If the web part continues to present the same error, configure another column as index - taking the column from the list of such columns you found in step 3.  It may take just one, it may take several together.  Or try configuring a different compound index. You'll just need to test to determine the right combination.
  11. Once you have successfully resolved this for one List View web part, repeat for the next one, and so on.  For additonal information on the relationship between resource throttling and indexing, see the MSDN article Query Throttling and Indexing.
References
Notes
  • To configure the List View Threshold, go: Central Administration > Application Management > Manage web applications > [select the target web application] > General Settings > Resource Throttling.
  • I was able to resolve one threshold issue through some creative filtering.  A list view web part presented rows where a certain column had blank values.  Indexing that column caused the view to fail and not present any rows having this column blank values.  Using a compound index composed of this column and another column got around the threshold issue, but did not resolve the failure to show rows having a blank column value.  I then created an index on Created, and then I created a new view having a compound filter, where it filtered for both the blank value and for Created >= [Today]-7.  This seems to have efffectively introduced an indexed column into the view, Created, and thus resolved the threshold issue.

Thursday, March 13, 2014

SharePoint 2010: To open this document, your computer must be running...

Problem

When a user clicks the link for a file attachment to a list item, the user first is presented with an error regarding Word Web App:
Word Web App cannot open this document for viewing because of an unexpected error.  To view this document, open it in Microsoft Word.

The user then clicks the Open in Word button, and is presented with another error:
To open this document, your computer must be running a version of Microsoft Word and a browser that supports opening files directly from the Office Web Apps.  Learn more about the requirements.

The user needs to be able to actually open the document.  The user needs to be provided the ability to open the document in the client application.

Solution
  1. Two separate issues:
    1. Office Web App configuration.
    2. Accessing 32-bit object (Word) from 64-bit application (IE9-64)
  2. Ignore the first issue.
  3. Have user access the document using 32-bit IE.
References
Notes
  • Neither Chrome nor FF get around this issue.  Involves ActiveX.

SharePoint 2013: An exception occurred when trying to establish endpoint for context: Could not load file or assembly...

Problem

Your SharePoint 2013 farm network environment is highly secured.  Network operations pushes through a new GPO one evening having new security configurations.  Next day, you try connecting to your SharePoint 2013 site, and your browser displays HTTP Error 503 Service Unavailable. You try connecting to the farm's Central Administration, and experience the same error.  You check the Application event log of the server hosting the web application, and you see the following:
Log Name:      Application
Source:        Microsoft-SharePoint Products-SharePoint Foundation
Date:          [date/time]
Event ID:      8305
Task Category: Claims Authentication
Level:         Error
Keywords:      
User:          [domain\your account]
Computer:      [machinename]
Description:
An exception occurred when trying to establish endpoint for context: 
Could not load file or assembly 'Microsoft.IdentityModel.Extensions, 
Version=2.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca' or 
one of its dependencies. Either a required impersonation level was 
not provided, or the provided impersonation level is invalid. 
(Exception from HRESULT: 0x80070542).
Event Xml:
.
.
.
Troubleshooting
  1.  Check Services for SharePoint 2013 services
    • Results: SharePoint Administration service running; Claims to Windows Token Service (C2WTS) disabled; other SP services appropriately configured and running.
  2. Started C2WTS, then checked site.
    • Result: still experience 503 error.
  3. Checked IIS Application pools for SharePoint web applications and and services.
    • Results: these application pools stopped: search, main site, SharePoint Central Administration V4, SecurityTokenServiceApplicationPool, and some other app services; other SharePoint app pools are started.
  4. Started SharePoint Central Administration V4, SecurityTokenServiceApplicationPool, then checked site.
    • Results: still experienced 503 error; additionally, SecurityTokenServiceApplicationPool stopped again.  Re-attempts also failed.
  5. Granted main site (web application) application pool identity Logon as batch local right, then performed gpupdate /force.  Then connected to main site and then CA.
    • Result: connecting to main site now gets HTTP Error 500.  Central administration backup.
  6. Granted main site (web application) application pool identity Impersonate a client at authentication local right.  Performed gpupdate /force.  Then connected to main site and then CA.
    • Results:  Main site now up, but CA now down and returns "Unexpected error" message in browser.
  7. Granted Central Administration (web application) application pool identity Impersonate a client at authentication local right.  Performed gpupdate /force.  Then connected to main site and then CA.
    • Results: Main site still up and CA still down with same error message.
  8. Recycled and then restarted Central Administration (web application) application pool, and then restarted IIS.  Then connected to main site and then CA.
    • Results: both main and CA now up.
Solution
  1. Have the application pool identities for all farm web applications configured with Logon as batch and Impersonate a client at authentication local rights.
  2. After granting the identities these rights, restart the application pools.
References
Notes
  • Could not have resolved this without the assistance of sysadmins.
  • Application pool identities must have Logon as Batch and Impersonate a client after authentication local rights.
  • The above troubleshooting steps are not complete but are to the best of memory and may be missing some quick steps.

Thursday, March 6, 2014

SQL Server 2008: View Installed Features

Problem

You need to view the features installed on a SQL Server 2008 R2 instance. 

Discussion

There are at least two ways of going about this: using SQL Server Installation Center (installed and also available on the original installation DVD) and viewing setup files.  I haven't yet researched it, but I believe that you can also view installed features via PowerShell, but you may need to install the PowerShell for SQL Server first and run some configuration before you can do it.

Solution
  1. Use the SQL Server Installation Center:
    1. Go: Start > All Programs > Microsoft SQL Server 2008 R2 > Configuration Tools > SQL Server Installation Center.  The familiar installation dialog appears.
    2. Click Installed SQL Server features discovery report.  The report is generated and presented as a web page.
  2. Use saved setup reports:
    1. Go to: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log.  Each running of setup or the discovery report generates data that is saved here.
    2. Open the file, Summary.txt.  This file contains the configuration details from the most recent setup or discovery operation.

References

SharePoint 2010: How to view all user checked out files for a specific document library

Problem

You need to view all files that are checked out.  If Publishing is enabled, these will also not yet be published.  Such files will not visible even if you navigate to the target folder under your Administrator account. The References section provides links to related, interesting topics.

Solution
  • Use the document library's Manage files which have no checked in version option:
    1. Navigate to the document library using at least a Site Collection Administrator account.
    2. On the Library ribbon, click Library Settings button.
    3. In the Permissions and Management group, click Manage files which have no checked in version.
References
Notes
  • If you click this link, and then experience the error, "The query cannot be completed because the number of lookup columns...", you will need to increase the threshold value for the list.  You can do this in Central Administration by:
    1. Navigating: Central Administration > Application Management > Web Applications > Manage Web Applications
    2. Select the target web application
    3. Click the General Settings button on the Web Applications ribbon.
    4. Select Resource Throttling from the dropdown.
    5. Set the List View Threshold for Auditors and Administrators to a larger number.
  • If your users upload documents in bulk to a document library that has the Require Check Out set to Yes, all of the uploaded files will be uploaded as checked out to the user who uploaded them - and the user may not be aware of this.

Monday, March 3, 2014

SharePoint 2010: Event 6398: The Execute method of job definition Microsoft.SharePoint.Administration.SPTimerRecycleJobDefinition threw an exception

Problem


You perform routine review of farm server event logs and find the following event appearing in the server's Application log:
Log Name:      Application
Source:        Microsoft-SharePoint Products-SharePoint Foundation
Date:          [date/time]
Event ID:      6398
Task Category: Timer
Level:         Critical
Keywords:     
User:          [farmServiceAccount]
Computer:      [machineName]
Description:
The Execute method of job definition 
Microsoft.SharePoint.Administration.SPSqmTimerJobDefinition 
(ID 2912d44e-0ada-4536-8e05-d79fbeae9fcc) threw an exception. 
More information is included below.
Data is Null. This method or property cannot be called on Null values.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-SharePoint Products-SharePoint 
       Foundation" Guid="{6FB7E0CD-52E7-47DD-997A-241563931FC2}" />
    <EventID>6398</EventID>
    <Version>14</Version>
    <Level>1</Level>
    <Task>12</Task>
    <Opcode>0</Opcode>
    <Keywords>0x4000000000000000</Keywords>
    <TimeCreated SystemTime="[date/time]" />
    <EventRecordID>33386</EventRecordID>
    <Correlation ActivityID="{2217063A-9355-4C01-83AA-7C121F704FC9}" />
    <Execution ProcessID="2296" ThreadID="5900" />
    <Channel>Application</Channel>
    <Computer>[machineName]</Computer>
    <Security UserID="[SID]" />
  </System>
  <EventData>
    <Data Name="string0">Microsoft.SharePoint.Administration.
            SPSqmTimerJobDefinition</Data>
    <Data Name="string1">2912d44e-0ada-4536-8e05-d79fbeae9fcc</Data>
    <Data Name="string2">Data is Null. This method or property cannot 
be called on Null values.</Data>
  </EventData>
</Event>
Troubleshooting
  1. Perused Application log for other instances of the 6398 event associated with a timer definition execution failure
    • Result: several other instances of the same timer failure were found.
  2. Launched Central Administration; navigated to: Monitoring > Check Job Status; selected Job Definition from the View dropdown (upper right corner); selected CEIP Data Collection from the Job Definition dropdown.
    • Result: Verified failed status of jobs; also verified time of failed job status matched with event time in Application log.
  3. In Central Administration, navigated to: Application Management > Web Applications > Manage Web Applications; selected each web application and then reviewed its General Settings in turn:
    1. Result: three of four web applications had the Enable Customer Experience Improvement Program set to No.  One web application (of all things, CA itself), had this set to Yes.
  4. In Central Administration, navigated to: System Settings > Farm Management > Configure Privacy Options.
    1. Result: the Sign up for the Customer Experience Improvement Program option was set to No.
Solution
  1. Launch Central Administration
  2. Navigate to: Application Management > Web Applications > Manage Web Applications
  3. Select the target web application.
  4. Select General Settings from the General Settings dropdown on the Web ribbon.
  5. Scroll down to the bottom.
  6. Set Enable Customer Experience Improvement Program to No.
References