Link to home
Start Free TrialLog in
Avatar of DahliaLady
DahliaLady

asked on

Exchange 2007 Failed Hierarchy Replication for Public Folders

I had a user create a large amount of subfolders in a public folder. The parent folder's hierarchy didn't replicate so I went to try to update the hierarchy from the Public Folder Management Console. I then received the following error:
--------------------------------------------------------
Action 'Update Hierarchy' could not be performed on object 'Update Hierarchy'.

Update Hierarchy
Failed
Error:
Cannot start hierarchy replication on public folder database 'S-300\Second Storage Group\Public Folder Database'.

MapiExceptionNoReplicaAvailable: StartHierachyReplication failed. (hr=0x80004005, ec=1129)
Diagnostic context:
    Lid: 1494    ---- Remote Context Beg ----
    Lid: 31229   Error: 0x0
    Lid: 9206    StoreEc: 0xFFFFF9BF
    Lid: 19865   StoreEc: 0x469    
    Lid: 27225   StoreEc: 0x469    
    Lid: 1750    ---- Remote Context End ----
    Lid: 26322   StoreEc: 0x469    
--------------------------------------------------------

What can I do to resolve this issue?
Exchange 2007 is running off a Small Business Server 2008 box if that helps.
Thank you for any and all help.
Avatar of Jarred Power
Jarred Power
Flag of United States of America image

Check to see if the Public folder DB is mounted.  Have you recently migrated from exchange 2003?
Hi DahliaLady,

Has this always been a single exchange 2007 server environment or, as jpower5000 asked, have you migrated to 2007 from an earlier exchange version?
Avatar of DahliaLady
DahliaLady

ASKER

Sorry for the delay!
I migrated from SBS2003 at the end of 2010. During the migration I went from Exchange 2003 to 2007. The Public Folder DB is mounted.

Thank you jpower5000 & heeneemo.
You're welcome, DahliaLady.

OK, one question, when you were migrating from Exchange 2003 to 2007, one of the last steps before removing 2003 from the environment was to create a new public folder container under the Exchange 2007 group and drag-and-drop the "public folders" item from the 2003 group to the 2007 group.  This had to be done using the Exchange 2003 ESM.  This basically moved the public folder hierarchy from 2003 to 2007.

Do you remember doing this step?
Yes, I remember doing this.
Well in the error it states "no replica available" in the line:

"MapiExceptionNoReplicaAvailable: StartHierachyReplication failed. (hr=0x80004005, ec=1129)"

Run this following commands in exchange PS:

Get-PublicFolder -recurse |fl name,replicas
Get-PublicFolder -recurse \non_ipm_subtree |fl name,*rep*
Get-PublicFolder “\non_ipm_subtree\schedule+ free busy” –recurse |fl name,*rep*

This will list all of your public folders (and system folders) and their replicas.  At the very least, all public folders need at least one replica, in this case, your one and only 2007 server.  This is normal and by design; In single server environments, the one and only server holds a replica.

When running those commands and in the list of your public folders the "replicas" line item is showing empty (in PS it looks like "{ }"), then we need to run another set of commands to add your server as a replica:

.\AddReplicaToPFRecursive.ps1 -TopPublicFolder "\NON_IPM_SUBTREE\SCHEDULE+ FREE BUSY" -ServerToAdd "EX 2007 Server" (System Folders)

.\AddReplicaToPFRecursive.ps1 -TopPublicFolder "\NON_IPM_SUBTREE" -ServerToAdd "EX 2007 Server" (System Folders)

.\AddReplicaToPFRecursive.ps1 -TopPublicFolder "\" -ServerToAdd "EX 2007 Server" (Public Folders).

Then you can run those initial commands again to see if now your server lists as a replica.  Then try synchronizing hierarchy and see if you get the error.

Hopefully this helps.
I'm going to need to run the add commands after work hours so there will be a bit of a delay before I report success or not.

Unfortunately I'm not that familiar with the PS but I have run the first three you have listed.

When I run the first command it shows {Public Folder Database} none are showing as {}. I did get an error about an Object in a folder that is corrupted and in an inconsistent state.

When I run the second command it shows most Replicas as {Public Folder Database}. The ones that show {} for Replicas are:
NON_IMP_SUBTREE
EFORMS REGISTRY
OFFLINE ADDRESS BOOK
SCHEDULE+ FREE BUSY
However, all listed have {} showing in the ReplicationSchedule.

When I run the third command SCHEDULE+ FREE BUSY shows as {} while the rest show as {Public Folder Database}.

I have not run the follow up commands to add the server as the replica yet. Do I need to be concerned with the fact that there is a corrupted object? Also should my actual server be showing instead of Public Folder Database?
Hi DahliaLady,

Can you post the screenshot of the first error you got when running the first command?

My mistake, you're correct.  You should see the Public Folder Database on the E2k7 server listed in the { } and not the server name.
Is the message you're getting similair to what is being described here?:

http://exchangeserverpro.com/exchange-2007-2010-public-folder-store-inconsistent-state
No, I've attached a file with the exact error message.
Get-PF-1stError.JPG
SOLUTION
Avatar of Michael Rodríguez
Michael Rodríguez
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks heeneemo, that resolved that error. Now all show as shows {Public Folder Database} none are showing as {} on the Get-PublicFolder -recurse |fl name,replicas command.
Great!

I've attached a screenshot, but double check something for me in ADSIEDIT.  Drill down to the old Exchange 2003 Administrative group and verify two things:

1.)  The folder CN=Folder Hierarchies is empty
2.)  If there is a CN=Servers folder, verify that it's empty.

Then while you're at it in ADSIEDIT, double check that the CN=Folder Hierarchies folder under the Exchange 2007 administrative group is populated with CN=PublicFolders.
ADSIedit.jpg
You know what?  I'm getting the same error on an exchange 2007 server that was a fresh install of exchange (no previous versions).  I also get the same error on my exchange 2010 server (which was migrated from 2003 and 2007).

I'm starting to think that multiple public folder databases have to exist in order for "update public folder hierarchy" to work.

I'm trying to find info to support my theory.
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
heeneemo, thank you for clarifying that error was due to only one server. Also thanks for helping me clean up the other error.

If it's not too much trouble could you answer a quick question? I need to add a user to a public folder and all its subfolders. Is there a command I can use in PS to add the user to a public folder with the same permissions for each one? Ex. the public is Marketing and subfolders are Ads, PressReleases.
You're welcome and this command should do the trick:

Add-PublicFolderAdministrativePermission -Identity "\Marketing" -User "UserName" -AccessRights AllExtendedRights -Inheritance SelfAndChildren

Hope that helps.
Thank you so much for all your help!
You have been wonderful to work with.

Enjoy,
DahliaLady
Great!  You're welcome and likewise :)

Take care!