Wednesday, September 11, 2013

Installing Exchange 2010 SP3 with Update Rollup 2?

We just went through the installation of Service Pack 3 and Update Rollup 2 and thought it would be a good idea to pass along some helpful information if you're planning on deploying them in your environment.

As always, you'll want to test them out in your test environment. Don't have one? We didn't either so we did a lot of reading to try and spot any potential problems before they came up (see the links below). Next, you'll want to make sure you have a full backup of your server(s). Remember that if you're running Exchange on VM's, taking a snapshot isn't a viable supported option. You want to make sure you're using backup software that does an OS and application level backup, as well as a proper Exchange database backup.

Feeling confident? Go ahead and get the bits for the install:

Exchange 2010 SP3
Update Rollup 2

If you have multiple servers in your environment, you want to start installing from the outside in, meaning Edge servers, then CAS HUB's, and finally mailbox servers. Just a head's up, that people will tell you it takes about 30 - 40 minutes to install per server. Not the case in our environment. It took roughly two hours per box to install both updates and Windows Updates. As always, there are a lot of reboots.

Before you run either update on a server, be sure to stop your antivirus software. Also, if you use DAG's for your mailbox servers, you need to install the hotfix from KB 2550886.

Hope this helps, and good luck. Let us know if you find any other gotcha's.

Wednesday, July 31, 2013

SharePoint 2010 Event ID 6801 FIMSynchronizationService

Our User Profile Synchronization service has been running without issues for quite a while, but in the last few days we started to seeing event id 6801 errors in the application event log:

Event ID 6801 FIMSynchronizationService

Looking at the configuration of the service itself, there didn't appear to be any problems. The sync would run, but it would generate errors for every user it processed. It turns out the problem is with the proxy for the user profile service application. The proxy basically associates the User Profile Service Application to the Web application through membership in the a service application connection group. In most environments, this is the default group.

User Profile Service Application Proxy

The solution is to simply re-create the proxy using the following steps:

1. Delete the existing User Profile Service Application proxy using the following script. The name may be different in your farm, but you can verify by running Get-SPServiceApplication.

Note: If you've messed around with the service application associations and don't remember if you're still using the default group, go to Central Admin - Application Management - Service Applications and click on Configure service application associations. In the default config, it should look like this:

Service Application Associations

$proxy = Get-SPServiceApplicationProxy | where {$_.typename -eq "User Profile Service Application Proxy"}

Remove-SPServiceApplicationProxy -Identity $proxy -confirm:$false
2. Create a new User Profile Service Application Proxy using the following script and associate it with the default group:
$upa = Get-SPServiceApplication -Name "User Profile Service Application"
New-SPProfileServiceApplicationProxy -Name "User Profile Service Application Proxy" -ServiceApplication $upa -DefaultProxyGroup
3. Do an iisreset from the command prompt, then run a profile sync and check the errors are no longer being generated.

For other User Profile Synchronization issues we've looked at see:

Thursday, July 25, 2013

SharePoint 2010 Service Pack 2 Now Available!

Microsoft just released the latest service pack for the SharePoint 2010 family of products. You can download the bits from the Update center for Office, Office servers, and related products. You might want to start now since it's over 400MB!

As usual we recommend waiting a couple of weeks before applying it to a production environment since there have been issues in the past caused by CU's or updates. If you use the Profile Synchronization features of SharePoint, you'll know what we mean.

The service pack includes all updates to May 2013 as well as all CU's up to April 2013. According the the SharePoint Team Blog the service pack "addresses security, stability, and performance and provides better compatibility with Windows 8, Internet Explorer 10, Office 2013, and SharePoint 2013. In addition to the new functionality Service Pack 2 provides, as with all Service Packs, it includes a number of fixes designed to improve your experience". You can also subscribe to the following blog if you want to be made aware of updates concerning SP2 going forward.

So far there are very few known issues, but you still can't install SharePoint 2010 on Windows Server 2012 which we were hoping would be supported. We suspect this will be addressed by Microsoft shortly.

As always, be sure to follow upgrade directions to maintain availability and reduce the number of headaches you have:

Below is are some of the other issues addressed.

