OpsMgr might stop synchorinization of Datawarehouse Database after moving RMS

One of my customers run into a critical issue after promoting another Management Server to RMS.

The worse thing about this, you can't see any alert or any other hint that anything is wrong.

The reason we could identify was a missing instance called "Datawarehouse Synchronization Server".

Looking at this class we see all synchronization rules targeted on it.
So if no instance of this class is available no synchronization rule can run.

Unfortunately you will not see any alert because the rules will not run in general and a rule which is not intended to run can't be monitored.
(Like a monitor for a service, if the service itself doesn't exist.)

This issue affects "only" synchronized data (like Alerts, State Changes, Availability Data, new/updated MPs, ......).
Data that will be stored directly to the OperationsManagerDW database (like Performance data, Events, ....) are not affected.

Resolution:
We resolved the issue by reinstalling OpsMgr Reporting. The installation of OpsMgr Reporting created this synchronization object again.

Recommendation:
It looks like this can happen in particular circumstances.
Please check always if the "Datawarehouse Synchronization Server" exists after moving the RMS role to another Management Server.
Use the Discovered Inventory view in your OpsMgr Console and Change target Type to "Datawarehouse Synchronization Server"

Alternatively you can quickly check if your alert data becomes synchronized by running the following SQL query against DW. This shows all alerts stored or updated within the last 24 hour from DWH DB

Use OperationsManagerDW
SELECT AlertName, DWCreatedDateTime, DWLastModifiedDateTime
  FROM [OperationsManagerDW].[Alert].[vAlert]
  where (DWCreatedDateTime > DATEADD("HOUR",-24,getutcdate())) or (DWLastModifiedDateTime > DATEADD("HOUR",-24,getutcdate()))
  order by DWCreatedDateTime desc

There you should find any records added or updated after you moved the RMS ( if any alert was raised or updated after the move of course ;-)
Hint: Data in DWH are stored in UTC time!!

Important Note:
If you identified the issue you should act as soon as possible. Remember you typical keep data in you operational DB 7 days only (by default). After this time period OpsMgr will groom the data from operational DB and can't synchronize it anymore.
Otherwise you might lose historical data.