Thursday, February 25, 2010

SharePoint 2007 to SharePoint 2010 Beta Upgrade

Finally, I was able to cleanly upgrade our SharePoint 2007  environment to SharePoint 2010 Beta (Database Upgrade). With 2010, it is very easy to track the upgrade process and know where the errors occur. Below is snapshot of the upgrade process…As you can see, I restarted the upgrade process multiple times and finally I was able to see the Succeeded message in the upgrade status page.
Here are few tips to get complete the upgrade successfully:
  • Always look for errors and warnings in the log files ( In the folder: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS\).
  • The log files are very detailed and give you information about the specific error which is occurring (Search for “error” or “warning” in the log files).
  • If there is a warning about a missing file, make sure the file exists, otherwise the warning will never go away. If you do not have the file then either clean up installation on your current farm or at least use a dummy file for the upgrade process (No warranties here)
  • Don’t worry about the error or warning count. Usually, the actual errors or warnings are approximately half of the shown count.
  • Make sure you have all the features deployed, otherwise you will get at least 2 errors for every missing feature.
  • During the upgrade process, you can always check for errors in the log file, stop the upgrade process, fix the errors and restart it over again. You do not need to wait for the upgrade process to succeed or fail before restarting the upgrade process.

Wednesday, February 24, 2010

Microsoft.Office.Server.Administration.StateServiceLocalizedException: A Microsoft SharePoint Server State Service error occurred while processing your request.

After upgrading a SharePoint 200 7 application to SharePoint 2010, I was trying to access an InfoPath form which was hosted in a web part on a page. The following error showed up on the page instead of the InfoPath Form:

Microsoft.Office.Server.Administration.StateServiceLocalizedException: A Microsoft SharePoint Server State Service error occurred while processing your request.

So, as the error was related to State Service, I wanted to make sure the state service was mapped to the web application.So, I went into the Central Administration site and followed the below steps:
  • Click on Manage web applications under Application Management tab
  • Select the web application in which the error is occurring
  • Click on Service Connections button on the Ribbon (the ribbon should be highlighted once you select the web application)
  • Now, on the popup, click on the checkbox next to the State Service  - State Service Proxy option. Make sure the check box is selected.
  • Click Ok
  • Now, return to the web application where the occurred and refresh the page. The InfoPath form should now load without any errors.

Tuesday, February 23, 2010

SQL Server 2008 Configuration Manager WMI Error

Recently, I was trying out few configuration changes in the SQL Server Configuration Manager to find out the impact of each change.  After sometime, I tried to open up the configuration manager but the following error showed up instead of the configuration manager mmc.

The error was “Cannot connect to WMI provider. You do not have permission or the server is unreachable. Note that you can only manager SQL Server 2005  or later servers with SQL Server Configuration Manager. Invalid class [0X80041010]”.


Upon searching, the below link explained a resolution for the same issue in SQL Server 2005.

I followed the steps exactly as mentioned in the above blog post and it worked perfectly for SQL Server 2008 too. Here are the steps:

  1. Open up command prompt using elevated privileges (Vista, Windows 7, Windows Server 2008) or normally in Windows XP or Windows 2003.
  2. Navigate to the folder c:\Program Files (x86)\Microsoft SQL Server\100\Shared
  3. Run the following command:  mofcomp.exe "C:\Program Files (x86)\Microsoft SQL Server\100\Shared\sqlmgmproviderxpsp2up.mof"      (or just “mofcomp.exe  sqlmgmproviderxpsp2up.mof” )
  4. You should see a similar output in your command prompt:

Parsing MOF file: C:\Program Files (x86)\Microsoft SQL Server\100\Shared\sqlmgmproviderxpsp2up.mof

MOF file has been successfully parsed

Storing data in the repository…


Below is a snip of the results….


Monday, February 22, 2010

How to find Orphaned users (Windows authenticated) in a restored database?

Very frequently, I need to restore databases from one server to another and sometimes it really gets difficult to find out the orphaned users in the restored database.  So, how do you find the orphan users in the restored database ?

Well for SQL Server logins, you can use the below stored procedure:

exec sp_change_users_login 'report' and this will list all the orphaned sql server logins.

But, how do you find the orphaned Windows authenticated users/groups? Below is a simple script to find out these orphaned users in the restored databases.

from master..syslogins logins right join sysusers users on logins.sid = users.sid
where logins.sid is null and issqlrole <> 1 and isapprole <> 1  
and ( <> 'INFORMATION_SCHEMA' and not in ('guest', 'dbo', 'sys'))

