Showing posts with label TroubleShooting. Show all posts
Showing posts with label TroubleShooting. Show all posts

Handle Multiple Domain during SharePoint Migration

This blog describes the problem statement and resolution i.e. How to handle multi-domain issue during SharePoint Migration.
This is quite interesting & common scenario, which we face in almost all migration project i.e. On-Premises to On-Premises or On- Premises to Online.
SharePoint Migration project easily enters into escalation mode due to multi domain users after entire application migration.
Somehow application team tries to convince the business user to adapt or change the User Name with a NEW domain. This is something no business user ready to accept.
Scenario illustrated in below diagram:-


Problem Statement:-
Before Migration, Project was using Domain OLD.com and application URL like https://sharepoint.old.com where the user also have their login id like <<Domian>>\<<USerName>> old\user etc.
Business wants to migrate the application to different domain i.e. On Premises or Online.
New Domain like NEW.com and application URL like https://sharepoint.new.com
Users, who are part of the NEW domain can easily recognize by control and start using the application but some users are still part of the old domain.
As our new migrated application hosted into new domain so old domain user doesn’t recognize into new domain application.
 Below are the ways to resolve the issue:-
Option 1:-
If both domains have  TWO WAY TRUST. No configuration required. the user can be added as <<OLDDomain>>\<UserID>; instead of only user name.
 Option 2:-
If both domains have ONE WAY TRUST. Only people picker control configuration need to do using PowerShell. It will help control and application to recognize the user.
Option 3:-
 If both domains don't have TRUST process. User Profile Synchronization needs to perform. It will help control and application to recognize the user.


Ref :- https://collab365.community/sharepoint-2013-people-picker-problem-with-2-way-trusted-domains/

Error occurred in deployment step Add Solution

Issue Occurred while deploying the WSP using Power Shell getting below error:-

Power shell Error Message :: Error occurred in deployment step 'Add Solution': Operation is not valid due to the current state of the object.

Most of the article suggest below solution and which solved their issues also but No Luck

  1. Restart "SharePoint Timer Service" on all the servers.
  2. Deployment Solution with –Force parameter
  3. Set "Active deployment Configuration" - as "No Activation"


  

ULS Log Message :: The timer service could not initialize its configuration, please check the configuration database

Most of the article suggest below solution and which solved their issues also but No Luck
  1. Clear the Config Cache from each Server  Location of the file:- C:\Documents and Settings\All Users\Application Data\Microsoft\SharePoint\Config\<guid>\
  2. Stop the Administration and Timer service from each server one by one.
  3. Delete all XML files in the folder at defined location C:\Documents and Settings\All Users\Application Data\Microsoft\SharePoint\Config\<guid>\  (not the folder itself only files)
  4. Open “Cache.ini” and write the number 1 instead of the existing number (you might want to make a note of it).
  5. Start the Administration and Timer service from each server one by one.
  6. Wait for a minute or two and see if the folder starts to fill up with xml files. Xml files should start  appearing.

 Resolution:-

 Actually Issue - Folder was missing from the location:- C:\Documents and Settings\All Users\Application Data\Microsoft\SharePoint\Config - which only consist Cache.ini file .

  1. Stop the Windows SharePoint Services Timer service on ALL servers in the farm.
  2. On the server configured for Indexing, browse to %ALLUSERSPROFILE%\Application Data\Microsoft\SharePoint\Config.
  3. Open the Registry editor and navigate to the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\15.0\Secure\ConfigDB.
  4. Take a note of the Guid value for the Id item as shown below

  5.  
  6. Re-create the cache folder giving it the title matching the Guid value retrieved from the Registry.
  7. You can now re-start the Windows SharePoint Services Timer service on the current server.  You  should see xml files appear in the folder shortly after the service starts.
  8. Repeat all the steps above for all other servers in your farm.


Happy Coding..

EXECUTE permission was denied on the object 'proc_putObjectTVP'

While Configuring or creating the SharePoint 2013 Search Service Application using Central Administration - Start getting the error:-
Unable to retrieve topology component health states

Search Service application was not showing the topology. Then I start creating the Search Service Application using Power Shell Script, Error message start appearing :-

EXECUTE permission was denied on the object 'proc_putObjectTVP'


This error clearly state, Account you are using for configuring search service application does not have sufficient privileges on the above mention Stored Procedure.

Resolution:-


1. Expand Databases then expand the SharePoint_Config Database.
2. Expand Security -> Roles -> Database Roles
3. Find WSS_Content_Application_Pools role, right click it, and select Properties
4. Click on Securables and click Search
5. Next click Specific objects and click OK
6. Click Object Types and select Stored Procedures. Click OK
7. Add the Stored Procedure 'proc_putObjectTVP' and click OK (if it does not automatically grant it exec permission; you need to click the checkbox on "execute" and save it)

