3

Does anyone know if after rebuilding the Sitecore XDB Database will Sitecore continue to update the reporting and reporting.secondary databases?

Or after perform in the rebuild will Sitecore only update the reporting database and we will have to quickly change the connection strings to point at the secondary database? If this is the case will we lose data in the secondary database because of the interval between the rebuild completing and the connection strings being changed?

Sitecore Documentation for rebuilding is here: https://doc.sitecore.net/sitecore_experience_platform/81/setting_up_and_maintaining/xdb/server_considerations/walkthrough_rebuilding_the_reporting_database

1
  • Once the rebuild has been performed, you will need to remove the connection string to the secondary database and switch it the database to the secondary. I am not sure but I think the data are stored in a queue and those get released to the database once the rebuild has completed. Commented May 30, 2018 at 15:56

1 Answer 1

1

Secondary reporting database (which is used for rebuild) also stores live data. Hence, no data is lost when the switch happens, because both databases contain the same data.

Official documentation

When you attach a secondary xDB Reporting database to the xDB Processing role, both the primary and secondary xDB Reporting database will store all live aggregation data.

Reference

Default configuration

Default configuration of aggregation/aggregationContext/interaction is:

<live type="Sitecore.Analytics.Aggregation.Data.AggregationContext">
    <ReportingTargets hint="list:AddReportingTarget">
        <primary ref="aggregation/reportingStorageProviders/primary"/>
        <secondary ref="aggregation/reportingStorageProviders/secondary.live"/>
    </ReportingTargets>
</live>

While aggregation/reportingStoragaProviders points to the same database which is used for rebuild which effectively means that data ends up in both databases.

    <secondary.live type="Sitecore.Analytics.Aggregation.SqlReportingStorageProvider, Sitecore.Analytics.Sql" singleInstance="true">
        <param desc="connectionStringName">reporting.secondary</param>
        <param desc="cutoffBehavior">StoreOnlyAfterCutOffInclusive</param>
    </secondary.live>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.