This can be used to write a script which will delete all the orphaned users or map it to the correct logins.

Saturday, February 13, 2010

SQL Server 2008 Editions

Quite often, I need to look the features available in a particular edition of SQL Server and I end up searching for it all over the place. So, I decided to write this blog post with an idea of finding all the differences (@ the administration level only….for other difference please click on the link @ the end of the blog post) at a single place.



Enterprise Standard Workgroup Web Developer Express
Number of CPU’s OS Maximum 4 CPU 2 CPU 4 CPU 1 CPU
Memory OS Maximum OS Maximum 4 GB OS Maximum 1 GB
Database Size 524TB 524TB 524TB 524TB 4 GB
x32 Hardware Support Yes Yes Yes Yes Yes
x64 Hardware Support Yes Yes Yes Yes Yes
Data Compression (Row and Page compression for both tables and indexes) Yes        
Resource Governor (for managing SQL Server workload and system resources) Yes        
I64 Hardware Support Yes        
Table and Index Partitioning Yes        
Parallel Index Operations Yes        
Parallel Consistency Checks Yes        
Scalable Shared Databases Yes        
Indexed views Yes        
Enhanced Read-ahead and scan Yes        
Mirroring Yes Yes (Single Threaded, Safety full only) Witness Only Witness Only Witness Only
Online System Changes Yes Yes Yes Yes Yes
Log Shipping Yes Yes Yes Yes  
Clustering 16 node 2 node      
Automatic Corruption recovery from Mirror Yes Yes      
Log Stream Compression Yes Yes      
Online Indexing Yes        
Mirrored Backups Yes        
Backup Compression Yes        
Hot-add memory and CPU Yes        
Snapshots Yes        
Fast Recovery Yes        
Online Page and File Restore Yes        
SQL Server Change Tracking Yes Yes Yes Yes Yes
Merge Replication Yes Yes Subscriber only Subscriber only Subscriber only
Transactional Replication Yes Yes Subscriber only Subscriber only Subscriber only
Snapshot Replication Yes Yes subscriber only Subscriber only Subscriber only
Heterogeneous Subscribers Yes Yes      
Oracle Publishing Yes        
C2 Complaint Tracing Yes Yes Yes Yes Yes
SQL Audit Yes        
Transparent Database Encryptions Yes        
Extensible Key Management Yes        
Hypervisor Support Yes Yes Yes Yes Yes
Database Migration Tools Yes Yes Yes Yes Yes
Policy-Based Management Yes Yes Yes Yes Yes
SSMS Tools Yes Yes Yes Yes Yes
Database Mail Yes Yes Yes Yes  
Performance Data Collection Yes Yes Yes Yes  
SQL Server Agent Yes Yes Yes    
Database Tuning Advisor Yes Yes Yes Yes  
Plan Guide Yes Yes   Yes  
SQL Profiler Yes Yes Yes    
Performance Reports Yes Yes      
Distributed Partition views Yes        
Automatic Query to index view matching Yes        
Unlimited Virtualization Yes        
CDC (change data capture) Yes        

If you would like to find more differences, you can find them here.

Friday, February 12, 2010

Outlook 2010 – Recall a sent message

Outlook 2010 has a nice feature called “Recall a sent message” . Using this feature, you will be able to either delete or replace the message in the recipients mailbox after the message has been sent (useful in cases where you forgot attachments or want to make changes immediately after the email is sent). But it only works if the message is unread. If the message has already been read, then you cannot recall it and you will get an email indicating that the recall has failed.
So, how do you recall the message ?
  • After an email is sent, go to the “Sent Items” folder
  • Click on the message you want to recall to OPEN it
  • Click on the file tab on the top left side
  • Click on the “Resend or Recall” option in the center pane
  • Now you can either “Recall” or “Resend the message”
  • Select “Recall this Message” and the following prompt will show up
  • At this point, you can specify either to “delete the unread copies of the message” or “delete and do a replace with a new message”
  • By clicking the checkbox “Tell me if recall succeeds or fails for each recipient”, you will get an email back indicating the status of the recall
  • Below is an example of failed recall which indicates that the message has already been read.
  •   Clicking on the actions button on top menu bar will also open up recall options     

Visual Studio 2010 and .NET Framework 4 Training Kit - February Release

It is a good time now, if you want to get started with VS 2010 as the release candidate has been made available. Also, the febraury release for the traning kit is available (this is huge - almost 600 MB). You can download the training kit using the below link: