Friday, November 12, 2010

Issue: User profiles Sync DB doesn't have Tables or Stored Procedures

Issue:
While you are trying to import the user profiles in SharePoint 2010, you will get lots of errors. Particularly, we will face some of the issues like below:

1. Forefront Identity Manager Service may not be started.
2. Forefront Identity Manager Synchronization service may not be started.
3. If you see the "eventvwr", you will get some of the errors like below:
   
Error 1:

The Forefront Identity Manager Service cannot connect to the SQL Database Server.

The SQL Server could not be contacted. The connection failure may be due to a network failure, firewall configuration error, or other connection issue. Additionally, the SQL Server connection information could be configured incorrectly.
Verify that the SQL Server is reachable from the Forefront Identity Manager Service computer. Ensure that SQL Server is running, that the network connection is active, and that the firewall is configured properly. Last, verify the connection information has been configured properly. This configuration is stored in the Windows Registry.
Error 2:
 .Net SqlClient Data Provider: System.Data.SqlClient.SqlException: Could not find stored procedure 'RegisterService'.

at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.ResourceManagement.Data.DataAccess.RegisterService(String hostName)

Error 3:
The Forefront Identity Manager Service was not able to initialize a timer necessary for supporting the execution of workflows.The Forefront Identity Manager Service could not bind to its endpoints. This failure prevents clients from communicating with the Web services.

Error 4:


 A most likely cause for the failure is another service, possibly another instance of Forefront Identity Manager Service, has already bound to the endpoint. Another, less likely cause, is that the account under which the service runs does not have permission to bind to endpoints.

Ensure that no other processes have bound to that endpoint and that the service account has permission to bind endpoints. Further, check the application configuration file to ensure the Forefront Identity Manager Service is binding to the correct endpoints.
Solution:
I have spent lots of time to fix this issue. Hmmmm...  The solution is in SQL server side. In SQL Server database, you cannot find any "tables" or "Stored Procedures" in "Sync DB"
I have given the solution in single screenshot.  In the below screenshot, set the "db_owner" schema for "dbo".













If you set the "dbo" as "db_owner", you can able to start the "Forefront Identity Manager Service". so that you will be able to start the profile import process.
Update: 
The same permission should be assigned to all user profile service databases like "Profile DB", "Social DB".


Also you need to restart the below services
1. Forefront Identity Manager service 
2. Forefront Identity Manager Synchronization Service
3. IIS 
Thats it...

Tuesday, November 2, 2010

Error: The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service. For more information, contact your server administrator.

Error:
The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service. For more information, contact your server administrator. 




Reason:
You will get this error while you are trying to view the InfoPath forms in browsers. The reason is, the "State Service" may not be enabled/associated for the current web application.

Solution:
Check all the below possibilities...

(Note: I assume that you already know how to develop a browser compatible InfoPath forms)

1. Go to "Application Management" --> "Manage service applications"
2. Check whether the "State Service" is enabled or not (like the below screenshot). 

















3. If the service is not started or missed, we should configure/start the state service. OK. How to start the service?  proceed with step 4.
4. Go to the "Configuration Wizard" and start the configuration
5. Make sure the "State Service" is enabled. (Eventhough it is selected, run the wizard again.Hmmmm...That is microsoft :) )

6.Wait until you see the below screen (It will take few minutes to complete).













7. Now, check whether the InfoPath forms are rendering properly in the browser or not. If everything is fine, then continue with your work.. Again if you are getting the same error screen, you need to check the "Service Associations" for your current web application (proceed with step 8).

8. In "Central Administration", Go to "Application Management" and select the "Configure service application associations" in "Service Applications" section. 

9. Click on your web application and a pop up windows will be displayed. 






















10. Select the "State Service" Check box and click "OK".  

11. Now you can able to view the InfoPath forms in browser like below. 














Thats it...

Error: The installed virus scanner is currently unavailable. If the problem persists, contact your administrator.

Error:
The installed virus scanner is currently unavailable. If the problem persists, contact your administrator.



Reason:
You will get this error, while you are uploading/downloading a document in SharePoint 2010 portal (single/multiple file upload). The configured Antivirus setting will not let you to do the upload/download operations.

Solution

1. Go to Central Administration.
2. Go to "Security" section.
3. In "General Security" tab, go to "Manage antivirus settings".













4. in "Antivirus settings" section, remove the tick marks from "upload" and "download" options.














5. Click "OK"..
6. Now try to upload the documents in SharePoint web application. Documents will be uploaded successfully.

Thats it...

Note: This is temporary solution and it is not recommended in live scenarios, due to security concerns.