D
David F-H
I am setting up some reports that run against the ProjectServer_Reporting
database that is continually being updated. The report(s) also take input
from a summary table (CustomTable) that has been populated by a script that
uses the data from this database. The script that populates CustomTable
takes about three minutes which is too long to incorporate in the report
itself, so I want to replicate the database every half-hour on another server
and run the script to populate CustomTable based on the replicated database.
The report(s) will then run against the replicated database and CustomTable.
In this way, I will maintain integrity between the database and CustomTable.
My problem is that someone may run a report after the database has been
replicated, but before CustomTable has been re-populated which may lead to
incorrect values in the reports (as CustomTable won’t be in synch with the
replicated database).
It would be nice if it was possible to set up the replication and population
of CustomTable in one transactional step, such that it can all be committed
after the script to populate CustomTable has run, but I don’t know if this is
possible ? Or is there another way to solve this ? Note that it is not
practical to take the replicated database offline or put it in single user
mode as will be in continual use by users running reports.
Regards,
David
database that is continually being updated. The report(s) also take input
from a summary table (CustomTable) that has been populated by a script that
uses the data from this database. The script that populates CustomTable
takes about three minutes which is too long to incorporate in the report
itself, so I want to replicate the database every half-hour on another server
and run the script to populate CustomTable based on the replicated database.
The report(s) will then run against the replicated database and CustomTable.
In this way, I will maintain integrity between the database and CustomTable.
My problem is that someone may run a report after the database has been
replicated, but before CustomTable has been re-populated which may lead to
incorrect values in the reports (as CustomTable won’t be in synch with the
replicated database).
It would be nice if it was possible to set up the replication and population
of CustomTable in one transactional step, such that it can all be committed
after the script to populate CustomTable has run, but I don’t know if this is
possible ? Or is there another way to solve this ? Note that it is not
practical to take the replicated database offline or put it in single user
mode as will be in continual use by users running reports.
Regards,
David