Reporting database refresh rate...

S

shaffner

We are troubleshooting a custom report issue (SQL Server Reporting
Services using the Project Server 2007 reporting database) and
attempting to determine how and how often the Project Server 2007
reporting database is refreshed. We found the information below:

The RDB is updated in near real time (within a few minutes) from
changes in the Published database. The RDB tables are de-normalized to
make it relatively easy to create reports by using SQL Server
Reporting Services.
The RDS handles updates to the RDB with a queue and can manage
multithreaded update operations from multiple servers.

Any help or push toward more detailed documenation would be great.

Kind regards,
Steve Haffner
 
B

Ben Howard

Hi Steve,
you are spot on in your statements; there isn't much more out there, other
than the reporting DB schema in the SDK but I expect you have that already.
obviously you can check the queue to see when the information has been
successfully published the the RDB.
 
S

Sharry Heberer [MSFT]

Hopefully this will help clarify, but if you have any specific question
about specific entities, then I'd be glad to answer those specific questions
as well.

All reporting jobs go through the queue, no matter if the underlying
"trigger" went through the queue or not. That means before trying to build
yoru reports or update them, you need to make sure that the queue jobs you
care about (the reporting jobs) have completed in the queue. One thing to
keep in mind is that because reporting jobs can tend to be long-running,
they are set to a lower priority than other jobs, except for Cube Building.
This means that even if a Project Save job is placed in the queue after a
Reporting job, the Project Save job will run first.

If you need a list of what triggers exist for which entities, I can provide
that, but essentially it boils down to a create/edit/delete of some entity
that the Reporting Database cares about. When an operation that the
Reporting Database cares about occurs, that operation places a Reporting job
in the queue to be picked up later for processing.

If the main entity itself is a queued entity (like Projects, for example),
then the reporting job will not be placed into the queue until after the
main entity's job has been picked up by the queue and processed (actually,
right at the end of processing). If the main entity's job does not go
through the queue (like Resources, for example), then the reporting job will
be placed into the queue during that synchronous operation, to be picked up
later by the queue (so the Reporting job is asychronous, even if the main
entity's operation is not).

I hope this helps. Please let me know if I can help further.

Thanks,
Sharry
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top