Thursday, March 29, 2012

How to: Migrate MOSS 2007 to SharePoint 2010

Migration from MOSS 2007 to SharePoint 2010


Nowadays we are getting multiple projects to migrate MOSS 2007 to SharePoint 2010. By Default, SharePoint 2010 will support to migrate the contents from MOSS 2007 to SP 2010. 


To complete the migration successfully, I am giving some additional and easy steps to follow:


Steps to Migrate the MOSS 2007 to SharePoint 2010 Contents:
1. Take a backup of existing MOSS 2007 content database using SQL server management studio. Before taking SQL backup, you can truncate the "log" file from SQL server. The log file will slow down your migration process. 


2. Restore the Content DB in target SQL Server using SQL server management studio. 


3. Create an dummy SharePoint 2010 web application without a top level site collection. (Do not refer the newly attached database name while creating teh web application) 


4. Remove the Content Data Base from the newly created dummy website through central admin as mentioned below:


i. Go to "Application Management" --> "Manage Content Databases" --> Select the specific web application.








ii.select the "Remove content database" checkbox. and click OK twice as mentioned below.












5. Then add the Content DataBase through STSADM command to the specific web application.
stsadm -o addcontentdb -url "http://172.16.0.148:3030" -databasename "WSS_Content_Old_ContentDB"


6. Now browse the application and do the visual upgrade in "Settings" page.


Thats it....


Updates:
1. Sometimes, you will not be able to browse the application since you may not be the administrator of the migrated application. At that time you need to add your name/administrator name as "Site collection Administrator" through central admin URL as mentioned below.


i. Application Management --> "Change site collection administrators











ii. Select your web application and update the correct Primary and secondary administrators. 













2. If you are not able to update anything in the newly migrated application, the application may be in Read-Only mode. Or sometimes, the administrator (system account) will not be able to see the Administration links. To fix this, you need to provide read-write access to the newly created web application as I mentioned below.


stsadm -o setsitelock -url "http://servername" -lock none


3. During the migration process, you check the status of the migration in "Upgrade and Migration" section of central admin.


Sometimes, the migration status may shown as "failed". This is because of the custom solutions which are deployed in the MOSS 2007. You can simply ignore them.




But once the "Addcontentdb" command is completed, the database status should be "No action required". You can check the status under the "Upgrade and Migration" --> "Review database status" in central admin.







4. If you are getting 

 "Database is in compatibility range and upgrade is recommended" error, then you need to run the 
PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures command.
....
(Do let me know, if you need any other information related to migration...)

Thursday, July 28, 2011

Issue: Calendar list is Missing in SharePoint 2010

Issue: 
Calendar list is Missing in SharePoint 2010.


Reason:
The required "site feature" may not be activated in the SharePoint portal.


Solution: 
1. Go to the "Site Settings"
2. Go to "Manage Site Features"
3. Check "Group Work Lists" feature is activated or not. If not, Activate the feature.




Thats it... 


Update:
If you are not able to view / create lists or document library or task library, you need to activate the "Team Collaboration Lists" site feature.

Thursday, July 7, 2011

Error occurred in deployment step 'Recycle IIS Application Pool': The local SharePoint server is not available. Check that the server is running and connected to the SharePoint farm

Error:
Error occurred in deployment step 'Recycle IIS Application Pool': The local SharePoint server is not available. Check that the server is running and connected to the SharePoint farm.

Reason:
You will get this error, when you are trying to deploy the web part/solution through visual studio. The reason is the current logged-in user may not be the "db owner" in the content databases.

Solution:
To deploy the solution successfully, you need to map the current logged-in user as db_owner into the 3 databases.
1. SharePoint_Config
2. SharePoint_Admin_[GUID]
3. Your current web application that needs to deploy the Web part

For more info, check the below screenshot.



Thats it...

Wednesday, June 29, 2011

The Web application at could not found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application.

Error:

The Web application at could not found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application.




Solution:
change the visual studio solution to 64 bit in properties as per the below screenshot.



Thats it...

Tuesday, June 28, 2011

Error: The type or namespace name 'SPSite' could not be found (are you missing a using directive or an assembly reference?)

Error:
The type or namespace name 'SPSite' could not be found (are you missing a using directive or an assembly reference?)

Reason:
Sometimes you will get this issue, while you are testing/developing your SharePoint code through console applications.

By default, visual studio 2010 will set target framework as ".Net Framework 4 Client Profile"

Solution:
We need to change the target framework as ".Net Framework 3.5"

To do this,

1. Go to Solution property in visual studio.

2. Change the target framework to ".Net Framework 3.5" as below:

3. Save all & build the solution.

Thats it...




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...