If requireExactUrl is not set for openweb calls, the PublishingWeb constructor may spawn variation pages  into incorrect locations while attempting re-creation of failed label during create hierarchies.
Incremental content deployment fails, giving the following error: FatalError: The given key was not present in the dictionary
Spell Checker doesn't work properly with Internet Explorer 10.
Rich text editor spell checker may work incorrectly on 64 bit machines.
Customers encounter issues sending e-mail from workflows when the From address uses a non-Unicode character set.
Updated VBE7.dll to fix safe array corruption for x64 hosts when calling UDF methods using safe array arguments directly from the host. 
SQL exceptions will appear in the log when running update statistics timer.
Improved performance of the AllUserData table.
Getting a feed against a discussion board fails if feed contains more than zero items.
SharePoint 2010 client object model now has compatibility for accessing Sharepoint 2013 servers.
Windows 8 users with Internet Explorer 10 receive an error when trying to open a document from SharePoint 2010 directly in the Office client.
Call GetChanges won’t return changes in certain cases where the change log has been edited and no parameters are set.
STSAdm MigrateUser fails when SQL server is not in domain.
Attempting to delete a child web from site settings causes the page to fail. 
There is no exposed method to recalculate the second stage recycle bin size.
April 2011 Calendar View does not display correctly with Amman System Time zone
Users can create a scenario where a site loses permissions.
After deleting a web that contains historical document versions in the RecycleBin, rows are abandoned in the database.  These rows bloat the size of the database, causing difficulty with database management operations such as backup/restore, complicating upgrade and other scenarios.
After creating alerts on a document library with unique permissions and moving the contents using SPFolder.MoveTo method, the permissions seem to be lost and even the farm administrator is not able to delete these alerts.

Friday, June 28, 2013

SharePoint 2010 Event ID 6482

***Update: If this doesn't solve your problem, try the following.

We recently started to get the following application event log error:

Because it was a test environment we went ahead and reset the search index and restrated the search application, but the errors kept coming back.
The fix was to reset the cache on alll four servers in the farm. Once we did that the errors disappeared. To see directions on resetting the cache, have a look at the directions below, or go to
***Note*** Complete these steps on any server running the SharePoint Timer Service in the farm.
1.Stop the Timer service. To do this, follow these steps:

•Click Start, point to Administrative Tools, and then click Services.

•Right-click Windows SharePoint Services Timer, and then click Stop.

•Close the Services console.

2.On the computer that is running Microsoft Office SharePoint Server 2007 and on which the Central Administration site is hosted, click Start, click Run, type explorer, and then press ENTER.

3.In Windows Explorer, locate and then double-click the following folder:

Drive:\Documents and Settings\All Users\Application Data\Microsoft\SharePoint\Config\GUID


◦The Drive placeholder specifies the letter of the drive on which Windows is installed. By default, Windows is installed on drive C.

◦The GUID placeholder specifies the GUID folder.

◦The Application Data folder may be hidden. To view the hidden folder, follow these steps:

1.On the Tools menu, click Folder Options.

2.Click the View tab.

3.In the Advanced settings list, click Show hidden files and folders under Hidden files and folders, and then click OK.

◦In Windows Server 2008, the configuration cache is in the following location:


4.Back up the Cache.ini file.

5.Delete all the XML configuration files in the GUID folder. Do this so that you can verify that the GUID folder is replaced by new XML configuration files when the cache is rebuilt.

Note When you empty the configuration cache in the GUID folder, make sure that you do not delete the GUID folder and the Cache.ini file that is located in the GUID folder.

6.Double-click the Cache.ini file.

7.On the Edit menu, click Select All.

8.On the Edit menu, click Delete.

9.Type 1, and then click Save on the File menu.

10.On the File menu, click Exit.

11.Start the Timer service. To do this, follow these steps:

•Click Start, point to Administrative Tools, and then click Services.

•Right-click Windows SharePoint Services Timer, and then click Start.

•Close the Services console.

Note The file system cache is re-created after you perform this procedure. Make sure that you perform this procedure on all servers in the server farm.

12. Make sure that the Cache.ini file has been updated. For example it should no longer be 1 if the cache has been updated.

13.Click Start, point to Programs, point to Administrative Tools, and then click SharePoint 3.0 Central Administration.

