Problem: People Picker was hanging for about 2 minutes when searching for a user in the Grant Permissions area of the site
Cause: People picker was not set to search a single forest
Resolution: run the following commands:
stsadm -o setproperty -url http://contoso.test.net -pn peoplepicker-distributionlistsearchdomains -pv corp.contoso.com
stsadm -o setproperty -pn peoplepicker-searchadforests -pv domain:corp.contoso.com -url http://contoso.test.net
Problem: When clicking on the Help links in Central Ad,min” There is a compatibility range mismatch between the Web server and database "CentralAdmin_Content", and connections to the data have been blocked to due to this incompatibility. This can happen when a content database has not been upgraded to be within the compatibility range of the Web server, or if the database has been upgraded to a higher level than the web server. The Web server and the database must be upgraded to the same version and build level to return to compatibility range.”
Cause: Probably from manually manipulating the WSS_Content_Application_Pools and SharePoint_Shell_Access Database Roles. In this case they were missing
Resolution:
1) create a new SharePoint farm because we are going to need to take a clean, new Central Admin Content database that contains the WSS_Content_Application_Pools and SharePoint_Shell_Access Database Roles
2) Run these scripts:
1. New-SPContentDatabase -Name SP2013_Content_CentralAdmin -WebApplication http://servername:portnumber/ 2. Get-SPWebApplication -Identity http://servername:portnumber | Get-SPContentDatabase 3. Get-SPSite -ContentDatabase | Move-SPSite -DestinationDatabase 4. Do an IIS Reset 5. Open the Central Administration web site and navigate to the content databases page to confirm the new database now houses the two site collections (this can be verified too via PowerShell by running command on step 2) 6. Remove-SPContentDatabase -Identity
Steps: 1. Using your documented PowerShell Steps create a new Content Database for the Central Admin Web Application in the new farm and move the existing Central Admin Site Collections to this new Database. Stop at the step where you delete the old Central Admin Content DB. 2. Run the following stsadm command to clean up a couple of orphaned web records left after step 1 (use the Central Admin URL and old Central Admin database name where necessary): stsadm -o databaserepair -databasename -url -deletecorruption 3. In SQL Management Studio expand the Security section of the original Admin Content database. Remove all Domain\User accounts from Security. 4. Back up the Empty Central Administration Database. Section2: Move the Resource to the affected Farms We need to now restore the Empty Central Admin Database from Section1 in all affected farms. During the restore process you can give the database a new name. If you wish to rename the mdf and ldf you may also do this, but will need to take the database offline first. Steps: 1. Restore the Empty Central Administration Database to one of the affected farms. Complete all renaming of the DB and Database Files at this point. 2. Attach the newly restored database to the Central Administration Web Application (you can use either PowerShell or the UI for this step) 3. Using your documented PowerShell Steps move the Central Administration Site Collection to the database you restored and attached in steps 1 and 2 of this section. Again, do not delete the original Central Admin Content Database. You may also skip the step of creating a new Database as well. 4. From within SQL Management Studio manually add all users from the "old" Central Admin Content Database to the newly restored Central Admin Content Database. Be mindful of the user roles and who the DBO is for the new Central Admin Database.
Problem: When querying a specific term ie "book reports" via a search web service at url http://server/contentlibrary/_vti_bin/search.asmx they were seeing less than 100 results but when searching via the Search Center it returned 100s of results.
Cause: results from the web site were set to use Stemming, so both plural and nonplural forms of the search were returned. But the web service was NOT using Stemming (aka lemmatizations) so only exact match was returned
Resolution: Enable stemming/lemmatization in the web service queries so that the web service queries will return both plural AND nonplural forms of the search term.
HI everyone,
I will be attending the SharePoint conference next week. For those of you who have been there, I'm sure you'll agree its an amazing experience. This will be my 2nd time attending. I'm looking forward to the many sessions and finally meeting some of you.
For those who are not attending, what do you want to know? List any issues or pressing questions you have about SharePoint 2013 and I will do my best to get the answers.
Talk to you soon!!
Problem: Every time customer would run Upgrade-SPContentDatabase on a specific Content Database it would fail. The database was stuck in a compatibility mode since it could not be upgraded to the build version of the rest of the farm.
Troubleshooting:
param([string]$SiteURL)
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") | out-null$site = new-object Microsoft.SharePoint.SPSite($SiteURL)
#Loop over all websforeach($web in $site.AllWebs){ Write-Host "Checking Web: "$web.URL #Loop over the lists foreach($list in $web.Lists) { #Only continue on Task lists if($list.BaseTemplate -eq "Tasks") { #Loop over content types foreach($ct in $list.ContentTypes) { $isWFCT = $ct.Id.IsChildOf([Microsoft.SharePoint.SPBuiltInContentTypeID]::WorkflowTask) if($isWFCT -eq $true) { Write-Host " Found Workflow Content Type: " Write-Host " List: "$list.Title Write-Host " CType: "$ct.Name try { $field = $list.Fields[[Microsoft.SharePoint.SPBuiltInFieldId]::WorkflowInstanceID] } catch { Write-Host "------ERROR WITH WorkflowInstanceID------" -ForegroundColor Red }
try { $field = $list.Fields[[Microsoft.SharePoint.SPBuiltInFieldId]::GUID] } catch { Write-Host "------ERROR WITH GUID------" -ForegroundColor Red }
} } } } $web.Dispose()}
CheckingWeb: http://site1
CheckingWeb: http://site2
Found Workflow Content Type:
List: My Tasks List Items
CType: Workflow Task
Cause: This site collection was once a Project Server 2007 site that was migrated to sharePoint 2010. My guess is that this caused some corruption when the site was brought over.
Resolution: Downloaded SharePoint Manager for 2010: http://spm.codeplex.com/downloads/get/526736. This is a great tool that will allow you to view the entire structure (including lists and their fields) of a site in a tree-like structure. You have to install this tool on one of your sharepoint servers. We were able to see the duplicate field that the customer had identified to delete and deleted it via this tool. Re-ran Upgrade-SPContentDatabase successfully.
Fight Comparison: Holyfield vs. George Foreman. Foreman was stubborn, he wouldn't go down. But Holyfield's persistence paid off in the end, just as mine did.
Problem: a single user profile would not appear in the user profile store (Central admin >> Application Management >> Manage Service Applications >> user profile service>>Manage User Profiles). The user did exist in Active Directory.
"System.Net.WebException: The remote server returned an error: (404) Not Found. at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) at System.Net.WebClient.DownloadData(Uri address) at Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportExtension.DownloadPictures(ProfileChangeData[] profiles, Boolean delayErrors) at Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportExtension.Microsoft.MetadirectoryServices.IMAExtensibleFileImport.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String& customData)Forefront Identity Manager
Cause: Customer is on October 2012 CU, this is fixed in December 2012 CU. It happens because some users added a picture to their profile and then removed it at some point.
Resolution: Upgrade to a higher patch or, until you can plan and test the patch properly, you can perform the workaround below:
Fight Comparison: Had to call for help on this one, so more like a professional wrestling tag team match
Requirement: Customer wants to add a Content Editor web part to Community Portal page
Problem: When user clicks on the Gear icon>> 'Edit Page', then clicks 'Add a Web Part' there is no response
Workaround: Below is an out-of-the-box workaround.
This tip came about because we came out with security patch that only affected FAST Search for SharePoint 2010 deployments that have the ‘Advanced Filter Pack’ enabled. By default, it is disabled. My customer wanted to definitively check to see if it was enabled in order to prepare to install the security patch.
How to check:
Option 1: run the command to disable it, if its already enabled or disabled it will tell you in the output
Option 2: Go to \FASTSearch\etc\config_data\DocumentProcessor\optionalprocessing.xml. In that file there is a line like this: <processor name="SearchExportConverter" active="no" />
If it is enabled, active will be set to “yes”
Problem: Customer had a site that was migrated from MOSS 2007 to SP 2010, when they would try to ‘request change’ or ‘reassign’ a workflow, it would not set original task as complete and create another task as expected.
Resolution: Since this problem only existed on this one specific list and I could not reproduce, I figured something is corrupted on this specific list. Just like the social.technet.microsoft.com link above states, I verified that a similar case was resolved by deactivating and activating the following features:
We ran the following stsadm commands on the site collection in the given order to reprovision the task content type. stsadm -o deactivatefeature -filename "Fields\feature.xml" -force -url "http://Server/sites/siteCollection" stsadm -o deactivatefeature -filename "CTypes\feature.xml" -force -url "http://Server/sites/siteCollection" stsadm -o activatefeature -filename "CTypes\feature.xml" -force -url "http://Server/sites/siteCollection" stsadm -o activatefeature -filename "Fields\feature.xml" -force -url "http://Server/sites/siteCollection"
Then we created a new task list and voila…it had the Status field as expected.
Fight Comparison:
Problem: Another case of SharePoint Technologies and Configuration wizard (PSCONFIG) failing. Customer was running it via the GUI but it would fail with this message:
Troubleshooting: Of course, with this error, the first thing to check are permissions. Is the customer launching PSCONFIG as a local admin and does that account have farm rights within SharePoint? In this case, the answer was yes. I also made sure he was launching it as ‘Run as Administrator’, he was. Next, I asked him to run PSCONFIG via the command-line so that I could see more details: psconfig -cmd upgrade -force -inplace b2b –wait AND make sure to launch the SharePoint Timer service manually (because of a previous experience I had: http://blogs.technet.com/b/sharepointwarrior/archive/2012/12/07/sp-2010-psconfig-fails-with-missing-security-updates-that-are-actually-installed.aspx) but that did not work.
Resolution: Duh, ports 443 and 80 were blocked. After asking the network team to open these, PSCFONFIG completed successfully.
Fight Comparison: Holyfield vs Tyson II…I won by DQ just like Holyfield.
Problem: My customer discovered that they could not crawl any data from task list within the PWA site collection. I verified that the PWA site collection definitely was listed as a content source within the Search Service Application. This list here:
Could not be found when searched upon because it was not being crawled:
Resolution: According to one of my colleagues, the official resolution is that this is fixed in Project Server 2013. He does, however, have a post on a workaround. WARNING: Use extreme caution when making changes to the registry!!http://blogs.msdn.com/b/maulikr/archive/2011/06/15/project-server-2010-how-to-configure-search-for-pwa-sites.aspx
Problem: The first problem was that I am not very familiar with Project Server. Even though SharePoint is required for Project Server, they are different products. After migrating some Project Server 2007 sites to Project Server 2010 a few site collections had a problem in which when users would attempt to create a risk from the Risk list and it would error out with our dreaded correlation ID error. This is what I saw in the logs: “Document Management 52od Medium MetadataNavigationContext Page_InitComplete: No XsltListViewWebPart was found on this page[/”
I also saw lots of references to a non-existent web application. The web application being referenced was part of the former Project Server 2007 farm. After a lot of dead-end troubleshooting I looped in my Project Server colleague Brooks White and he cracked this nut.
Solution:
“Apparently, project sites exported from Project Server 2007 and imported into Project Server 2010 can exhibit this behavior (where you can’t create new Issues or Risks and can’t properties on documents) when they do not have an associated project under Server Settings > Project Sites. This project site had no associated plan.”
For more good reading and tips on Project Server, check out my colleague Brooks Whites blog: http://blogs.technet.com/b/brookswhite/
Fight Comparison
The British Bulldogs vs Demolition…I was getting worked, just like the Dynamite Kid was as Ax and Smash teamed up on him. But then, he called his big bro Davey Boy Smith to help out, that changed everything…good teamwork.
Problem: Customer was trying to run SharePoint Technologies and Configuration wizard (PSCONFIG) to apply some patches to the farm. Although the binaries were already installed, PSCONFIG would fail with a message saying that the some security patches were missing.
Troubleshooting: I looked in the PSCONFIG (Upgrade) logs and saw this: ”This upgrade session has been stopped. Possible causes include the process being terminated abruptly or the OS has rebooted. Please restart the upgrade again.” which was very strange because the server was not rebooted, PSCONFIG was failing for no reason. I had the customer run PSCONFIG via the stsadm command line: psconfig –cmd upgrade –wait –force –inplace b2b, but it still failed on that one server during the final step. Then we tried modifying the command by adding the noinstallcheck switch: PSConfig -cmd upgrade -inplace b2b -foce -cmd applicationcontent -install -cmd installfeatures -cmd installcheck –noninstallcheck, but it still failed, but this time we had the clue we needed in the PSCONFIG logs:
" syncUpgradeTimerJob: SPTIMERV4 is not running anymore. Return -1". ERR - The exclusive inplace upgrader timer job failed That means when during the upgrade, the SharePoint timer service was not starting when it needed to
Fight Comparison: This was a tag team effort
Problem: In the ULS logs we found this error:
Exception occured while submitting data into the Stager (tableName=WAQueryFeedback ): System.InvalidOperationException: The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. ---> System.InvalidOperationException: String or binary data would be truncated.
at System.Data.SqlClient.SqlBulkCopy.ConvertValue(Object value, _SqlMetaData metadata) -
-- End of inner exception stack trace ---
Solution: I first asked the customer to verify that the ‘Usage and Health data collection proxy’ was working properly. He went into Central administration and verified it was accessible and you could get to it. After re-provisioning the service with the below powershell command the error went away:
$svcAppProxy = Get-SPServiceApplicationProxy | where-object {$_.TypeName -eq “Usage and Health Data Collection Proxy”} $svcAppProxy.Provision()
Fight Comparison: Virgil Hill vs Roy Jones Jr…after feeling each other out for a few, Jones took him out in the 4th
Problem: Today a string a errors appeared on web parts within a customer’s sharepoint 2010 farm such as:
Resolution: The fact that this ‘used to work before’ and that all of these problems appeared today was very suspicious in regards to something in the network having changed. According to the customer no infrastructure changes were made recently. The customer was using NTLM so that was another clue that it could not pass through NTLM authentication. Fix was to bypass the local proxy via the web.config file:
<system.net>
<proxy usesystemdefault="false" proxyaddress=http://proxy.contoso.com bypassonlocal="true" />
</system.net>
Fight Comparison Larry Holmes vs. Leon Spinks…easy
Problem: Customer discovered that the ULS logs had stopped generating. Within the Logs file there were files but from an old date.
Troubleshooting: I looked in Event viewer and found this:
Tracing Service failed to create the trace log file at location specified in SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\LogDir Error 0x0: The operation completed successfully. . Traces will be written to the following directory: C:\Windows\SERVIC~2\LOCALS~1\AppData\Local\Temp\.
Fight Comparison Fedor vs Arlovski: This was an easy one that was a weird resolution but it worked. Kind of like when Fedor was getting pushed back by Arlovski, and then decided to throw a Hail Mary punch to his face, knocking him out cold.
Problem: Customer needed a way, via PowerShell to convert a column from single line of text to Multi-line of text. I first verified that the column they were trying to convert was not the default ‘Title’ column, I would not recommend touching that one. The customer had run into an issue where the Single Line of text column’s 255 character limit was truncating some entries.
$web=Get-SPWeb "http://nameOfSite"
$list = $web.Lists["NameOfList"]
$column = List.Fields["ColumnName"]
$script:noteFieldType = [Microsoft.SharePoint.SPFieldType]::Note
$column.Type = $noteFieldType
$column.Update()
$web.Dispose()
NOTE: Remember to run these scripts with the correct permissions. When the customer ran it the first time, they had some vague errors like 'Cannot index into a null array'. Found out they were logged into the server as themselves, once they logged in as a farm account, the script worked fine.
Fight Comparison: Mike Tyson Vs. Carl ‘The Truth’ Williams…easy KO
Problem: My job involves me sitting behind a computer and using my brain a lot, therefore, very little physical movement and overuse of my brain. Although I workout regularly I needed a goal to achieve in order to workout the way I used to. And I wanted to look forward to a weekend in which I did not use my brain, yet involved intense physical activity.
Resolution: In March my little brother emails me details about this thing called Tough Mudder. Tough Mudder is a mud-run but from what I hear, it’s the most challenging one of all. 10-15 miles of obstacles, designed by the British Special Forces, that involve scaling 10 foot walls, climbing cargo nets, plunging into ice cold water, and of course, all the while, trudging and crawling through mud. Average time of completion is around 2.5 hours. I’m glad I found that out about its reputation only a few days ago because I probably wouldn’t have gone through with it. July 7th is the big day and we’ve been training for the past 3 months for it, so hopefully, come Monday, I will have some new bragging rights. I survived my first year at Microsoft, how much more challenging can Tough Mudder be than that
Problem: Customer installed Office Web Apps, runs PSCONFIG and then sees the dreaded 500-Internal Server Error when browsing to site collections in their farm.
From past experience, I knew this must be a problem with the web.config and that it must have to do with installing Office Web Apps because everything was working fine just before doing so. And it was affecting all web applications on the farm. I did the basics, reset IIS, clear the config cache but none of that worked, although I hoped it would. After scouring the internet, asking colleagues, I was so happy to find this blog post that fixed the problem: http://amritatalreja.wordpress.com/2011/07/27/http-error-500-19-internal-server-error-after-installing-office-web-application/
Fight Comparison GSP vs BJ Penn I….after getting his butt kicked in the first round, GSP listened to his coach, modified his game, like I modified the web.config file per my online coach Amrita, and won by split decision. A win is a win.
Problem: End-user created a web site from the Projects Web Database site template and upon browsing to the home page of that site would receive an ‘Unexpected error occurred while running macro’ message:
Resolution: The user did not know it but they had invoked Access Services by creating a site from the Projects Web Database template so that allowed me to narrow down my troubleshooting scope. I checked to see if Access Services was turned on in the farm and yes it was. Upon further research I discovered that if Access Services is activated on an Application Server you will also need to turn on the Microsoft SharePoint Foundation Web application Service, thus turning that machine into a WFE/APP server. Problem with this approach is that it could affect your licensing agreement because licensing depends on the number of WFE’s your farm has.
User decided to do this instead:
Fight Comparison Mike Tyson vs Frank Bruno I…Frank Bruno was a big, monstrous guy, but Mike was fearless and took him out in the 5th. This error looked more complex than it really was….just like Frank Bruno.
Problem: This customer would try and browse to their My Site web application but would receive the dreaded 500 - Internal Server error:
From my experience, right off the bat I know this is usually a web.config problem. I was given a clue by the customer that this happened during a time when some of the admins were playing around with the installation of some 3rd party web parts in this environment. My hunch was that something got written to the web.config for this web app because when I looked at Central Admin, I noticed that they had deployed these custom web parts to ALL web applications including My Sites. So the moral of the story is to be selective when deploying web parts and only install them on the web applications that need them.
Resolution: Since this My Site web application was pretty clean, meaning no customizations were MEANT to have been installed on it, I figured the quickest thing would be to:
Fight Comparison Aaron Pryor vs Alexis Arguello…Pryor just had Alexis number
Problem: User clicks on a preformatted URL like this:
http://sharepoint/sites/test/Lists/Calendar/calendar.aspx?CalendarDate=4/16/2012 in order to get to a week view of a calendar but no data appears. I verified that data for this week does indeed exist. I also verified that I could not reproduce this issue on a pre SP1 + Dec. 2011 CU environment so it appears to be a bug present before this build. This particular customer was on the Feb. 2011 CU:
Resolution: It was not possible for the customer to patch up to a higher patch level at this time, but thanks to my colleague Kerry Williams, he figured out that changing the date format in the URL fixed the problem and displayed data in the weekly view as the user expected: http://sharepoint/sites/test/Lists/Calendar/calendar.aspx?CalendarDate=2012-04-16. This was an easy change that the user was able to make on their links to these views
No Contest
Problem: Although Info path gives you the ability to create a custom message after submission, lots of users have requested more than that. They haven’t been happy with the way the form just leaves you sitting there in the List, it can be confusing. So we have a way in which you can make an InfoPath form function like a traditional web form wherein you fill out the form and upon clicking the ‘Submit’ button, the user is taken to a Thank You page
1. Create a Thank You page and save it somewhere on your site. We recommend using any editor, like Notepad or SharePoint Designer to create an html page with a message of your choosing such as “Thank You for your submission”
2. Click on that Thank You page and record the URL I.E., it will look something like this: http://mydomain.com/sites/YourSite/YourDocLibrary/ThankYou.html
3. Now you need to figure out the URL to your InfoPath form. Either click on it and record the URL or if you have attached the InfoPath form to a SharePoint List, then you will need to alter the URL like this: http://mydomain.com/sites/YourSite/YourList/NewForm.aspx, as you can see we just added the NewForm.aspx to the end of it.
4. Take the URL you recorded in step 3 and add the following: ?Source=http://mydomain.com/sites/YourSite/YourDocLibrary/ThankYou.html, So the URL should look like this: http://mydomain.com/sites/YourSite/YourList/NewForm.aspx?Source=http://mydomain.com/sites/YourSite/YourDocLibrary/ThankYou.html << this is the link you will send to your users in order to fill out your form. When your users click on this new link, it will tell SharePoint to automatically redirect them to your Thank You page after they submit.
On that Thank you page you can add a link to go to another page or you can get real fancy and add a Meta refresh tag to automatically take redirect your users, for example, to the home page of your site. How do you do that? Simple. Add this line: <meta http-equiv="refresh" content="2;url=http://mydomain.com/sites/yourSite/"> in between the <head></head> tags of your HTML page. Just to explain a little more about that line, the number 2 in this case represents 2 seconds. So you can modify that to keep the user on that page longer or shorter by replacing that number with a different one. The url would be the url of your home page or any other site you want to redirect the user to.
Tyson vs. Spinks…this one was easy.
Problem: User could not create a new web application in MOSS 2007. When creating user would receive the following error in both their test and production environments:
The following was found in the ULS logs:
Microsoft.SharePoint.Administration.SPUpdatedConcurrencyException: An update conflict has occurred, and you must re-try this action. The object SPWebApplication Name=MyServer.net was updated by domain\account, in the w3wp (7936) process, on machine MACHINE_NAME. View the tracing log for more information about the conflict. at Microsoft.SharePoint.Administration.SPConfigurationDatabase.StoreObject(SPPersistedObject obj, Boolean storeClassIfNecessary, Boolean ensure) at Microsoft.SharePoint.Administration.SPConfigurationDatabase.Microsoft.SharePoint.Administration.ISPPersistedStoreProvider.PutObject(SPPersistedObject persistedObject, Boolean ensure)
Researched and talked to some colleagues about a similar error to: SPUpdatedConcurrencyException: An update conflict has occurred, and you must re-try this action. They mentioned finding a similar error in the Event logs and problem was something to do with a 3rd party workflow causing a conflict upon creation of the Web Application. I had the user do the following:
· Reproduce the problem in a test environment · Record the time of the error · Look for the error in the Events log around the same time as the reproduced error: SPUpdatedConcurrencyException: An update conflict has occurred, and you must re-try this action · There should be a feature/solution listed that is probably the culprit · User retracted suspect solution · Successfully created a web app
· Reproduce the problem in a test environment
· Record the time of the error
· Look for the error in the Events log around the same time as the reproduced error: SPUpdatedConcurrencyException: An update conflict has occurred, and you must re-try this action
· There should be a feature/solution listed that is probably the culprit
· User retracted suspect solution
· Successfully created a web app
Tyson vs. Douglas. I was terrified, first few months on the job, had never seen this error before AND it was going to possibly delay the user’s go live date. Not being able to create a new web application is pretty limiting to say the least. Douglas must have been terrified too, facing the baddest man on the planet, the seemingly invincible Mike Tyson. But he persevered, almost got knocked out and pulled through in the end.
Problem: When a Site Owner tries to access ‘Manage Content and Structure’ link they receive the following error:
Although there are probably many causes for this error, we fixed it by enabling Publishing Features on this site
Fight Comparison: Rahman vs Lewis I, lucky knockout for Rahman, just like I got lucky on this one, I was hoping turning on these features would work and it did, lights out.