Exchange 2003 > 2010, 2007 > 2010 Public Folder Replication / Migration
V1.0, 12.06.2013, M. Butsch, http.//www.butsch.ch
Please also see our Blog: https://www.butsch.ch/post/Public-Folder-Migration-from-Exchange-2003-to-20072010.aspx
1 Generate/make a Public Folder on the Exchange 2010 by GUI:
2 Turn off any limits on both sides (Old and new PF’s)
3 Push Size Limit to some temp value
3 Adding the new Exchange 2010 to the Replica List of 2007. This tells the Exchange 2007 there is another Server and Exchange 2007 needs to sync with that Server.
Add new Exchange 2010 server to the Personal Public Folder replica set in Powershell on the Exchange 2010:
.\AddReplicaToPFRecursive.ps1 -server YourExchange2007name -TopPublicFolder “\”
-Servertoadd YourExchange2010name
Add new Exchange 2010 server to the System Public Folder Replica set:
.\AddReplicatoPFRecursive.ps1 -TopPublicFolder “\Non_IPM_Subtree” -Servertoadd
YourExchange2010name
Manually start the replication process:
Update-PublicFolderHierarchy -Server YourExchange2010name
Get-PublicFolderStatistics -resultsize unlimited | update-publicfolder -Server yourservername
(Repeat the last step for all servers)
Check the Status with:
[PS] Get-PublicFolder -Identity \NON_IPM_SUBTREE -Recurse | FL Name,Replicas
[PS] Get-PublicFolder -Identity \ -Recurse | FL Name,Replicas
Then there is a backfill Process
The Exchange 2003-2007-2010 talks to each other by E-Mail and each server tells what he needs and not. So you can trace how the Public Folder talk to each other.
What about System Folder?
You’ll get errors if you haven’t replicated system folders to another server. The only ones you need to replicate to another server are those under
SCHEDULE+ FREE BUSY
OFFLINE ADDRESS LIST
EFORMS REGISTRY if you use Organizational Forms.
You can delete the rest of them as they’re server-specific.
How long will this take?
This will take from 1 day to 4 days depending on the size and the items in the folders. No, you can’t force, no if you want to do the migration over the weekend and are a SBS-IT-Admin that will not work. (You are at a dead end here because not planned well! Customer wants to work on Monday morning?)
Why is this important?
As long as there are replicas on the OLD 2003/2007 Exchange Server you want be able to deinstall the old Exchange Server thus finalizing the migration. At the end if all content is on the new 2010 and the users mailboxes are moved to the 2010 YOU can move over the REPLICAS TO the new 2010 only.
Further Steps of Migration
This is another Powershell and you will find in Technet. Only DO THIS at the end and you have verified THAT the new Exchange 2010 PF work. Take the Exchange 2003/2007 Public Folder offline. Restart a PC and start Outlook > Check the Public Folder AND if ALL is there.
.\RemoveReplicaFromPfrecursive.ps1 -server yourExchange2010 -TopPublicFolder “\”
-ServerToRemove youroldExchange2007or2003name
.\RemoveReplicaFromPfrecursive.ps1 -server yourExchange2010 -TopPublicFolder
“\Non_IPM_Subtree” -ServerToRemove ouroldExchange2007or2003name
Once this is completed go the Exchange 2007 server – EMC – Server
Configuration – Mailbox. On the properties of your Mailbox Database under client
Settings change the Default Public Folder Database to the one residing on the
Exchange 2010 server.
If you think it’s failing?
If you have 5 to 10 folder you export the content with outlook.exe and “Exchange Admin or Domain Admin [What you see is what you have access!]” account into a PST-file and on the other side you Import it.
Why is the PST-Export/Import not the ideal way?
Because the PST-Export will not show you corrupt items. It will just pass through. If that is a calendar AND it’s the appointment the users needs and invited 50 person you fail. Before you end UP in a loop and week of work you ask the users/customer if it’s private data like birthdays with no Enddate. Then maybe just delete because it’s private and not business related. (After you ask?)
Maybe there is an easy solution without IT? As in 70% of the cases?
Public Folder Replication problems
The problems range from:
- No end-date in appointments and recurring appointment (01.02.1980 – x.x.x)
- SMTP malformed “E-mail activdated” public folders (Special Chars in e-mail)
- As always, Trailing white spaces and the end “test ” and not “test”
- No “Category” or category empty for appointment (Palm, strange handheld stuff)
- Permission problems mostly sourcing from first level giving wrong rights on public folders
Here are some samples:
No Enddate in appointment, backfill Response, “Invalid data for the property”
E-Mail enabled folder with invalid char in name
Permission problems Debugging (replacing with PFDAVADMIN tool)
http://www.microsoft.com/en-us/download/details.aspx?id=22427
The tools needs Framework 1.1 and don’t please install it on the CAS or Mailbox 2007/2010 it will may gebnerate problems. Use a XP/W7 client. There is also a CALCheck tool for outlook.
Here is how to find out what happens and what not.
Or change the Log Level with Powershell:
set-eventloglevel -identity “MSExchangeIS\9001 Public\Replication DS Updates” –Level Expert
set-eventloglevel -identity “MSExchangeIS\9001 Public\Replication Incoming Messages” –Level Expert
set-eventloglevel -identity “MSExchangeIS\9001 Public\Replication Outgoing Messages” –Level Expert
set-eventloglevel -identity “MSExchangeIS\9001 Public\Replication NDRs” –Level Expert
set-eventloglevel -identity “MSExchangeIS\9001 Public\Replication Site Folders” –Level Expert
set-eventloglevel -identity “MSExchangeIS\9001 Public\Replication Expiry” –Level Expert
set-eventloglevel -identity “MSExchangeIS\9001 Public\Replication Conflicts” –Level Expert
set-eventloglevel -identity “MSExchangeIS\9001 Public\Replication Backfill” –Level Expert
set-eventloglevel -identity “MSExchangeIS\9001 Public\Replication Errors” –Level Expert
set-eventloglevel -identity “MSExchangeIS\9001 Public\Replication General” –Level Expert
set-eventloglevel -identity “MSExchangeIS\9001 Public\Local Replication” ” –Level Expert
You can then see in Event viewer what the Exchange Server Public Folder Replication is doing and what not.
Or you can check with Powershell if you enabled Messagetracking
Find items that failed:
Get-messagetrackinglog –Server “Yourservername2010” –eventid FAIL
Get-messagetrackinglog –Server “Yourservername2010” –eventid FAIL | fl
Get-messagetrackinglog –Server “Yourservername2010” –eventid FAIL | fl > c:\edv\fehler.txt
- No enddate on Recurring meeting appointment
Also check the Backfill Queue on the Exchange 2010
This is what Exchange 2010 is doing while he builds up a 2010 fresh 2010 replica. However during the first 1-4 days (When you add another Public Folder) this will populate and the queue will /should come down after that. Just keep an eye on that.
If you enable Diagnostic Logging this Events will appear. You can “safely”ignore Event 3093 IF you have diagnostic Logging enabled
Product: Exchange
Event ID: 3093
Source: MSExchangeIS
Version: 6.5.6940.0
Component: Microsoft Exchange Information Store
Message: Error <error code> reading property <value> on object type <object type> from database “<name>”.
This event can occur if diagnostic logging has been turned up. It can be seen in situations where there are problems with the public folder hierarchy, and/or content replication. The error code in the event description will give an indication as to the underlying cause. Use the ERROR.EXE tool on the Exchange Server CD to decode the error. Following are a few of the several causes of this event:
- Replication for the message database on the server has been turned off (using the registry).
- The public folder store object may not have been stamped with the correct ProxyAddresses attribute.
- There could be permissions issues on the public folder store object.
- In a mixed environment and multi-site situation, the default public folder store on the Exchange 2000 Server may be pointing to an Exchange 5.5 server in another site.
Public Folder External Links:
http://blogs.technet.com/b/exchange/archive/2006/01/17/417611.aspx
http://blogs.msdn.com/b/webdav_101/archive/2012/02/28/how-to-check-for-calendar-corruption.aspx
HP Public Folder Replication Info and help :
Microsoft Exchange Server 2010 – Public Folder Replication Messages Failing in Store Driver with Event ID 1020
Issue
Migration from Exchange 2003 to Exchange 2010 and Public Folders are currently moved to Exchange 2010 PF servers.
Public folder content replication messages are failing property validation at the Exchange 2010 Hub Transport servers with Event ID 1020 MS Exchange Store Driver. These failures cause the outstanding backfill limit on the Exchange 2010 Public Folder database to be reached and the backfill process gets stuck.
Events similar to the following can be found on the Exchange 2010 HubTransport servers:
Log Name: Application Source: MSExchange Store Driver Event ID: 1020 Task Category: MSExchangeStoreDriver Level: Error Computer: EXCHHUB01.company.com Description: The store driver couldn’t deliver the public folder replication message “Folder Content Backfill Response (EXCH2003-IS@company.com)” because the following error occurred: Property validation failed. Property = [{00020329-0000-0000-c000-000000000046}:’Keywords’] Categories Error = Element 0 in the multivalue property is invalid…
Replication messages are failing due to various PropertyValidationException errors, e.g. for Email2AddrType , Categories , TotalWork and ActualWork property.
Solution
Actions recommend in solving this behavior:
- Run Isinteg -fix on the replica Public Folder database which contains the last corrupted files. And if there is any corruption, then run it multiple times until no database corruption is detected anymore.
Use: Run isinteg -s servername -fix -test alltests (choose the Public Folders when prompted)
- Offline defrag on replica PF-databases using eseutil /d .
-
Set the Replication Message Size Limit on Exchange 2003 Public Folder database from 300KB (default) to 1KB. This way there will be sent out one content change (or public folder item) per replication message. Thus if the transfer fails, only one 1KB will be dropped, not 300KB. Therefore this should ease in finding the corrupt items as well.
-
Perform the Fix-PFItems.ps1 script to resolve the last public folder issues on Exchange 2003.
-
Remove Item Level permission on the public folder items to workaround the stuck backfill process.
Use PFDAVAdmin tool:
- Open the tool PFDAVAdmin .
- Connect it to the Exchange 2003 Public folder server.
- Highlight the PF having issues.
- Right-click and select Remove item-level permissions.
-
Setting Logging Level to highest for logging the Event ID 1020 and enable Pipeline Tracing and Content Conversion Tracing to potentially isolate the problem.
-
PST-Method:
Manually identify the problem item and try to find out what is wrong with that item and fix it or copy the problem items to a .PST file and move it to Exchange 2010 server.
To identify and replicate the items which are having issues, follow the steps below:
- Set the replication message size to 1KB from E2K3 public store.
- Create a temporary sub folder to the affected folder and set the replica to both E2K3 and E2K10 server.
- From E2K10 server, move the entire content of the main folder to the sub folder.
- This change will replicate back to E2K3 as well automatically.
- That means, on the E2K3 server, all that will be left are the corrupt items that are not replicating.
- User can then copy these into a mailbox or .PST and then remove the replica on E2K3 (removing replica is optional).
- Then move the items back into the original folder from E2K10 server.
- Delete the temp sub folder.
- Copy the items from .PST or mailbox to the E2K10 folder.