Do you need every single table or can you isolate the reporting information to X number of tables? If just some of the tables, then try a data mart instead of a data warehouse. For example, if the database contains 50 tables, but you really only use 20 for reporting, just consolidate the 20. The best way I can think to do this is by recreating the tables (empty) into a sixth database...you can call it [tt][ApplicationName]_reporting[/tt].
I would choose the table which has the majority of the information and add one column to it to identify which database had the original information. For example, if you had three tables (customer, order, product) with customer being the primary (since all orders should be tied to a customer), you could do the following:
Original customer table:
[tt]
Cust_id
Cust_name
Cust_number
Cust_address1[/tt]
Consolidated customer table:
[tt][blue]
Database_id[/blue]
Cust_id
Cust_name
Cust_number
Cust_address1[/tt]
The database should have ID keys for you to reference when linking the consolidated tables. To automate the consolidation, use MSSQL DTS. Start by writing the queries to collect the information, put the queries into DTS packages, then schedule the packages. One word of caution: if consolidating among multiple servers make sure they are linked servers.
Hope this helps.
Regards,
Krickles | 1.6180