Again it was prompting for other stored procedure:- Again I followed the all above steps for theses two stored procedure:-
proc_putObject
proc_putDependency

Or Run the below commands:-
use [Sharepoint_Config]
GO
GRANT EXECUTE ON [dbo].[proc_putObjectTVP] TO [WSS_Content_Application_Pools]
GRANT EXECUTE ON [dbo].[proc_putObject] TO [WSS_Content_Application_Pools]
GRANT EXECUTE ON [dbo].[proc_putDependency] TO [WSS_Content_Application_Pools]

GO


Happy Coding..

An unrecognized HTTP response was received when attempting to crawl this item.

SharePoint 2013 Search Service Application does not give accurate result with HTTPS site.

I created a web application with SSL and start crawling it -For crawling the HTTPS site properly we need to upload or provide the proper certificate for HTTPS and HTTPS site should be accessed  without warning or error message like:-



If SSL site crawled without proper cert with below error appear and crawl also fail
Crawl Log Error:- An unrecognized HTTP response was received when attempting to crawl this item. Verify whether the item can be accessed using your browser.

Resolution:-
Search is failing due an invalid certificate; I created a Root CA cert and then generated a Cert from that root CA with the required CN. After we used the new cert on web site (Added the root CA to machine’s trusted root certificate) search of HTTPS documents started working (which it was not previously).


Happy Coding..

Unable to retrieve topology component health states

While configuring the SharePoint 2013 Search Service Application using Central Administration. I got the above error:- "Unable to retrieve topology component health states"





But If we create the SharePoint 2013 Search Service Application using Powershell script which prompt lots of other related error like:-



  1. SharePoint 2013 Search Topology Activation Error: "Unable to retrieve topology component health states. This may be because of the admin component is not up and running".
  2. Exception calling "Activate" with "0" argument(s): "Topology does not contain any components of type Microsoft.Office.Server.Search.Administration.Topology.AdminComponent.
  3. Crawling Stuck with Starting or Stopping Mode.


    Corrective Action should be considered:-
                  1.     Checked User have Farm Administrator Permission or not.
2.       Checked User have Managed Account or not.
3.       Checked the User have Local Administrator Privileges or not.
4.       Checked User have owner permission in all Database as created during search topology.
5.       Checked extra space in Environment variable i.e. PSModulePath – No space exists.
6.       Checked the Managed Metadata Service and user permission
7.       Checked the Health and Usage Services and user permission
8.       Re-configured the Health and Usage Services.
9.       Re-start the Application Server.
10.   Window Service in Application Server or  WFE is running fine with same account & Re-started the service in all server also.
      Window Services :- SharePoint  Search Host Controller & SharePoint Server Search 15
11.   Same user having Farm Administrator level permission and having managed account also.
12.   All DB are also up and online.


But we need correctly check the Noderunner.exe.config - Might be someone has changed the value which may create issue - This was the exactly the case for one of project:-

Resolution :-

1.       noderunner.exe.config file located at “C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0” had a wrong value i.e. <nodeRunnerSettings memoryLimitMegabytes="100" />  It should be <nodeRunnerSettings memoryLimitMegabytes="0" /> .

Location of noderunner.exe.config

Noderunner.exe.config file (Should be)


In the nodeRunnerSettings node edit the attribute “memoryLimitMegabytes”. The initial value is set to “0”, what means that there is no limit.


Happy Coding..


Call Back Error in SharePoint People Picker Control.

Most of the blog says its permission issue: - at least for us it was not.


As per above article – I check all the permission and User Policy – Everything was properly set, UPSA was also working fine

Issue: - When I was checking for user in address book or people picker



When I was adding the user in SharePoint group – It was throwing the Unexpected error:-



Architecture Structure of Server:-
Why I am explaining the architecture server – It’s very important  because most of people doesn’t know how to check the logs in all server.If we have proper farm setup with multiple server – We should check the Logs in all server.




Here is Power shell command which give  consolidated result from all sharepoint server.
Merge-SPLogFile –Path “E:\SPLogs\MergedLogs.log” –Correlation 3ae2a6c0-da14-43a1-afda-5bb6bbff3d43




Resolution:-
Steps Followed:-

  • Restart SharePoint Timer Services
  • Remove the Attached DB from Web Application using Central Admin
  • Created DB with same Name.
  • After Configuring the DB – Unable to browse site. – It was showing “Page Not Found”.Scared what happen suddenly.
  • Finally - Clear the SharePoint Configuration Cache. Location “Drive:\ProgramData\Microsoft\SharePoint\Config\GUID”
  • Deleted all log files
  • Modify the Cache.ini with any numeric value put like 1 and save.

It seems like some services stuck in between or some configuration cache issue. After following the above steps.
SharePoint Site was browsing fine and people picker was also working fine without any fail.
Happy Coding.