14.Click the Operations tab, and then click Timer job status under Global Configuration.

15.In the list of timer jobs, verify that the status of the Config Refresh entry is Succeeded.

16.On the File menu, click Close.

SharePoint 2010 Event ID 6482 - Part 2

This is a follow up to an earlier blog post we wrote. In that case, clearing the SharePoint cache on all the servers in the farm did the trick. We recently saw the 6482 event log error again and tried clearing the cache, but this time it didn't work.

What else was going on?

  • We had just migrated the SharePoint databases from SQL 2008 to SQL 2012.
  • Looking at the services on the search server, the SharePoint Server Search 14 service would fail starting up.
  • When we tried to do anything in Application Management - Manage Service Applications - Search Service Application (ex: look at content sources, crawl log, crawl rules, etc...) it would generate a SharePoint error with a correlation ID.
How did we fix it?

After scouring the Internet, we found someone who got the search app running again by adding the service account used to run the search application to the local admin group on the server. Once we did that, we were able to start the SharePoint Server Search 14 service through the services interface. Once it was going, we simply removed the account from the admin group.

Wednesday, May 1, 2013

Azure Virtual Machine Time Sync

We've built a few domains on Azure to host Active Directory, SharePoint, SQL, etc... After a while we started to notice that the time on the severs would get out of sync. It wasn't a big difference, but enough that we started to see issues with the applications. The source of the problem is load on the Hyper-V hosts that host the VM's. When load gets too high, it causes time issues.The easiest thing to do seems to be to set a time source on all the servers.

Here are the steps we used:

  1. Open a command prompt on your domain controller. To see the current time difference: w32tm /stripchart /computer: /samples:5 /dataonly
  2. Open UDP port 123 for outgoing traffic if needed.
  3. Open UDP port 123 (or a different port you have selected) for incoming NTP traffic.
  4.  Type the following command to configure the PDC emulator and then press ENTER:
     w32tm /config /manualpeerlist: /syncfromflags:manual /reliable:yes /update
  5. The next steps have to be run on the computers in the domain.
  6. Open a Command Prompt and type the following command and then press ENTER:
     w32tm /config /syncfromflags: domhier /update
  7. Type the following command and then press ENTER:
     net stop w32time
  8. Type the following command and then press ENTER:
     net start w32time
Note: You may also use Group Policy to make all the domain clients to sync time with PDC emulator in the domain.

Wednesday, April 17, 2013

Windows Azure Infrastructure (IaaS) is Ready for Prime Time!

We just got an alert from Microsoft that Azure virtual machines and networks are generally available. If you're like us you've been testing out the VM capabilities for a while, but it's now production. We just put the finishing touches on a domain and SharePoint server farm all built on Azure VM's. After stumbling through it for a couple of weeks, we now have the process down and can spin up entire environments in a matter of hours. We'll be producing a white paper shortly to show you how it's done.

Here's the announcement with a few interesting links:
Windows Azure Infrastructure Services, Virtual Machines and Virtual Network, now are generally available!
Today is a major milestone for Windows Azure and all of our customers and partners. We are excited to announce that Windows Azure Virtual Machines and Windows Azure Virtual Network now are generally available. These new services make it possible for you to move your applications into the cloud as is. We also want to update you on a new price commitment we’ve made.

This announcement is a significant step in our cloud computing strategy, which has been influenced directly by our discussions with customers and partners around the world. One point holds true in every one of our discussions with you - the cloud should be an enabler for innovation, and an extension of your organization’s IT fabric, not just a fancier way to describe cheap infrastructure and application hosting.
This brief video explains what we mean by extension of your organization’s IT fabric.
You’ve also told us that you don’t want to have to choose either a low price or good performance; you want a low price and good performance. That’s why today we are also announcing a commitment to match Amazon Web Services prices for commodity services such as compute, storage and bandwidth.  This starts with reducing our GA prices on Virtual Machines and Cloud Services by 21-33%. 
You can find the general availability announcement and the price reduction details at Windows Azure Blog.

We have great guidance on scenarios in which you can take advantage of Windows Azure Infrastructure Services. Learn more at our
Infrastructure Services page and get going with a free trial at today.